- 03 Feb 2022
- 12 Minutes To Read
- Print
- DarkLight
- PDF
SEPA Credit Transfers
- Updated On 03 Feb 2022
- 12 Minutes To Read
- Print
- DarkLight
- PDF
SEPA Credit messages are XML files composed of 3 building blocks:
- Group Header - It contains elements such as Message Identification, Creation Date and Time.
- Payment Information - Contains Debtor and Payment Type Information for one or more Transaction Information Blocks.
- Transaction Information It contains elements related to the credit side of the transaction, such as Creditor.
Supported Flows
Mambu supports the following flows and messages in the platform:
Basic End-to-End Flows
- Backdate payment - At the moment MPG doesn’t support this functionality e.g Today is 28.06 and if the user tries to receive an incoming payment on 27.06
- Duplicated MsgId - An outgoing pacs.008 with a same MsgId of one previous message
- Unrecognized message format - The message structure was not as it was expected
Outgoing Payments
Outgoing payment - pacs.008.001.02
Description
The Mambu Payment Gateway receives and checks if it has sufficient information to execute a payment instruction and that the instruction fulfils the conditions required by its procedures as to execution of the instruction including the authenticity of the instruction, and the checking of the format of the IBAN and BIC.
initiatePayment
This endpoint generates a new payment in Mambu. The system will then verify if it the payment is an intra- or inter-bank payment.
Action: POST
Endpoint: /v1/payments/
Sample request body
{
"instructedAmount": {
"currency": "EUR",
"amount": "10"
},
"creditorAccount": {
"currency": "EUR",
"identification": {
"iban": "RO71INGBGS9EE7TWIGHCXRO8"
}
},
"creditorName": "Michael",
"purposeCode": "BONU",
"remittanceInformationUnstructured": "Information about the transfer",
"debtorAccount": {
"currency": "EUR",
"identification": {
"iban": "RO68BTRLUAAJ01WQB7ZFEN7I"
}
},
"debtorName": "John Doe"
}
Sample response body
200 - Success - The payment was generated
{
"transactionStatus": "RCVD",
"paymentId": "28c09684547d49111b0e05d501e15b5f"
}
400 - Bad Request - The payment wasn’t generated
Example 1
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "initiatePayment.arg0.instructedAmount.currency",
"text": "instructedAmount.currency size must be between 3 and 3"
},
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "initiatePayment.arg0.instructedAmount.currency",
"text": "instructedAmount.currency invalid ISO 4217 Alpha 3 currency code"
}
]
}
Example 2
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "initiatePayment.arg0.instructedAmount.amount",
"text": "instructedAmount.amount numeric value out of bounds (<20 digits>.<14 digits> expected)"
}
]
}
If the call out to send an outgoing payment is not succefull the MPG will retry to send the data until it gets a successful response without any changes on the message or request.
Payment status
paymentDetails
The endpoint returns payment information including:
- Status
- Debtor IBAN
- Currency
- Amount
- Creditor name
Action: GET
Endpoint: /v1/payments/{paymentId}
Parameters
Name | Value |
---|---|
paymentID | The payment ID in MAMBU |
Sample responses
200 OK
{
"transactionStatus": "ACSP",
"lastStatusUpdateTimestamp": "2019-06-27T14:11:20Z",
"debtorAccount": {
"identification": {
"iban": "RIU20BTRLJD3GCKBUJF3DET1A"
},
"currency": "EUR"
},
"instructedAmount": {
"currency": "EUR",
"amount": "1000"
},
"creditorAccount": {
"identification": {
"iban": "RIU10INGBCBN4EVKBNFJ8YNGT"
},
"currency": "EUR"
},
"creditorName": "George"
}
400 Bad Request
Example 1
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"path": "paymentId",
"text": "Unable to find payment details for payment 2809684547d49208b0e05d501e15b5f"
}
]
}
Incoming payment - pacs.008.001.02
Mambu Payment Gateway allows clients to receive funds from external entities through API.
incomingMessage
The endpoint creates a new incoming payment in Mambu.
The MPG validates if the BICs present on the sepa messages are valid. If the insitution BICs on the file are not valid the MPG will reject the file.
Action: POST
Endpoint: /v1/payments/incoming
Request Headers
Name | Value |
---|---|
Content Type | application/xml |
Name | Description |
---|---|
body *required | Initiate an incoming Payment |
Sample request body
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02">
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>Message ID</MsgId>
<CreDtTm>2019-12-23T09:40:13</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<TtlIntrBkSttlmAmt Ccy="EUR">1</TtlIntrBkSttlmAmt>
<IntrBkSttlmDt>2019-12-23</IntrBkSttlmDt>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
<ClrSys>
<Prtry>ST2</Prtry>
</ClrSys>
</SttlmInf>
<InstgAgt>
<FinInstnId>
<BIC>INGSMMXXX</BIC>
</FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId>
<BIC>BTRLRO22</BIC>
</FinInstnId>
</InstdAgt>
</GrpHdr>
<CdtTrfTxInf>
<PmtId>
<InstrId>PaymentID</InstrId>
<EndToEndId>PaymentID</EndToEndId>
<TxId>PaymentID</TxId>
</PmtId>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<IntrBkSttlmAmt Ccy="EUR">1</IntrBkSttlmAmt>
<ChrgBr>SLEV</ChrgBr>
<Dbtr>
<Nm>Jane Doe</Nm>
<PstlAdr>
<Ctry>ES</Ctry>
</PstlAdr>
<Id>
<OrgId>
<Othr>
<Id>GFA</Id>
</Othr>
</OrgId>
</Id>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>RO10INGBCBN4EVKBNFJ8YNGT</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>CECAESMMXXX</BIC>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>BTRLRO22</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>John Doe</Nm>
<PstlAdr>
<Ctry>ES</Ctry>
</PstlAdr>
<Id>
<OrgId>
<Othr>
<Id>V94025590</Id>
</Othr>
</OrgId>
</Id>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>RO71BTRLV67M9G4XI3IEJ5D2</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Incoming Payment</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>
Sample Responses
202 - Accepted - The payment was generated
{
"messageId": "11123137676731217",
"messageType": "urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02"
}
400 - Bad Request - The payment wasn’t generated
Example 1
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "initiatePayment.arg0.instructedAmount.currency",
"text": "instructedAmount.currency size must be between 3 and 3"
},
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "initiatePayment.arg0.instructedAmount.currency",
"text": "instructedAmount.currency invalid ISO 4217 Alpha 3 currency code"
}
]
}
Example 2
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "initiatePayment.arg0.instructedAmount.amount",
"text": "instructedAmount.amount numeric value out of bounds (<20 digits>.<14 digits> expected)"
}
]
}
If the payment gets accepted then the status that will be presented in the MPG is Settled.
Within Mambu UI the client balance is updated with the amount of the incoming payment
If for any reason the payment is not accepted then the MPG user will verify that the payment has been rejected. At the same time the user will be able to see that a pacs.004 was returned back on the outgoing section*
- Backdate payment - At the moment MPG doesn’t support this functionality e.g Today is 28.06 and if the user tries to receive an incoming payment on 27.06
- Duplicated MsgId - An incoming pacs.008 with a MsgId
- Unrecognized message format
Mambu Payment Gateway Status
Action | From state | To state | Post Conditions |
---|---|---|---|
Receive payment | Received | The bulk credit instruction file (pacs.008) is received | |
Debulk | Received | Debulked | The bulk file is divided into each individual credit transfer instruction |
Recall a Payment
Description
A recall happens when an Originator Bank requests to cancel a SEPA Credit Transfer. The recall procedure must be submitted by the Originator Bank before 10 Banking Business Days after the execution date of the initial SCT Transaction. A recall procedure can be initiated for the following reasons:
- Customer Request (Wrong IBAN or Wrong amount)
- Duplicate payment
- Technical problems
- Fraudulent Credit Transfers
The relevant SEPA messages in this flow and supported by Mambu are:
- Camt.056 - Cancelation request (Outgoing and Incoming)
- Pacs.004 - Reply positively to a cancelation request (Outgoing and Incoming)
- Camt.29 - Reply negatively to a cancelation request (Outgoing and Incoming)
Outgoing payment recall - camt.056.001.01
A Mambu Payment Gateway user can request for a recall by open a payment sent and already Settled on the MPG UI
On the MPG - outgoing list , find and open a payment with status settled.
After the user clicks to visualise the detail of the payment, the user will be able to initiate a return process for the payment by selecting a return reason and clicking on the cancel button. Bear in mind that the return will only be sent after a second level user approves this request on the pending section.
In the left menu, MPG users have the section Pending available to manage pending recall to be authorized or denied. After clicking to authorize the payment users are prompted with a successful notification on the authorization. On the payment detail view the MPG user can also track the different stages of a given Payment:
When the payment recall is successful the Payment status is updated to Recall Accepted. If the payment recall is rejected, the payment status is updated to Recall Rejected. In a different scenario if the MPG user does not authorize to proceed with the recall, then the user must click Reject
After the user confirms the operation he will be prompted with a successful notification.
Keep in mind that a recall can only be initiated within 10 business days from the date the initial credit transfer was sent . If initiated after the 10th business day the system will return an error and will not allow the user to proceed with the operation.
Incoming Payment Recall - camt.056.001.01
Description
The incoming SCT recall process starts when the Mambu Payment Gateway receives a request for recall for an original SCT. If the original SCT can be returned, the MPG user can confirm the return request on the MPG and the system will generate a return message. If the original SCT cannot be returned, or if the customer is not in agreement, the MPG user rejects the request and the system sends a result of investigation.
Step 1: An MPG user can accept or deny a payment recall request open
Step 2: Initiate an Incoming Recall request through API for a payment received and with status Sent
Step 3: Open MPG and look for the previous payment
Step 4: After the schedule is triggered the payment status is updated to To be Canceled rand a new section is shown with a new status Pending
Step 5: Authorisation - meaning that the Payment recall request is pending authorisation by the beneficiary bank
Step 6: Open menu Pending to authorize or deny this payment recall request
Initiate an Incoming Recall request through API
The endpoint creates a new incoming recall payment in Mambu.
Action: POST
Endpoint: /payments/incoming
Name | Description |
---|---|
body *required | Initiate an incoming Recall |
Sample request body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.056.001.01">
<FIToFIPmtCxlReq>
<Assgnmt>
<Id>f57a3f2c544f41ae843f624843c70a02</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BIC>***</BIC>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<BIC>***</BIC>
</FinInstnId>
</Agt>
</Assgne>
<CreDtTm>2020-05-26T16:53:16</CreDtTm>
</Assgnmt>
<CtrlData>
<NbOfTxs>1</NbOfTxs>
</CtrlData>
<Undrlyg>
<TxInf>
<CxlId>98a8011be00e406999d8822c0a25d4be</CxlId>
<OrgnlGrpInf>
<OrgnlMsgId>d3a99efb5a8b45339829b4d620cc73cd</OrgnlMsgId>
<OrgnlMsgNmId>pacs.008.001.02</OrgnlMsgNmId>
</OrgnlGrpInf>
<OrgnlInstrId>5ad276a2fd674e53981e0ac065a6285c</OrgnlInstrId>
<OrgnlEndToEndId>NOTPROVIDED</OrgnlEndToEndId>
<OrgnlTxId>cbc00eddeabf426eb288a81d2edde058</OrgnlTxId>
<OrgnlIntrBkSttlmAmt Ccy="EUR">100</OrgnlIntrBkSttlmAmt>
<OrgnlIntrBkSttlmDt>2020-05-26</OrgnlIntrBkSttlmDt>
<CxlRsnInf>
<Orgtr>
<Nm>Foo bar</Nm>
</Orgtr>
<Rsn>
<Cd>DUPL</Cd>
</Rsn>
</CxlRsnInf>
<OrgnlTxRef>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
<ClrSys>
<Cd>REP</Cd>
</ClrSys>
</SttlmInf>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<Dbtr>
<Nm>John Doe</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>***</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>***</BIC>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>***</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>BT</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>***</IBAN>
</Id>
</CdtrAcct>
</OrgnlTxRef>
</TxInf>
</Undrlyg>
</FIToFIPmtCxlReq>
</Document>
Sample responses
202 - Accepted - The payment was generated
{
"messageId": "1112313767631217",
"messageType": "urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02"
}
400 - Bad Request - The incoming recall wasn’t generated
{
"proc": "error",
"description":"Incorrect body"
}
Outgoing payment return - pacs.004
Description
The Payment Return message is used to undo a payment previously settled (e.g. Beneficiary deposit account is closed) or to reply positivly to a cancelation request (camt.056)
In case the credit is not possible, then the system will automatically generate a sepa message (pacs.004).
In this situation the pacs.008 status will be updated to "To be returned" and after the outgoing scheduler is run a pacs.004 is triggered (MS03)
However, in case of a cancelation request by the originator bank an ad-hoc investigation must be run (e.g call the originator if the bank can debit his account). If beneficiary bank is allowed to debit beneficiary then a pacs.004 can be send.
In this situation the MPG user can authorize the recall on the MPG by going to the pending section and authorizing the request. The system will generate the pacs.004 (status: to be sent) and when the scheduler is triggered the status will be updated to Sent.
Incoming payment return - pacs.004
Description
As an originator bank, returns can be received to inform that a return was sent given the situation of the beneficiary bank not being able to credit the beneficiary or to inform about a positive response to a recall request.
Action: POST
Endpoint: /payments/incoming
Name | Description |
---|---|
body *required | Initiate an incoming Return |
Sample request body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.02">
<PmtRtr>
<GrpHdr>
<MsgId>PositiveResponseID</MsgId>
<CreDtTm>2019-12-23T09:18:57</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<TtlRtrdIntrBkSttlmAmt Ccy="EUR">1</TtlRtrdIntrBkSttlmAmt>
<IntrBkSttlmDt>2019-12-23</IntrBkSttlmDt>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
<ClrSys>
<Prtry>ST2</Prtry>
</ClrSys>
</SttlmInf>
</GrpHdr>
<TxInf>
<RtrId>mask2</RtrId>
<OrgnlGrpInf>
<OrgnlMsgId>SCTORD156820191223000000001194</OrgnlMsgId>
<OrgnlMsgNmId>pacs.008.001.02</OrgnlMsgNmId>
</OrgnlGrpInf>
<OrgnlEndToEndId>NOT PROVIDED</OrgnlEndToEndId>
<OrgnlTxId>31630</OrgnlTxId>
<OrgnlIntrBkSttlmAmt Ccy="EUR">1</OrgnlIntrBkSttlmAmt>
<RtrdIntrBkSttlmAmt Ccy="EUR">1</RtrdIntrBkSttlmAmt>
<RtrRsnInf>
<Orgtr>
<Id>
<OrgId>
<BICOrBEI>BTRLRO22</BICOrBEI>
</OrgId>
</Id>
</Orgtr>
<Rsn>
<Cd>AC01</Cd>
</Rsn>
</RtrRsnInf>
<OrgnlTxRef>
<IntrBkSttlmDt>2019-12-23</IntrBkSttlmDt>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
</SttlmInf>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<Dbtr>
<Nm>John Doe</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>RO71BTRLV67M9G4XI3IEJ5D2</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>BTRLRO22</BIC>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>INGBROBUXXX</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Bruno</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>RO28INGBT26QJ2VR5QYA2COV</IBAN>
</Id>
</CdtrAcct>
</OrgnlTxRef>
</TxInf>
</PmtRtr>
</Document>
Mambu Payment Gateway Status
Action | From state | To state | Post Conditions |
---|---|---|---|
Return | Received / Debulked | Returned | Individual credit transfer instruction is returned and corresponding pacs.004 file is generated |
Send | Returned | Sent | Generated pacs.004 file is sent to CSM via MPG callout |
Outgoing payment return Rejection - camt.029
Description
This message is used in case of a Return request rejection. In this situation the Mambu Payment Gateway user will reject the recall on the MPG by going to the pending section and authorizing the request.
The system will generate the camt.029 (status: to be sent) and when the scheduler is triggered the status of the message is updated to Sent.
Incoming payment return Rejection - camt.029
Description
Rejected Cancelations requests can be received to inform that a cancelation (camt.056) was not accepted by the beneficiary bank.
Action: POST
Endpoint: /payments/incoming
Name | Description |
---|---|
body *required | Initiate an incoming Reject cancelation |
Sample request body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.029.001.03">
<RsltnOfInvstgtn>
<Assgnmt>
<Id>NegativeResponsetoaRecall</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BIC>BTRLRO22</BIC>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<BIC>INGBROBUXXX</BIC>
</FinInstnId>
</Agt>
</Assgne>
<CreDtTm>2019-11-28T12:27:39</CreDtTm>
</Assgnmt>
<Sts>
<Conf>RJCR</Conf>
</Sts>
<CxlDtls>
<TxInfAndSts>
<CxlStsId>NegativeResponsetoaRecall</CxlStsId>
<OrgnlGrpInf>
<OrgnlMsgId>ORIGINAL PACS.008</OrgnlMsgId>
<OrgnlMsgNmId>pacs.008.001.02</OrgnlMsgNmId>
</OrgnlGrpInf>
<OrgnlInstrId>SCTORD156820191128000000000023</OrgnlInstrId>
<OrgnlEndToEndId>NOTPROVIDED</OrgnlEndToEndId>
<OrgnlTxId>107</OrgnlTxId>
<TxCxlSts>RJCR</TxCxlSts>
<CxlStsRsnInf>
<Orgtr>
<Id>
<OrgId>
<BICOrBEI>BTRLRO22</BICOrBEI>
</OrgId>
</Id>
</Orgtr>
<Rsn>
<Cd>AGNT</Cd>
</Rsn>
</CxlStsRsnInf>
<OrgnlTxRef>
<IntrBkSttlmAmt Ccy="EUR">30</IntrBkSttlmAmt>
<IntrBkSttlmDt>2019-11-28</IntrBkSttlmDt>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
<ClrSys>
<Prtry>ST2</Prtry>
</ClrSys>
</SttlmInf>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<RmtInf>
<Ustrd>test</Ustrd>
</RmtInf>
<Dbtr>
<Nm>John Doe</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>RO83BTRLY3TSFANS83CS8NHG</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>BTRLRO22</BIC>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>INGBROBUXXX</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Bruno</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>RO41INGBIJEHFMQA3Y4VY19V</IBAN>
</Id>
</CdtrAcct>
</OrgnlTxRef>
</TxInfAndSts>
</CxlDtls>
</RsltnOfInvstgtn>
</Document>
Get SEPA messages
Retrieves the details of existing SEPA messages.
Action: GET
Endpoint: /instructions?network=SEPA&direction=O&messageType=pacs.008
Parameters
Name | Value |
---|---|
Network | The network where the payment was routed e.g SEPA |
Direction | Incoming (I) or Outgoing (O) e.g SEPA |
messageType | Message type to. be retrieved e.g pacs.008 |
dateFrom | Earliest date of SEPA Message you are searching for (YYYY-MM-DD ) |
dateTo | Last date of SEPA messages you are searching for (YYYY-MM-DD ) |
Sample response body
{
"instructions": [
"FIToFICstmrCdtTrf": {
"grpHdr": {
"msgId": "SCTORD1568201",
"creDtTm": "2019-07-19T08:47:53Z",
"nbOfTxs": "1",
"ttlIntrBkSttlmAmt": {
"value": 100,
"ccy": "EUR"
"intrBkSttlmDt": "2019-07-19T00:00:00Z",
sttlmInf": {
"clrSys": {
"prtry": "ST2"
"instgAgt": {
"finInstnId": {
"bic": "BTRLRO23"
"cdtTrfTxInf": [
"pmtId": {
"instrId": "40b1d0c833304e36b9496766734539d",
"endToEndId": "NOTPROVIDED",
"txId": "188409"
"pmtTpInf": {
"svcLvl": {
"cd": "SEPA"
"intrBkSttlmAmt": {
"value": 100,
"ccy": "EUR"
"chrgBr": "SLEV",
"dbtr": {
"nm": "John Doe"
"dbtrAcct": {
"id": {
"iban": "RO47BTRL9WW43DGA66YOGSFID"
"dbtrAgt": {
"finInstnId": {
"bic": "BTRLRO23"
"cdtrAgt": {
"finInstnId": {
"bic": "LHVBEE23XXx"
"cdtr": {
"nm": "Jane Doe"
"cdtrAcct": {
"id": {
"iban": "EE297700771000701245"
"rmtInf": {
"ustrd": "P5471063"
"_metadata": {
"transactionSn": 58,
"transactionStatus": "SENT",
"paymentId": "40b1d0c833304e36b9496766783459d"
"_metadata": {
"bulkSn": 54,
"direction": "O",
"messageId": "pacs.008",
"procstatus": "RELEASED",
"transactions": 1