pain.002 Analyzer

ISO 20022 · Payment Status Report

Paste 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

ACSC
Accepted — Settlement Completed — Final positive state. Payment settled at debtor account.
ACCC
Accepted — Creditor — Final positive state. Settlement reached creditor account.
RJCT
Rejected — Final negative state. Check the reason code for details.
PDNG
Pending — Not final. Awaiting processing — do not assume success.
ACSP
Processing — Not final. Being processed by settlement agent.
PART
Partial — Some transactions accepted, others not. Check each transaction.
CANC
Cancelled — 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.