pacs.002.001.10 XSD schema and business logic

Learn how to generate valid pacs.002.001.10 messages for your ISO 20022 message-based integration to Mambu Payments (formerly Numeral)

Usage

pacs.002.001.10 are FIToFIPaymentStatusReport (PSR) messages. They provide statuses of one or multiple payments. Mambu Payments expects pacs.002.001.10 messages for payments in order to update their status and progress them through their lifecycle (see Payment order lifecycle and Return lifecycle).

A given payment can have one or multiple pacs.002.001.10 messages. In case of multiple pacs.002.001.10 messages, they must be ordered to respect the lifecycle of a payment. For instance, a payment order cannot be executed after it has been rejected.

The definitions and business rules below are applied by Mambu Payments. Your application should send pacs.002.001.10 complying with these definitions in business rules.

Definitions

Group level statuses

The Group Level Status is located under the Original Group Information and Status tag OrgnlGrpInfAndSts.GrpSts. Accepted values are the following:

Status codeStatus nameDefinition
RCVDReceivedThe related payment message has been received by the instructed agent. It has not yet been accepted or processed.
ACCPAcceptedThe related payment message has been accepted by the instructed agent.
RJCTRejectedAll payments in the group have been rejected by the instructed agent.
PARTPartially acceptedSome payments have been accepted and others have been rejected. Payments rejected are included at the transaction level.

Transaction level statuses

When applicable, individual payments are included in the Transaction Information and Status tag TxInfAndSts.TxSts. Accepted values are the following:

Status codeStatus nameDefinition
ACCPAcceptedThe payment has been processed by the instructed agent.
ACSPAccepted, settlement in progressThe payment has been processed by the instructed agent and is undergoing clearing and settlement.
ACSCAccepted, settlement completedThe payment has been processed, cleared, and settled by the instructed agent.
RJCTRejectedThe payment has been rejected by the instructed agent.
PDNGPendingThe payment has been put on hold and is waiting verification (e.g., compliance checks) and validation by the instructed agent.

Business rules

Outgoing payment messages acknowledge

Mambu Payments determines whether a message has been correctly received by the user by analysing the status code of the outgoing request: either the HTTP status code for API or webhook requests or the SFTP status code for SFTP requests.

Happy path

The happy path is characterised by an HTTP 2xx status code for API or webhook requests or the SFTP ACK code for SFTP requests.

Outgoing Message ID

Message name

Payment status transition

pacs.008.001.08

FIToFICustomerCreditTransferV08

processing > sent

pain.001.001.03

CustomerCreditTransferInitiationV03

processing > sent

pacs.003.001.08

FIToFICustomerDirectDebitV08

processing > sent

pain.008.001.02

CustomerDirectDebitInitiationV02

processing > sent

pacs.002.001.10

FIToFIPaymentStatusReportV10

No effect

pain.002.001.10

CustomerPaymentStatusReportV10

No effect

camt.053.001.02

BankToCustomerStatementV02

No effect

pacs.004.001.09

PaymentReturnV09

The outgoing return transitions from processing > sent

In case of return, the underlying incoming payment transitions from received > pending_return if it was not already in pending_return status

camt.029.001.09

ResolutionOfInvestigationV09

The status of the incoming return request related to this camt.029 transitions from received > denied

The underlying incoming payment transitions from pending_return > received

camt.056.001.08

FIToFIPaymentCancellationRequestV08

The outgoing return request status transitions from processing > sent

The underlying outgoing payment transitions from executed > pending_return

pacs.007.001.09

FIToFIPaymentReversalV09

The outgoing return transitions from processing > sent

In case of return, the underlying incoming payment transitions from received > pending_return if it was not already in pending_return status

pacs.028.001.03

FIToFIPaymentStatusRequestV03

No effect

camt.027.001.07

ClaimNonReceiptV07

No effect

camt.087.001.06

RequestToModifyPaymentV06

No effect

Errors

SFTP error

HTTP 400

HTTP 404

HTTP 409

HTTP 401 / 403

HTTP 5xx

Identification of original payment

Priority level

Combination

1

OrgnlMsgId + OrgnlTxId
OrgnlMsgId + OrgnlUETR

2

OrgnlMsgId + OrgnlEndToEndId

3

OrgnlMsgId + OrgnlInstrId

4

OrgnlTxId
OrgnlUETR

5

OrgnlEndToEndId

6

OrgnlInstrId

7

OrgnlMsgId

Status priority processing

Business rule order

Description

1

If TxInfAndSts is present at least once, then the status of the individual payment referenced by TxInfAndSts is updated as follows :

  • RJCT: the individual payment is rejected
  • PDNG: the individual payment is pending
  • ACCP, ACSP or ACSC: the individual payment is executed

2

If TxInfAndSts is absent, then the status of the group of payments referenced by GrpInfAndSts are updated as follows:

  • RJCT: all payments in the group are rejected
  • RCVD: no change in the status
  • ACCP: either no change in the status or all payments in the group are executed (*)
  • PART: should not happen as transaction level detail is expected

3

If BR1 is verified, then the status of the group of payments referenced by GrpInfAndSts are updated as follows:

  • RJCT or ACCP: no impact as it has already been handled at transaction level
  • RCVD: not expected
  • PART: all remaining payments in the group that were not explicitly mentioned in BR1 are either unchanged or executed (*)

Implicit vs explicit completion status