Exception handling

NextGenPSD2 XS2A Framework

Rejection: reading a pacs.002 RJCT

A payment refused before settlement. The reason code tells you whether to retry, fix data, or stop entirely.

Why read this

The reject taxonomy is the most useful thing to internalise in payments. AC01 is a data bug you can fix; AM04 is a customer problem; MS03 tells you nothing on purpose.

Try in live showcase

Technical view of SEPA Credit Transfer

Messages · pacs.008 → pacs.002

rejectionreason codepacs.002exception

Transaction flow

TPPProviderASPSPBankCSMClearingCreditorBank01 pacs.008 submitted01 pacs.00802 pacs.002 — TxSts RJCT, Rsn AC0102 pacs.00203 Reject relayed, funds released03 pacs.00204 TPP sees RJCT04 GET
TPP: ProviderASPSP: BankCSM: ClearingCreditor: Bank
API hop Clearing hopClick a tag on an arrow (pacs.008, …) for info, usage and sample
Messages
01

pacs.008 submitted

Clearing layer

Nothing looks wrong yet — the debtor bank accepted the instruction.

aspspcsm

ISO 20022 payload· XML

pacs.008 interbank credit transfer

The same payment on the interbank leg. InstdAmt became IntrBkSttlmAmt, an IntrBkSttlmDt appeared, and TxId is now the identifier the CSM quotes in every response.

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08">
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>PACS8-20260812-77412</MsgId>
<CreDtTm>2026-08-12T09:14:24</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<TtlIntrBkSttlmAmt Ccy="EUR">1250.00</TtlIntrBkSttlmAmt>
<IntrBkSttlmDt>2026-08-13</IntrBkSttlmDt>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
<ClrSys>
<Cd>STEP2</Cd>
</ClrSys>
</SttlmInf>
<InstgAgt>
<FinInstnId>
<BICFI>DEMOFRPPXXX</BICFI>
</FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId>
<BICFI>COBADEFFXXX</BICFI>
</FinInstnId>
</InstdAgt>
</GrpHdr>
<CdtTrfTxInf>
<PmtId>
<InstrId>INSTR-0001</InstrId>
<EndToEndId>E2E-2026-0842</EndToEndId>
<TxId>TX-DEMO-0000771412</TxId>
</PmtId>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<IntrBkSttlmAmt Ccy="EUR">1250.00</IntrBkSttlmAmt>
<IntrBkSttlmDt>2026-08-13</IntrBkSttlmDt>
<ChrgBr>SLEV</ChrgBr>
<Dbtr>
<Nm>Marie Lefebvre</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>FR7630006000011234567890189</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BICFI>DEMOFRPPXXX</BICFI>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BICFI>COBADEFFXXX</BICFI>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Atelier Rousseau SARL</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>DE89370400440532013000</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Facture 2026-0842</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>
47 elementsdepth 5pacs.008.001.081674 charsxml