SEPA Credit Transfers
  • 03 Feb 2022
  • 12 Minutes To Read
  • Dark
    Light
  • PDF

SEPA Credit Transfers

  • Dark
    Light
  • PDF

Article Summary

SEPA Credit messages are XML files composed of 3 building blocks:

  1. Group Header - It contains elements such as Message Identification, Creation Date and Time.
  2. Payment Information - Contains Debtor and Payment Type Information for one or more Transaction Information Blocks.
  3. 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:

image.png

Note 1
The Mambu Payment Gateway (MPG) is the Mambu Service responsible for generating SEPA compliant messages.
Note 2
To send messages you will need to configure the callout URL on the MPG UI and to receive messages you will need to use the incoming message endpoint.

Basic End-to-End Flows

image.png

Please Note
Outgoing Payments can also be rejected for a certain number of reasons such as:
  • 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.

SEPA Core Service
The MPG follows the guidelines for SEPA Core Mandatory subset - EPC Guidelines - thus using messages only containing message elements defined as part of the SEPA Core Mandatory Subset (shaded in yellow in Sepa Rulebook)

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"
}
Additional Information
Other tags can be added to the payment initiation request such as the payment purpose code or the remittance information

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)"
        }
    ]
}
IBAN validations
Mambu validates the bank code in an IBAN and derives the BIC from the IBAN. Validations on the IBAN structure, control sum and specific country rules are also run.
Retry mechanism

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

NameValue
paymentIDThe 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

Screenshot 2019-07-24 at 05.48.31

Mambu Payment Gateway allows clients to receive funds from external entities through API.

incomingMessage

The endpoint creates a new incoming payment in Mambu.

Validations

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

NameValue
Content Typeapplication/xml
NameDescription
body *requiredInitiate 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.

Screenshot 2019-07-24 at 05.57.30

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*

Screenshot 2019-07-24 at 05.58.54

Please Note
The reasons for an incoming payment to be rejected are:
  • 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

ActionFrom stateTo statePost Conditions
Receive paymentReceivedThe bulk credit instruction file (pacs.008) is received
DebulkReceivedDebulkedThe 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
Recall Reasons
While initiating a Recall request, you can specify the reason for the recall. All valid reject codes applicable are listed for this field.

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)
Matching original transactions
On receiving a positive / negative response for a recall request from beneficiary bank, the system matches the same with the original transaction

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

image.png

On the MPG - outgoing list , find and open a payment with status settled.
Screenshot 2019-07-24 at 06.00.55

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.
Screenshot 2019-07-24 at 06.01.02

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:
Screenshot 2019-07-24 at 06.06.48

Outgoing Recall
The recall message can be found in the Outgoing section

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.

Initiate a Recall after the 10th business day

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.

image.png

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

NameDescription
body *requiredInitiate 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

NameDescription
body *requiredInitiate 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

ActionFrom stateTo statePost Conditions
ReturnReceived / DebulkedReturnedIndividual credit transfer instruction is returned and corresponding pacs.004 file is generated
SendReturnedSentGenerated 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.

image.png

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.

image.png

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

NameDescription
body *requiredInitiate 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

NameValue
NetworkThe network where the payment was routed e.g SEPA
DirectionIncoming (I) or Outgoing (O) e.g SEPA
messageTypeMessage type to. be retrieved e.g pacs.008
dateFromEarliest date of SEPA Message you are searching for (YYYY-MM-DD)
dateToLast 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  

Was this article helpful?

What's Next