Reference🛠️ Merchant setupAdvanced⏱ 16 min read

🧭 Payment routing and optimization

Multi-acquiring, smart routing, cascading, and orchestrators: how high-volume merchants turn acceptance into a data-driven engineering discipline.

Why multi-acquiring

In multi-acquiring, a merchant signs with several acquirers and splits its traffic among them. A single acquirer is a single point of failure. Four scenarios show why: a technical outage, approval rates drifting on one corridor, a price increase the merchant cannot refuse, and a unilateral decision to de-risk a whole sector. Even top-tier providers have suffered outages lasting several hours. Above a certain volume (about €10 million to €20 million a year online), multi-acquiring is no longer a nice-to-have. It becomes both insurance against downtime and a performance lever.

2–6 pts
gap in auth rate observed between two acquirers on the same traffic, with the same mix
Comparative POCs at European merchants
1–3 pts
gained by routing cards to domestic rather than cross-border acquiring
Orchestrator benchmarks
99,9 %
availability still means about 8.8 hours of downtime a year, which failover has to cover
SLA arithmetic
🛡️
Resilience
Automatic failover when an acquirer goes down. The customer never sees the incident, instead of the merchant losing 100% of revenue for the length of the outage.
📈
Approval rates
Each acquirer has its strengths (corridors, issuers, card brands). Routing sends each transaction where it is most likely to be approved.
💰
Costs
Per-transaction arbitrage between price lists. Local acquiring means domestic interchange and scheme fees, with no cross-border surcharges.
⚖️
Negotiating leverage
Volume that can be moved within hours completely changes the dynamics of annual pricing negotiations.
⚠️
Multi-acquiring comes with a fixed cost
Multi-acquiring means managing two contracts (KYB, collateral, minimum billing), two reconciliations, two reporting formats, and token synchronization. Below about €10 million in volume, the expected gain rarely justifies that complexity. The optimizations available with a single acquirer (data, 3DS, network tokens) cost a tenth as much. Exhaust them before signing a second contract.

Smart routing: sending each transaction to the right place

Smart routing dynamically picks, for each transaction, the acquirer, the credential, and the exemption request that maximize an objective function, usually the probability of approval net of costs. The standard decision criteria, in order of impact, are as follows.

A payment attemptone token, one amount, one currencyRouting engineit decides before sendingMeasured criteriaapproval rate observed per BINcost of the routelive link healthCircuit breakererrors > thresholdroute disabled for N minutesprobe retryAcquirer Adomestic, highest approval rateAcquirer Bsecond connection, another countryAcquirer Cspecialist fallbackselected routecascadecascadeThe cascade only kicks in on a technical declineretryable: 91 · 96never: 04 · 14 · 41 · 43 · 46cap of 15 attempts / 30 daysA hard decline is never retried: only a technical failure justifies trying another route.
  • BIN / issuing country: route to the acquirer that processes this corridor domestically;
  • Card brand (CB, Visa, Mastercard, Amex): acquirers differ in their licenses and their performance by scheme. On co-badged cards, choosing Cartes Bancaires (CB), France's domestic scheme, or Visa/Mastercard is itself a routing decision (the merchant sets the default brand, and the customer can change it);
  • Currency: avoid FX conversion entirely by settling in the presentment currency;
  • Debit vs. credit, card tier: different performance and different costs;
  • Auth rate history by (acquirer × BIN × amount band), recalculated continuously;
  • Marginal cost: interchange + scheme fees + acquirer margin on each route;
  • Real-time health: latency and technical error rate on each route (circuit breaker).
Simplified routing table (annotated pseudo-configuration)
routing_rules:
  - name: french-cards-cb
    match: { bin_country: FR, brand: [CB, VISA, MC] }
    route: acquirer_fr             # domestic acquiring, CB brand if co-badged
    fallback: acquirer_paneuro

  - name: uk-cards
    match: { bin_country: GB, currency: GBP }
    route: acquirer_uk             # UK entity -> domestic post-Brexit
    fallback: acquirer_paneuro

  - name: large-credit-orders
    match: { amount_gte: 50000, card_type: credit }   # cents
    route: best_auth_rate          # model-based: auth rate observed by BIN
    exemption: none                # always 3DS above 500 EUR (TRA not allowed)

  - name: small-domestic-orders
    match: { bin_country: FR, amount_lt: 3000 }
    route: acquirer_fr
    exemption: tra                 # acquirer TRA, soft-decline loop enabled

  - name: default
    route: acquirer_paneuro
    exemption: none

health_checks:
  error_rate_5m_max: 0.05          # above 5% technical errors over 5 min,
  action: failover                 # the route is pulled from the pool (circuit breaker)
🔑
The most profitable routing is often the most boring
The first routing lever is to process domestically wherever possible, before reaching for machine learning. Local acquiring, local currency, and a local entity together eliminate cross-border surcharges and add 1 to 3 points of approval rate. Model-based routing comes second. It decides between routes when several equivalent domestic options exist.

Cascading and failover

Failover automatically switches traffic to a backup route when the primary route stops responding. If the primary route is down (timeouts, 5xx errors, response code 91), the transaction moves to the secondary route with no manual intervention. Cascading (or cross-acquirer retry) covers a different case. After an issuer decline on route A, the transaction is resubmitted through route B. This works because the same issuer may respond differently depending on the acquirer submitting the transaction: the MID's reputation, domestic versus international channels, and the data in the message all play a part.

Cascading after a technical decline
Customer
Pays €64.90
Standard checkout
Orchestrator
Routes to acquirer A
Primary route (domestic)
Acquirer A
Returns code 91
Issuer unreachable through this route
Orchestrator
Resubmits through acquirer B
In under 2 seconds, invisible to the customer
Issuer
Approves (00)
The sale is saved; the incident is logged for monitoring
  • Cascade only technical declines (91, timeouts) and, sparingly, generic declines (05), never hard declines (41, 43, 54, 57, MAC 03): scheme resubmission rules apply across acquirers, not per acquirer;
  • Count attempts globally (card × merchant), across all acquirers, to stay within Visa and Mastercard retry limits;
  • Limit the depth: one cascade (2 attempts) captures most of the gain; beyond that, cost and latency outweigh the benefit;
  • Measure the net gain: cascade recovery rate − extra authorization fees − higher risk of double charging.
⚠️
The double-authorization trap
A timeout means no response, not a decline. The first authorization may have gone through at the issuer without the response making it back to the merchant. An unchecked cascade then puts two holds (or even two charges) on the customer's account, leading to customer service calls and chargebacks. There are three safeguards. The first is setting idempotency keys on each attempt. The second is querying the transaction status before resubmitting, when the API allows it. The third is always reversing the first authorization as soon as the second one is approved.

Payment orchestrators

A payment orchestrator is an abstraction layer that sits on top of PSPs and acquirers. The merchant integrates once. Behind that integration, the orchestrator provides connections to multiple providers, a provider-agnostic token vault, the routing and cascading engine, multi-provider 3DS, and unified reconciliation. The market includes independent specialists (Primer, Gr4vy, ProcessOut/Checkout.com, Payrails, CellPoint Digital, and others). Large PSPs also sell “orchestration” products, where the provider making routing decisions is also one of the places the traffic can go.

