Payment rails use different approval models
"Approved" means different things on different rails, and conflating them is how reconciliation breaks. Card authorization is a real-time promise from the issuer that funds are reserved. An ACH acceptance is an acknowledgment that a file was received in good order, with no funds guarantee attached.
Instant payment rails sit at the third pole. Payments over the FedNow Service are final and irrevocable once settled, per the Federal Reserve Board's 2020 service details notice, with interbank settlement occurring in seconds.
So the three rails distribute risk in incompatible ways. Cards give you a reversible promise and ACH gives you an unreliable acceptance you can claw back, while instant payments give you certainty you can never undo. Any platform supporting more than one rail needs separate post-approval handling per rail, because a single "payment succeeded" event abstracts away the exact property your finance team depends on.
Card payments receive real-time authorization
A card authorization travels from the merchant through the gateway and acquirer to the network and issuer, then back, in under a second. The issuer returns an approval code and places a hold against available funds. Nothing has moved yet.
Declines split into two classes that demand opposite responses. Hard declines like lost card or closed account are permanent. Soft declines are temporary, and the same card can succeed on a fresh attempt. Recurly found smart retries alone recover roughly 53% of soft declines.
Half your soft declines are recoverable revenue that most systems throw away because the response code never gets parsed past "failed." If you're logging declines as a single boolean, you've discarded the only field that distinguishes a customer who'll pay in three days from one who never will. Store the raw code.
Account payments follow rail-specific rules
Account-based rails replace real-time issuer authorization with consent, and each rail defines consent differently. Under the UK Open Banking specification, a payment initiation service provider creates a payment-order consent at the account provider and redirects the customer to authenticate. It then calls a separate funds confirmation endpoint for one-off payments.
ACH does none of that. The debit is submitted on the strength of a stored authorization, and rejection arrives days later as a return code. Unauthorized return codes R05 and R07 are in the cap along with R10 and R29, and R51 is in it as well. Nacha caps the unauthorized return rate at 0.5% of debits originated, and a 15% ceiling applies to overall returns.
That threshold is an operational constraint disguised as a compliance rule. Since returns land after you've delivered goods, an ACH program needs its own pre-submission screening to keep the ratio under control, which is a fraud function you'd otherwise assume the rail provided.
Real scenarios reveal the deciding system
Match the symptom to the system, and most mystery declines stop being mysteries.
Here's how the common ones resolve:
-
Insufficient funds returns code 51 from the issuer's core banking layer, and the balance check failed after existing holds were deducted.
-
Suspicious cross-border spending gets stopped by issuer fraud scoring or network-side analytics before any balance is checked.
-
A 3DS soft decline is the issuer refusing an SCA exemption request.
-
An ACH debit accepted on day one and returned on day four was never approved by anything, because acceptance and authorization aren't the same event on that rail.
Issuer outages produce the strangest case. Visa converts response codes 91 and 96 to code N0 under forced single-request Stand-In Processing, so the network decides using issuer-configured parameters rather than live account data.
Which means a stand-in approval can exceed a balance the network couldn't see. Treat N0 traffic as a distinct risk population in your reconciliation, because those authorizations were made against stale limits.
Approval does not guarantee settlement
Authorization confirms permission at a single moment. It doesn't move money, and four later stages can still stop you from keeping it, from capture and clearing through settlement to the dispute window that stays open for months.
Miss the capture window and the authorization expires. Most card networks require clearing within roughly 7 days of authorization, after which the hold releases and the transaction fails to clear even though the customer saw a pending charge.
Disputes are the longer tail. Mastercard and Datos Insights project global chargeback volume rising from 261 million in 2025 to 324 million by 2028, with North America growing 16% across that span.
Set against a card approval rate near 80% on card-not-present traffic, that dispute growth reframes what authorization optimization is worth. Squeezing another point of approvals delivers nothing if those marginal transactions come back as disputes six months later. Measure net retained revenue by cohort.
Build stronger payment decisioning with EGS
Fixing a decline problem starts with instrumenting the handoffs between the systems described above, because that's where attribution is lost. EGS builds and modernizes the components in that chain: authorization engines and core banking integrations, plus fraud controls and hardware security module (HSM) supported cryptographic infrastructure for multi-rail financial platforms.
The work begins with a specific question rather than a full rebuild. Which system produced last quarter's declines. Whether your engine can parallelize risk and balance checks inside the network's response window. How to run card and account rails through one decisioning layer without collapsing their different guarantees into a single misleading status.
Book a call with the EGS team to walk through your current authorization flow and identify where the logic can be improved.