Distinguish and handle SEPA Credit Transfer return (RTRN) versus reject (RJCT) messages in payment processing

domain: europeanpaymentscouncil.eu · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Understand the distinction: a RJCT (reject) is issued before the payment is settled (typically same day) because the payment fails validation; a RTRN (return) is issued after settlement when the beneficiary bank cannot apply the funds.
  2. Parse the XML pain.002 CustomerPaymentStatusReport for RJCT messages — extract the 'ReasonCode' element to determine the rejection reason (e.g., AC01 for incorrect account number, AM04 for insufficient funds).
  3. For RTRN messages (received in a pacs.004 PaymentReturn message), extract the return reason code and the original transaction reference to match against your payment ledger.
  4. On RJCT, the payment has not left your account — reverse the debit in your ledger and notify the sender immediately; funds are not at risk.
  5. On RTRN, the payment has settled and been returned; reconcile the returned credit to your account and update the payment record status; notify the originating party.
  6. Map ISO 20022 return reason codes to human-readable descriptions for customer notification; maintain a lookup table of the codes relevant to your payment types.

Known gotchas

Related routes

Distinguish and handle RTP credit transfer versus RTP Request for Payment message types in a TCH RTP integration
theclearinghouse.org · 5 steps · unrated
Originate a SEPA Instant Credit Transfer (SCT Inst) via a payment API and handle reject and timeout scenarios
payment-rails/SEPA · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans