🎓 CoursesMarkets & internationalAdvanced⏱ 60 min

Integrating an instant payment rail. 6 chapters and a final quiz.

The engineering work behind account-to-account collection on your market's rail: choosing between push and request to pay, resolving an alias without hitting the wrong account, building an idempotent notification consumer, reconciling a credit to the second, refunding on a rail with no chargebacks, and classifying failures so you never pay twice.

Chapter 1. Push or request to pay: choosing the initiation model.

An instant rail has no authorization and no capture: the payment either goes or it doesn't. With no intermediate step, the design must settle up front who triggers the payment. In the push model, the payer initiates from their banking app and the payee learns of the credit after the fact. In the request to pay model, the payee sends a request that the payer approves. The code differs, the reconciliation differs, and so does the abandonment rate.

ModelWho triggers itWhat the payee receivesLeading rails
Free-form pushThe payer, from their banking appAn unannounced credit, matched after the factSCT Inst, FedNow Service, RTP network, SPEI, Faster Payments Service
QR-initiated pushThe payer scans a code generated by the payeeA credit carrying the reference encoded in the QR codePix (EMVCo QR), PromptPay (Thai QR Payment, EMV QRCPS merchant-presented mode), DuitNow QR
Request to payThe payee, who sends the request to the payerAn accept or decline response, then a separate creditRTP network and FedNow Service (pain.013 / pain.014), SEPA Request-to-Pay, UPI collect request
Recurring mandateThe payee, under a mandate the payer authorized in advanceA credit on the due date, with no action from the payerPix Automático (Brazil, since June 16, 2025), PayTo (Australia, 2022), Variable Recurring Payments (UK)
The four initiation models in live use, and the rails that support them
A request to pay, seen from the payee's system
Payee's system
Creates the request
Amount, order reference, expiry date. The end-to-end ID is set here and nowhere else
Payee's PSP
Sends the request over the rail
`pain.013` on the RTP network and the FedNow Service; collect request on UPI; dynamic cobrança on Pix
Payer's PSP
Displays the request in the app
The payer sees the requester's name, the amount, and the reference, without typing anything
Payer
Approves, declines, or lets it expire
Three outcomes, not two. Silent expiry is the case testing most often misses
Payer's PSP
Responds, then pushes the payment
The `pain.014` carries the response. The `pacs.008` that follows is a separate transaction with its own outcome
Payee's system
Matches the response to the credit
Two events to correlate. An acceptance without a credit is still just a receivable
⚠️
An acceptance is not a payment received
A positive pain.014 means the payer consented, not that the money arrived. In between, the payment can still be rejected for insufficient funds, an exceeded limit, or a closed account. An integration that releases the order on the request-to-pay response is extending credit without knowing it. The trigger is the confirmed credit, never the intent.
  • Remote sales with a shopping cart: request to pay or a dynamic QR code, so the order reference travels with the payment
  • In-store payments: a merchant-presented QR code, or a contactless tap where the rail supports it (Pix por Aproximação in Brazil)
  • B2B invoices: request to pay, the only model that carries the due date and amount without rekeying
  • Payouts (refunds, payroll, claims): pure push; the business becomes the payer and the rail works like an ordinary credit transfer
  • Subscriptions: a recurring mandate, with authorization and revocation rules specific to each market

One question decides the model: does the payee know the amount before the payment? If so, a request to pay or a dynamic QR code removes manual entry, and with it wrong amounts and lost references. If not (a donation, a top-up, a partial payment), free-form push is the only option, and the integration must match unexpected credits to open receivables, a problem covered in chapter 4.

🎯 Quick question
On the RTP network, your system receives a positive pain.014. What can you conclude?