CriterionSingle PSPOrchestrator (buy)In-house orchestration (build)
Upfront costNoneSetup + 1–3 cents or 0.1–0.3% per transactionDedicated team: €500K–€2M a year
Time to go multi-acquirer–Weeks12–24 months
Control over routingNone (the PSP decides)Configurable, shared dataFull
Token portabilityLow (PSP's vault)Good (agnostic vault + network tokens)Full
Lock-inHighShifted to the orchestrator (assess carefully!)None, but in-house technical debt
Best fitUnder €10M in volume€10M–€1B, internationalOver €500M–€1B, payments as core business
Single PSP vs. orchestrator (buy) vs. in-house orchestration (build)
  • Agnostic vault: credentials (encrypted PANs, network tokens) sit in a layer independent of the PSPs, which is what makes switching possible;
  • Normalization: response codes, webhooks, and settlement formats standardized across providers;
  • Routing console: rules can be changed without a deployment, with built-in A/B testing;
  • Multi-PSP reconciliation: settlement files aggregated, with automatic matching from transaction to bank payout.
ℹ️
Orchestration moves lock-in; it doesn't remove it
Vet an orchestrator on the same points as a PSP: where the tokens are stored, how migration works if you leave, and the SLAs on the critical path. An orchestrator adds a network hop to every payment. When it goes down, every acquirer becomes unreachable at once, whereas an acquirer outage affects only that one acquirer.

Monitoring, A/B testing, and KPIs

Payment performance monitoring means continuously tracking authorization, authentication, dispute, and cost metrics, measured on homogeneous segments rather than in aggregate. Issuer and route performance drifts all the time, with scoring updates, incidents, and seasonal fraud patterns. Managing it relies on segmented monitoring and controlled experiments. A single, overall approval rate blends populations too different to reveal what caused a change.

KPIMinimum granularityIndicative target (EU e-commerce)Alert if
Net auth rateacquirer × BIN country × brand × debit/creditOver 90% domestic, over 82% cross-border−2 pts vs. 7-day rolling average
3DS frictionless rateissuer (top 20) × channel> 65 %−5 pts at a top-10 issuer
Soft decline recovery rateissuer × exemption requested> 60 %Under 40% (broken 3DS loop?)
Challenge abandonment rateACS/issuer × device< 10 %Over 15% (degraded ACS)
Technical error rateroute/acquirer, 5-minute window< 0,5 %Over 5% → circuit breaker
Chargeback rateMID × reason codeUnder 0.2% by countOver 0.65% (early warning, well below Visa's VAMP threshold: 1.5% since April 2026, fraud and disputes combined)
Cost per approved transactionroute × card typeDepends on mixDrift over 10% at constant mix
p95 authorization latencyrouteUnder 3 s end to endOver 5 s (abandonment rising)
Approval KPIs to track, with indicative granularity and alert thresholds
Monitoring query: auth rate by issuer, drift detection (annotated SQL)
-- Auth rate, last 7 days vs previous 7, by issuer (highest volume)
WITH stats AS (
  SELECT
    issuer_name,
    bin_country,
    COUNT(*) FILTER (WHERE created_at >= now() - interval '7 days')          AS tx_7d,
    AVG(CASE WHEN approved THEN 1.0 ELSE 0 END)
        FILTER (WHERE created_at >= now() - interval '7 days')               AS ar_7d,
    AVG(CASE WHEN approved THEN 1.0 ELSE 0 END)
        FILTER (WHERE created_at >= now() - interval '14 days'
                  AND created_at <  now() - interval '7 days')               AS ar_prev
  FROM authorizations
  WHERE created_at >= now() - interval '14 days'
    AND is_retry = false                     -- NET auth rate: first attempts only
  GROUP BY issuer_name, bin_country
)
SELECT issuer_name, bin_country, tx_7d,
       round(ar_7d  * 100, 1) AS auth_rate_7d,
       round(ar_prev * 100, 1) AS auth_rate_prev,
       round((ar_7d - ar_prev) * 100, 1) AS delta_pts
FROM stats
WHERE tx_7d > 500                            -- minimum sample size
  AND (ar_7d - ar_prev) < -0.02              -- alert: drop > 2 pts
ORDER BY tx_7d DESC;
-- A drop at ONE issuer only = a problem at that issuer or with it
-- (new scoring model, ACS incident). A drop everywhere = a route problem.
  • Randomize per transaction (not per day) to cancel out day-of-week effects;
  • Segment the analysis by BIN country × brand × amount band, because an overall uplift can hide a regression in one segment;
  • Sample size: detecting a 1-point gain on an auth rate of about 88% takes several tens of thousands of transactions per arm;
  • Measure net margin (including fraud and costs), not just auth rate;
  • Every new route goes through a canary release at 5–10% of traffic before full rollout.
ℹ️
Issuer concentration narrows the scope of analysis
On French traffic, about ten issuing banking groups account for most card volume. A detailed audit of that top 10 (auth rate, frictionless rate, soft declines, decline reasons) therefore covers the vast majority of volume. Optimizing approvals is a more concentrated problem than it looks.

The hidden costs of acceptance

Total cost of acceptance (TCA) covers every charge a merchant pays to accept card payments. The negotiated fee rate is only part of it. The other, less visible items include currency conversion, fees on declined transactions, behavioral scheme fees, and dispute handling costs. At high volume, these items often cost more than the acquirer margin itself.

ItemMechanismTypical rangeLever
FX / multi-currency settlementFX markup on conversion from the sale currency to the settlement currency0.5%–2% of amounts convertedSettle in the sale currency (multi-currency accounts), local acquiring
Authorization fees on declinesEvery request is billed, even if declined (fixed fees + scheme fees)0.5–3 cents × each decline and retrySmart retries, pre-validation (BIN lookup, Luhn check, expiry date)
Behavioral scheme feesExcessive retries, integrity fees (missing data), inquiries€0.05–€0.25 per violationCompliant messages, retry limits respected
Per-call gateway feesBilling per API call (auth + capture + void = 3 calls)1–3 cents per callCombined auth and capture when fulfillment allows
ChargebacksCase fees + handling time + lost goods€15–€50 per case, excluding goodsPrevention (descriptor, CE 3.0, Rapid Dispute Resolution), tooling for representment
PCI non-complianceMonthly non-compliance fees charged by the acquirer€20–€100 per month per MIDUp-to-date SAQ; architecture that takes the PAN out of scope
Poorly managed DCCDynamic currency conversion: looks convenient, but the rate is unfavorable to the customer2–4% markup shared, but churn and “amount disputed” chargebacksTurn on only after careful review, never by default
Hidden costs: what they are, how big they are, how to cut them
Salesorders / tillsPSPsettlement reportBanknet payoutStatementsbank statementsEnginereconciliationMT940camt.053CFONB120Matchingn transactions ↔ 1 payoutExceptionsfees · chargebacks · timingERP / Accountingautomatic cash applicationmatchingbreaksadjustment

Reconciliation is what surfaces these costs. It means matching each transaction to its net bank payout, line by line, using the acquirer's settlement files. That exposes the actual charges: the FX rate applied, itemized scheme fees, reserve holdbacks, and chargeback debits. Reconciliation done only in aggregate reveals cost drift 6 months late.

0,2 % / 0,3 %
EEA interchange caps (consumer debit/credit), the fixed floor of card costs
IFR, Regulation (EU) 2015/751
15-25 %
share of scheme fees in a typical European merchant's total card costs, and rising steadily
Acquirer studies / EuroCommerce
×2–3
full cost of a chargeback relative to the disputed amount (fees + handling + goods)
Industry estimates
🔑
Optimizing cost per approved transaction
The metric to manage is total cost per approved transaction: (all fees combined) ÷ (approved transactions). It automatically captures declines, retries, disputes, and FX, which the headline MSC and per-transaction cost leave out. That makes providers with incompatible price lists comparable. Calculated by corridor, it drives routing decisions.