Pain.002.001.10
The ISO 20022 Customer Payment Status Report message provides status updates for previously initiated credit transfer instructions.
Last updated
Was this helpful?
The ISO 20022 Customer Payment Status Report message provides status updates for previously initiated credit transfer instructions.
Last updated
Was this helpful?
The ISO 20022 Customer Payment Status Report (pain.002) is sent to inform about the status of payment instructions submitted . This report refers back to the original Customer Credit Transfer Initiation and provides positive, negative, or pending status updates for each transaction.
It is possible to receive multiple pain.002 messages in response to a single pain.001, especially if individual transactions require additional checks or encounter issues at different stages of processing.
Payment statuses are provided both at a group level (entire payment instruction) and at an individual transaction level.
Group statuses are returned using the tags GrpSts (OrgnlGrpInfAndSts.GrpSts
) and PmtInfSts (OrgnlPmtInfAndSts.PmtInfSts
) in the initial response message (pain.002). Subsequent response messages (if any) do not include these group-level tags—further updates apply only to individual transactions.
RJCT (Rejected) – All transactions within the original pain.001 Payment Information block have been rejected.
PDNG (Pending) – Transactions are awaiting further action, such as Strong Customer Authentication (SCA) or manual review.
PART (Partially Accepted) – The Payment Information block contains a mix of accepted (ACSP, ACWC) and rejected (RJCT) transactions.
ACSP (Accepted Settlement in Process) – All transactions within the original pain.001 Payment Information block have reached an accepted status (ACSP, ACWC), but the funds have not yet been debited.
Transaction-specific statuses are provided using the tag TxSts (OrgnlPmtInfAndSts.TxInfAndSts.TxSts
):
RJCT (Rejected) – The payment has been rejected (final status).
PDNG (Pending) – Payment requires human intervention. Possible reasons include awaiting SCA in, sanctions screening, or manual correction by the bank. Additional details may be provided separately.
ACSP (Accepted Settlement in Process) – The payment is currently being processed by the bank. It has not yet been debited from the client’s account nor sent to the clearing system. Another status update will follow (acceptance or rejection).
ACWC (Accepted with Change) – Payment accepted for processing with minor modifications made by LHV. The changes do not affect the original intent of the payment and are explained in the tag AddtlInf
. An additional status update will follow (acceptance or rejection).
ACSC (Accepted Settlement Completed) – Payment processing completed successfully, and the funds have been debited from the client’s account. This is typically the final status. Rarely, this may be followed by RJCT, in which case the funds already debited will be returned client's account.
When responding to the pain.001 message, one of the initial processing steps is validating the XML content against the XML Schema Definition (XSD).
The structure of the response (pain.002) varies based on the submitted XML and the validation outcomes:
If validation fails due to a fatal error (such as incorrect XML format or content issues), the response will always include the group status OrgnlGrpInfAndSts.GrpSts = RJCT (Rejected).
If the XML structure or content does not comply with the XSD, the response message will not include a reference to the original message (OrgnlMsgId). This reference is provided only when the XML content is successfully parsed.
Clients should always match the original Payment Initiation request with the corresponding Response by using Message-Request-Id and Message-Response-Id, as the inclusion of the OrgnlMsgId in the response is not guaranteed.
Example responses
In this case there was a syntax error in XML - CdtrAcct.Id.IBAN value was not in correct format.
If a payment transitions from ACSP (Accepted Settlement in Process) to PDNG (Pending), it indicates that the payment requires manual intervention and review. This may occur due to sanctions screening matches or other triggers that necessitate additional checks. In some cases, direct communication with the customer may be required.
Whenever possible, further details will be included in the pain.002 message AddtlInf
.
Once the review is completed, the payment will either:
Proceed to settlement (ACSC) if approved.
Be rejected (RJCT) if it does not meet compliance or processing requirements.
The version of the response message (pain.002) corresponds to the version of the original payment initiation message (pain.001):
If the payment was initiated using pain.001.001.03, the response will be pain.002.001.03.
If the payment was initiated using pain.001.001.09, the response will be pain.002.001.10.
There are minor structural differences between pain.002.001.03 and pain.002.001.10 that may affect how certain fields are represented.
Message Components
[1..1]
+GroupHeader
<GrpHdr>
Mandatory, occurs once. Defines the characteristics shared by all transactions in the status report.
[1..1]
+OriginalGroup InformationAndStatus
<OrgnlGrpInfAndSts>
Mandatory, occurs once. Refers to the original payment initiation group-level information.
[0..n]
OriginalPayment InformationAndStatus
<OrgnlPmtInfAndSts>
Optional, repeatable. Contains details about individual payments and their processing status.
[0..n]
+SupplementaryData
<SplmtryData>
Optional, repeatable. Not used.
Message root
[1..1]
+MessageRoot
<CstmrPmtStsRpt>
Mandatory, occurs once.
Message Content
[1..1]
+GroupHeader
<GrpHdr>
[1..1]
++MessageIdentification
<MsgId>
Unique message ID generated by LHV.
[1..1]
++CreationDateTime
<CreDtTm>
Date and time at which the message was created.
[0..1]
++InitiatingParty
<InitgPty>
Party that initiates the status message.
[0..1]
+++Identification
<Id>
[0..1]
++++OrganisationIdentification
<OrgId>
[0..1]
+++++AnyBIC
<AnyBIC>
LHV’s BIC.
[0..1]
++ForwardingAgent
<FwdAgt>
Not used.
[0..1]
++DebtorAgent
<DbtrAgt>
Not used.
[0..1]
++CreditorAgent
<CdtrAgt>
Not used.
[1..1]
+OriginalGroupInformationAndStatus
<OrgnlGrpInfAndSts>
[1..1]
++OriginalMessageIdentification
<OrgnlMsgId>
Original Group-level Message ID (MsgId) from pain.001.001.09.
[1..1]
++OriginalMessageNameIdentification
<OrgnlMsgNmId>
Value ‘pain.001.001.09’.
[0..1]
++OriginalCreationDateTime
<OrgnlCreDtTm>
Not used.
[0..1]
++OriginalNumberOfTransactions
<OrgnlNbOfTxs>
Not used.
[0..1]
++OriginalControlSum
<OrgnlCtrlSum>
Not used.
[0..1]
++GroupStatus
<GrpSts>
[0..n]
++StatusReasonInformation
<StsRsnInf>
Provides detailed information on the status reason.
[0..1]
+++Originator
<Orgtr>
Not used.
[0..1]
+++Reason
<Rsn>
[1..1]
++++Code
<Cd>
If the Group Status is 'RJCT', the Status Reason Code is set to 'NARR', and the Additional Information field is also populated with the relevant error details.
[0..n]
+++AdditionalInformation
<AddtlInf>
When the Reason Code is set to 'NARR', this field contains the error description.
[0..n]
++NumberOfTransactionsPerStatus
<NbOfTxsPerSts>
Not used.
[0..n]
+OriginalPaymentInformationAndStatus
<OrgnlPmtInfAndSts>
Information concerning the original payment information, to which the status report message refers
[1..1]
++OriginalPaymentInformationId
<OrgnlPmtInfId>
Original Payment Information ID (PmtInfId) from pain.001.001.09.
[0..1]
++OriginalNumberOfTransaction
<OrgnlNbOfTxs>
Not used.
[0..1]
++OriginalControlSum
<OrgnlCtrlSum>
Not used.
[0..1]
++PaymentInformationStatus
<PmtInfSts>
[0..n]
++StatusReasonInformation
<StsRsnInf>
Not used.
[0..n]
++NumberOfTransactionsPerStatus
<NbOfTxsPerSts>
Not used.
[0..n]
++TransactionInformationAndStatus
<TxInfAndSts>
Provides information on the original transactions to which the status report message refers.
[0..1]
+++StatusIdentification
<StsId>
Not used.
[0..1]
+++OriginalInstructionIdentification
<OrgnlInstrId>
Original Instruction Identification (InstrId) from pain.001.001.09.
[0..1]
+++OriginalEndToEndId
<OrgnlEndToEndId>
Not used.
[0..1]
+++OriginalUETR
<OrgnlUETR>
Original UETR from pain.001.001.09.
[0..1]
+++TransactionStatus
<TxSts>
[0..n]
+++StatusReasonInformation
<StsRsnInf>
[0..1]
++++Originator
<Orgtr>
Not used.
[0..1]
++++Reason
<Rsn>
[1..1]
+++++Code
<Cd>
If the Transaction Status is 'ACWC' or 'RJCT', the Status Reason Code is set to 'NARR', and the Additional Information field is also populated with the relevant error details.
[0..n]
++++AdditionalInformation
<AddtlInf>
When the Reason Code is 'NARR', this field contains either a description or a scheme-specific reject code.
For transactions with status ACWC, reason for change
Scheme reject codes are only sent if payment type is FAST (Faster Payment) or INST (SEPA Instant Credit Transfer).
[0..n]
+++ChargesInformation
<ChrgsInf>
Not used.
[0..1]
+++TrackerData
<TrckrData>
Not used.
[0..1]
+++AcceptanceDateTime
<AccptncDtTm>
Not used.
[0..1]
+++AccountServicerReference
<AcctSvcrRef>
Unique payment ID assigned by LHV.
[0..1]
+++ClearingSystemReference
<ClrSysRef>
Not used.
[0..1]
+++OriginalTransactionReference
<OrgnlTxRef>
Key elements used to identify the original transaction that is being referred to.
[0..1]
++++InterbankSettlementAmount
<IntrBkSttlmAmt>
[0..1]
++++Amount
<Amt>
[1..1]
+++++InstructedAmount
<InstdAmt>
Original Instructed Amount (InstdAmt) from pain.001.001.09.
[0..1]
++++InterbankSettlementDate
<IntrBkSttlmDt>
Not used.
[0..1]
++++RequestedCollectionDate
<ReqdColltnDt>
Not used.
[0..1]
++++RequestedExecutionDate
<ReqdExctnDt>
Original Requested Execution Date (ReqdExctnDt) from pain.001.001.09.
[0..1]
++++CreditorSchemeIdentification
<CdtrSchmeId>
Not used.
[0..1]
++++SettlementInformation
<SttlmInf>
Not used.
[0..1]
++++PaymentTypeInformation
<PmtTpInf>
[1..1]
+++++ServiceLevel
<SvcLvl>
[1..1]
++++++Proprietary
<Prtry>
[0..1]
++++PaymentMethod
<PmtMtd>
Not used.
[0..1]
++++MandateRelatedInformation
<MndtRltdInf>
Not used.
[0..1]
++++RemittanceInformation
<RmtInf>
Not used.
[0..1]
++++UltimateDebtor
<UltmtDbtr>
Not used.
[0..1]
++++Debtor
<Dbtr>
[0..1]
+++++Pty
<Pty>
[0..1]
++++++Name
<Nm>
Debtor’s name.
[0..1]
++++++PostalAddress
<PstlAdr>
Not used.
[0..1]
++++++Identification
<Id>
Not used.
[0..1]
++++++CountryOfResidence
<CtryOfRes>
Not used.
[0..1]
++++++ContactDetails
<CtctDtls>
Not used.
[0..1]
++++DebtorAccount
<DbtrAcct>
[1..1]
+++++Identification
<Id>
{Or
++++++IBAN
<IBAN>
Debtor’s IBAN or VIBAN.
{Or
++++++Other
<Othr>
Debtor's non-IBAN account number (for example, UK local account).
Or}}
+++++++Identification
<Id>
Account number.
[0..1]
++++DebtorAgent
<DbtrAgt>
Only FinInstnId.BICFI is filled, value: LHV's BIC
[0..1]
++++DebtorAgentAccount
<DbtrAgtAcct>
Not used.
[0..1]
++++CreditorAgent
<CdtrAgt>
Only FinInstnId.BICFI is filled, value: creditor's bank BIC.
[0..1]
++++CreditorAgentAccount
<CdtrAgtAcct>
Not used.
[0..1]
++++Creditor
<Cdtr>
[0..1]
+++++Pty
<Pty>
[1..1]
++++++Name
<Nm>
Creditor’s name.
[0..1]
++++++PostalAddress
<PstlAdr>
Not used.
[0..1]
++++++Identification
<Id>
Not used.
[0..1]
++++++CountryOfResidence
<CtryOfRes>
Not used.
[0..1]
++++++ContactDetails
<CtctDtls>
Not used.
[0..1]
++++CreditorAccount
<CdtrAcct>
[1..1]
+++++Identification
<Id>
[0..1]
++++++IBAN
<IBAN>
Creditor’s IBAN.
For Faster Payments, this field is used only if the original payment request also included an IBAN.
[0..1]
++++++Other
<Othr>
[1..1]
+++++++Identification
<Id>
Creditor’s non-IBAN account number.
For Faster Payments, this field is used when the original payment request included a sort code and domestic account number instead of an IBAN.
[0..1]
++++UltimateCreditor
<UltmtCdtr>
Not used.
[0..1]
++++Purpose
<Purp>
Not used.
When the Reason Code is 'NARR', AdditionalInformation (AddtlInf) field contains either a human-readable description or a scheme-specific reject code.
In other cases, a descriptive error message is included instead. Below are examples of common error descriptions that may appear in the pain.002 AdditionalInformation field:
Receiver's account number not valid.
Debtor account number is missing.
SEPA Credit Transfers not allowed.
Reference number missing or does not meet beneficiary specified format.
FPSPOO payment not allowed for GB or GI.
Invalid beneficiary''s name.
Insufficient funds available
Payment declined. Regulatory reasons
Insufficient monthly limit available
Insufficient daily limit available
Pain.002 schema file: .
Indicates the overall group status for all payments in the original pain.001 message. Status codes are described in .
Indicates the group-level status of a single PmtInf block from the original pain.001 message. Status codes are described in .
Indicates the status of the individual payment transaction. Status codes described in .
For transactions with status RJCT, transaction-level error description (see ) or scheme-specific reject code, see .
Payment type, see .
For scheme-specific reject code, refer to the section. These codes are provided only for payments using the FAST (Faster Payments) or INST (SEPA Instant Credit Transfer) schemes.