pain.002 Analyzer
ISO 20022 · Payment Status ReportPaste a bank-returned pain.002 XML file to extract group status, per-transaction outcomes, rejection reason codes, and plain-English explanations for each status and reason code.
Common status codes
ACSCAccepted — Settlement Completed — Final positive state. Payment settled at debtor account.
ACCCAccepted — Creditor — Final positive state. Settlement reached creditor account.
RJCTRejected — Final negative state. Check the reason code for details.
PDNGPending — Not final. Awaiting processing — do not assume success.
ACSPProcessing — Not final. Being processed by settlement agent.
PARTPartial — Some transactions accepted, others not. Check each transaction.
CANCCancelled — Payment was cancelled before execution.
Common rejection reason codes
AC01Incorrect account number — verify the creditor IBAN.AC04Closed account — contact creditor for updated details.AM04Insufficient funds — ensure sufficient balance before retry.AM05Duplicate payment — check if already processed.DUPLDuplicate detected by bank — investigate before resubmitting.MD01No valid mandate — check mandate status (direct debit).NARRNarrative — free-text explanation in AddtlInf field.MS02Unspecified — contact your bank directly.What is pain.002?
pain.002 (ISO 20022 CustomerPaymentStatusReport) is the message a bank or PSP sends back in response to a payment initiation (pain.001). It reports whether transactions were accepted, are pending, or were rejected — and if rejected, provides standardised reason codes. It is the authoritative source of truth for the outcome of your payment batch.