pain: Payments Initiation
pain.002 Customer Payment Status Report
Written and maintained by ZagTrader. Last reviewed . How this page is sourced and checked
pain.002 is the ISO 20022 CustomerPaymentStatusReport message in the Payments Initiation business area (pain). The latest version is pain.002.001.14, and 13 versions are in the repository.
- Message
- CustomerPaymentStatusReport
- Latest version
- pain.002.001.14
- Submitting organisation
- ISTH/Swift
- MT equivalent
- None listed
In use: published in the current ISO 20022 catalogue.
What pain.002 is for
The CustomerPaymentStatusReport message is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.
The CustomerPaymentStatusReport message is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.
The CustomerPaymentStatusReport message can be used to provide information about the status (for example a rejection, an acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.
The CustomerPaymentStatusReport message refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.
The CustomerPaymentStatusReport message can be used in domestic and cross-border scenarios.
The CustomerPaymentStatusReport may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (that is either the beneficiary is credited, or the transaction is rejected).
pain.002 versions
Every version published in the e-Repository, newest first. A message keeps its business purpose across versions; each new version is a separate schema with its own namespace.
| Version | Registration status | Published in |
|---|---|---|
| pain.002.001.14latest | Registered | Latest version set |
| pain.002.001.13 | Registered | Previous version set |
| pain.002.001.12 | Registered | Archive |
| pain.002.001.11 | Registered | Archive |
| pain.002.001.10 | Registered | Archive |
| pain.002.001.09 | Registered | Archive |
| pain.002.001.08 | Registered | Archive |
| pain.002.001.07 | Registered | Archive |
| pain.002.001.06 | Registered | Archive |
| pain.002.001.05 | Registered | Archive |
| pain.002.001.04 | Registered | Archive |
| pain.002.001.03 | Registered | Archive |
| pain.002.001.02 | Registered | Archive |
pain.002 message structure
The building blocks of pain.002.001.14 to three levels, with multiplicity ([0..1] optional, [1..1] mandatory, * any number) and the data type or component. Element names and definitions are from the ISO 20022 repository; usage guidelines such as CBPR+ or a market infrastructure's rules can restrict them further.
Document[1..1]CstmrPmtStsRptCustomerPaymentStatusReport [1..1]GrpHdrGroup Header [1..1]GroupHeader128Set of characteristics shared by all individual transactions included in the status report message.
MsgIdMessage Identification [1..1]Max35TextPoint to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message.
CreDtTmCreation Date Time [1..1]ISODateTimeDate and time at which the message was created.
InitgPtyInitiating Party [0..1]PartyIdentification272Party that initiates the status message.
NmName [0..1]Max140TextPstlAdrPostal Address [0..1]PostalAddress27IdIdentification [0..1]Party52Choice (choice)CtryOfResCountry Of Residence [0..1]CountryCodeCtctDtlsContact Details [0..1]Contact13
FwdgAgtForwarding Agent [0..1]BranchAndFinancialInstitutionIdentification8Financial institution that receives the instruction from the initiating party and forwards it to the next agent in the payment chain.
FinInstnIdFinancial Institution Identification [1..1]FinancialInstitutionIdentification23BrnchIdBranch Identification [0..1]BranchData5
DbtrAgtDebtor Agent [0..1]BranchAndFinancialInstitutionIdentification8Financial institution servicing an account for the debtor.
FinInstnIdFinancial Institution Identification [1..1]FinancialInstitutionIdentification23BrnchIdBranch Identification [0..1]BranchData5
CdtrAgtCreditor Agent [0..1]BranchAndFinancialInstitutionIdentification8Financial institution servicing an account for the creditor.
FinInstnIdFinancial Institution Identification [1..1]FinancialInstitutionIdentification23BrnchIdBranch Identification [0..1]BranchData5
OrgnlGrpInfAndStsOriginal Group Information And Status [1..1]OriginalGroupHeader22Original group information concerning the group of transactions, to which the status report message refers to.
OrgnlMsgIdOriginal Message Identification [1..1]Max35TextPoint to point reference, as assigned by the original instructing party, to unambiguously identify the original message.
OrgnlMsgNmIdOriginal Message Name Identification [1..1]Max35TextSpecifies the original message name identifier to which the message refers.
OrgnlCreDtTmOriginal Creation Date Time [0..1]ISODateTimeDate and time at which the original message was created.
OrgnlNbOfTxsOriginal Number Of Transactions [0..1]Max15NumericTextNumber of individual transactions contained in the original message.
OrgnlCtrlSumOriginal Control Sum [0..1]DecimalNumberTotal of all individual amounts included in the original message, irrespective of currencies.
GrpStsGroup Status [0..1]ExternalPaymentGroupStatus1CodeSpecifies the status of a group of transactions.
StsRsnInfStatus Reason Information [0..*]StatusReasonInformation14Provides detailed information on the status reason.
OrgtrOriginator [0..1]PartyIdentification272RsnReason [0..1]StatusReason6Choice (choice)AddtlInfAdditional Information [0..*]Max105Text
NbOfTxsPerStsNumber Of Transactions Per Status [0..*]NumberOfTransactionsPerStatus5Detailed information on the number of transactions for each identical transaction status.
DtldNbOfTxsDetailed Number Of Transactions [1..1]Max15NumericTextDtldStsDetailed Status [1..1]ExternalPaymentTransactionStatus1CodeDtldCtrlSumDetailed Control Sum [0..1]DecimalNumber
OrgnlPmtInfAndStsOriginal Payment Information And Status [0..*]OriginalPaymentInstruction51Information concerning the original payment information, to which the status report message refers.
OrgnlPmtInfIdOriginal Payment Information Identification [1..1]Max35TextUnique identification, as assigned by the original sending party, to unambiguously identify the original payment information group.
OrgnlNbOfTxsOriginal Number Of Transactions [0..1]Max15NumericTextNumber of individual transactions contained in the original payment information group.
OrgnlCtrlSumOriginal Control Sum [0..1]DecimalNumberTotal of all individual amounts included in the original payment information group, irrespective of currencies.
PmtInfStsPayment Information Status [0..1]ExternalPaymentGroupStatus1CodeSpecifies the status of the payment information group.
StsRsnInfStatus Reason Information [0..*]StatusReasonInformation14Provides detailed information on the status reason.
OrgtrOriginator [0..1]PartyIdentification272RsnReason [0..1]StatusReason6Choice (choice)AddtlInfAdditional Information [0..*]Max105Text
NbOfTxsPerStsNumber Of Transactions Per Status [0..*]NumberOfTransactionsPerStatus5Detailed information on the number of transactions for each identical transaction status.
DtldNbOfTxsDetailed Number Of Transactions [1..1]Max15NumericTextDtldStsDetailed Status [1..1]ExternalPaymentTransactionStatus1CodeDtldCtrlSumDetailed Control Sum [0..1]DecimalNumber
TxInfAndStsTransaction Information And Status [0..*]PaymentTransaction160Provides information on the original transactions to which the status report message refers.
StsIdStatus Identification [0..1]Max35TextOrgnlInstrIdOriginal Instruction Identification [0..1]Max35TextOrgnlEndToEndIdOriginal End To End Identification [0..1]Max35TextOrgnlUETROriginal UETR [0..1]UUIDv4IdentifierTxStsTransaction Status [0..1]ExternalPaymentTransactionStatus1CodeStsRsnInfStatus Reason Information [0..*]StatusReasonInformation14ChrgsInfCharges Information [0..*]Charges16TrckrDataTracker Data [0..1]TrackerData7AccptncDtTmAcceptance Date Time [0..1]ISODateTimeAcctSvcrRefAccount Servicer Reference [0..1]Max35TextClrSysRefClearing System Reference [0..1]Max35TextOrgnlTxRefOriginal Transaction Reference [0..1]OriginalTransactionReference42SplmtryDataSupplementary Data [0..*]SupplementaryData1
SplmtryDataSupplementary Data [0..*]SupplementaryData1Additional information that cannot be captured in the structured elements and/or any other specific block.
PlcAndNmPlace And Name [0..1]Max350TextUnambiguous reference to the location where the supplementary data must be inserted in the message instance.
EnvlpEnvelope [1..1]SupplementaryDataEnvelope1Technical element wrapping the supplementary data.
Have a pain.002 message? Paste it into the parser to see every element with its name and definition, and format checks on BICs, IBANs, dates and amounts.
External code sets used in pain.002
These elements take their values from ISO 20022 external code sets, which are published separately and updated every quarter without a new message version.
- ExternalAccountIdentification1Code4 codes
- ExternalCashAccountType1Code28 codes
- ExternalCashClearingSystem1Code145 codes
- ExternalCategoryPurpose1Code49 codes
- ExternalChargeType1Code14 codes
- ExternalClearingSystemIdentification1Code172 codes
- ExternalCreditorReferenceType1Code7 codes
- ExternalDateType1Code5 codes
- ExternalDocumentAmountType1Code27 codes
- ExternalDocumentLineType1Code19 codes
- ExternalDocumentType1Code23 codes
- ExternalFinancialInstitutionIdentification1Code0 codes
- ExternalGarnishmentType1Code3 codes
- ExternalLocalInstrument1Code114 codes
- ExternalMandateSetupReason1Code0 codes
- ExternalOrganisationIdentification1Code15 codes
- ExternalPaymentGroupStatus1Code13 codes
- ExternalPaymentTransactionStatus1Code25 codes
- ExternalPersonIdentification1Code11 codes
- ExternalProxyAccountType1Code22 codes
- ExternalPurpose1Code366 codes
- ExternalServiceLevel1Code29 codes
- ExternalStatusReason1Code315 codes
pain.002 questions
- What is the latest version of pain.002?
- The latest version in the ISO 20022 e-Repository release of 24 April 2025 is pain.002.001.14.
- What is the root element of pain.002?
- The XML document is Document with the namespace urn:iso:std:iso:20022:tech:xsd:pain.002.001.14, and its message element is CstmrPmtStsRpt (CustomerPaymentStatusReport).
- Is there an MT equivalent of pain.002?
- No Swift MT message is listed as its direct equivalent on this site. Many ISO 20022 messages have no MT counterpart.
All ISO 20022 messages · ISO 20022 code sets · MT messages
The ISO 20022 message definitions, element names and definitions on this page are reproduced from material published at iso20022.org under the ISO 20022 Intellectual Property Rights policy. This is not the official source: the up-to-date ISO 20022 standards and repository material are published only at iso20022.org. Explanations in our own words are by ZagTrader. ZagTrader is not affiliated with or endorsed by ISO or Swift.