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 CompletedFinal positive state. Payment settled at debtor account.
ACCC
Accepted — CreditorFinal positive state. Settlement reached creditor account.
RJCT
RejectedFinal negative state. Check the reason code for details.
PDNG
PendingNot final. Awaiting processing — do not assume success.
ACSP
ProcessingNot final. Being processed by settlement agent.
PART
PartialSome transactions accepted, others not. Check each transaction.
CANC
CancelledPayment 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.