Acquiring Processing Switch
Terminals · E-commerce · ISO 8583
Two edges in. One issuer out.
Nothing lost in between.
bRUID BAPS is the acquiring switch at the centre of the estate. POS terminals sign on to one edge, card-not-present traffic from bRUID wGate arrives on the other, and both are authorized against the issuer over ISO 8583. An advice that cannot be delivered is held in store-and-forward rather than dropped, and every message is checked against a compound key so a retried transaction is answered - never authorized twice.
Validate · de-duplicate · route · log
POS terminals & e-commerce, one pipeline
Configurable acquirer dialects
Latency reported at the tail, not the mean
A card present at a terminal and a card entered on a checkout page reach the issuer through the same validation, de-duplication, routing and logging pipeline. Held to identical rules, they produce identical evidence.
A persistent link per terminal, speaking the acquirer host dialect. Sign-on, echo and sign-off are handled as first-class network management, so a half-open link is found by echo rather than by the next real payment failing.
A request/response service that bRUID wGate submits card-not-present payments to. The contract is explicit about the one thing that matters most: when the switch cannot say what happened, it says so, rather than guessing at a decline.
Seven steps, in order, for both edges. Each one either passes the message on or stops it with a reason that is written down.
Parse the message against the packager for that edge and reject anything malformed before it can touch state.
Required fields, amounts, currency and terminal identity checked against the estate.
Match on message type, terminal, trace, transmission time and amount together.
Select the destination for that terminal or merchant and fail fast if it is down.
Translate to the issuer dialect, send, and wait with a bounded timeout.
Map the issuer answer back to the edge’s own response codes and reply.
Write the transaction log with masked card data, elapsed time and outcome.
If the advice could not be delivered, it goes to store-and-forward instead of being dropped.
An advice tells the issuer something already happened. If it cannot be delivered and is dropped, the two sides disagree about the world - and nobody finds out until reconciliation. BAPS queues it instead.
An advice is abandoned only on an operator decision, and abandoning it stops the retry loop without fabricating anything downstream.
A terminal that does not hear back retries. Matching on the trace number alone is not enough: it wraps within a busy day, and that is exactly how a switch charges the same purchase twice. BAPS matches on five fields together.
The original answer is replayed. The issuer is never asked a second time, and the cardholder is never charged a second time.
A reversal is matched using the original message key, not the fields the reversal happens to carry. A void releases exactly what was held; a refund is treated as what it is, a new credit with its own identity.
Card numbers are masked at every log listener and the transaction log stores masked values only. Log realms that would render a full message dump are disabled outright - masking that depends on remembering to mask is not masking.
Message formats are defined in configuration rather than code, so supporting a new acquirer host is a packager and a routing entry, not a fork of the switch.
Sign-on, echo and sign-off across the terminal estate, with a live view of what is connected and how it routes. Echo is the half-open detector so a dead link is found before a payment finds it.
Average, p95, p99 and worst round-trip side by side. An average hides exactly the tail that hurts: a fast mean with a slow p99 is a switch that is timing out on someone.
Transaction search across both edges, the store-and-forward queue, the terminal and merchant estate, and the response-code mix. Read-only apart from abandoning an advice that will never deliver.
Every message runs through an ordered chain of participants. Each does one thing and can stop the chain with a reason, so behaviour is composed rather than buried in a single handler.
Per-edge wire handling
Field-level message format
Ordered participant chain
Field and estate checks
Compound-key matching
Destination selection
Bounded-timeout requests
Backoff retry loop
Masked, queryable record
Liveness and latency
Built for the part of the estate that never stops taking traffic.
Enforced at the log layer
bRUID Kms managed
Every operator action logged
A dead destination is refused
Terminals and e-commerce on one platform, with the reliability controls that decide whether reconciliation is a formality or an investigation.