Bank and Foreign Exchange Payments

Bank rails do not share one success contract. ACH processes file-based credits and debits with later returns, UPI routes instant account-to-account instructions through participating banks, SWIFT carries financial messages rather than settling them, and foreign exchange adds quote and liquidity legs. Model each rail’s acknowledgement, posting, settlement, return, and reconciliation evidence explicitly.

The industry map is a scope check. Regulatory authorities, central banks, commercial banks, non-bank providers, clearing networks, and settlement systems vary by market. A generic PaymentProvider adapter can normalize transport details, but it must not erase rail-specific failure states.

ACH Batch Clearing

ACH moves U.S. credit and debit entries through an originator, an Originating Depository Financial Institution, an ACH Operator, and a Receiving Depository Financial Institution. Files are validated and processed in network windows; settlement and account posting follow network rules. Same Day ACH adds faster windows, not an atomic request-response guarantee.

Track SUBMITTED, OPERATOR_ACCEPTED, SETTLEMENT_PENDING, POSTED, RETURN_PENDING, RETURNED, and RECONCILED. Reconcile file control totals, trace numbers, settlement dates, and bank postings. The source image with fixed overnight times and “next-day system” framing remains rejected because current schedules and exception paths are more nuanced.

UPI Routing and Posting

UPI is an interoperable instant-payment system operated by NPCI. A payment app or PSP resolves a Virtual Payment Address, routes through participating banks and NPCI, obtains payer authorization, and receives a transaction response. Address resolution, authentication, switch routing, debit posting, credit posting, acknowledgement, disputes, reconciliation, and participant settlement are different records.

Bind the NPCI or bank reference to the internal intent. An ambiguous timeout follows UNKNOWN -> query -> reconcile, and duplicate callbacks pass through idempotent transitions. The source image remains rejected because it depicts NPCI as directly mutating bank accounts and collapses bank posting with settlement.

SWIFT Messaging Is Not Settlement

SWIFT validates and transports standardized financial messages and reports. Store-and-forward delivery and network acknowledgements prove facts about the message path. They do not prove that the receiver accepted the business instruction, posted a customer account, or completed clearing and settlement.

Persist the instruction ID, sender, receiver, message type and version, network acknowledgement, business status, settlement reference, and reconciliation result. A negative acknowledgement can be corrected and retried. A positive network acknowledgement without business confirmation is an exception, not payment success. ISO 20022 defines messages across initiation, clearing, settlement, and cash management; the business process determines which evidence closes which state.

Foreign Exchange and Liquidity

Cross-currency payments carry at least presentment, conversion, and settlement amounts. Record the quote ID, source and destination currencies, rate, fee, expiration, rounding rule, and who bears slippage. Reject or requote after expiry; silently using a new rate changes the customer’s contract.

Suppose a provider prefunds USD and EUR accounts, collects 100.00 USD, locks 0.88 EUR per USD, and posts an 88.00 EUR payable. Collection, conversion, inventory transfer, and recipient settlement each need their own status and journal. If collection succeeds but conversion or payout fails, retain the collected liability and expose a recoverable state; do not mark the whole payment failed and forget held funds.

Multi-currency settlement avoids conversion when presentment and configured settlement currencies match. It costs more bank accounts, liquidity management, and reconciliation per currency. Automatic conversion reduces that operational surface but makes rate, fee, expiry, and rounding evidence part of every transaction.

References