Customer credit transfer (Pacs.008)

Prev Next

Making payments with SEPA Instant Credit Transfer

This tutorial describes how you can make SEPA Instant Credit Transfer (SCT Inst) payments with the PagoNxt Payments Hub API and accompanies the header information found in the Customer Credit Transfer message tutorial

For this tutorial, consider a scenario where a customer is based in Madrid and wants to transfer funds to a relative in Barcelona. To do so, they need to initiate an SCT Inst payment, which instantly transfers EUR between accounts in the Single European Payments Area (SEPA) countries. If there are enough funds in the customer's account, the Payments Hub API can be used to transfer the money to the other account. This tutorial describes, in 2 separate sections, how you can first make the SCT Inst payment using the ISO pacs.008 message and then receive a notification whenever the payment status changes, allowing you to retrieve its status using the ISO pacs.002 message.

Sandbox

The instructions in this tutorial apply to the sandbox environment

Request body

The request must include a JSON payload object in the request body. The JSON payload is a pacs.008 ISO message with the fitoFICstmrCdtTrf root element, and it contains the request details for submitting a payment.

The following table only provides information about some especially important fields. For details on all the required and optional message fields, see Message field definition for pacs.008 .

Message field

Description

Data type

Required/Optional

grpHdr.msgId

Message ID, which must uniquely identify each request you send.

This ID is used internally for idempotency of the API.

String

Required

grpHdr.creDtTm

Date and time of the payment request

String

Required

grpHdr.nbOfTxs

Number of transactions within the message.

Value: 1

Number

Required

grpHdr.sttlmInf.sttlmMtd

Settlement method.

Value: CLRG

String

Required

grpHdr.sttlmInf.clrSys.prtry

Clearing system.

Value: TIP for TIPS

String

Required

grpHdr.intrBkSttlmDt

Date when the interbank settlement amount moves from the instructing agent to the instructed agent

String

Required

cdtTrfTxInf.pmtId.endToEndId

End-to-end ID, which can be used to track the transaction between payment systems.

If no end-to-end ID then it should be populated with NOTPROVIDED

String

Required

cdtTrfTxInf.pmtId.txId

Transaction ID.

String

Optional

cdtTrfTxInf.pmtTpInf.svcLvl.cd

Payment scheme type.

Value: SEPA

String

Required

cdtTrfTxInf.pmtTpInf.svcLvl.lclInstrm.cd

Payment scheme type.

Value: INST

String

Required

cdtTrfTxInf.intrBkSttlmAmt

Data structure containing the payment currency and the amount to be transferred.

The currency must be EUR and the amount must be a positive value.

Object

Required

cdtTrfTxInf.chrgBr

Charge bearer type.

Value: SLEV

String

Required

cdtTrfTxInf

► .dbtr

► .dbtrAcct

► .dbtrAgt

Data structures containing the details for the debtor, the debtor’s account, and the debtor agent

Object

Required

cdtTrfTxInf

► .cdtr

► .cdtrAcct

► .cdtrAgt

Data structures containing the details for the creditor agent, the creditor, and the creditor’s account

Object

Required

Example request body:

{
    "fitoFICstmrCdtTrf": {
      "grpHdr": {
        "msgId": "dd5299f6954156319c92511dd01159f25",
        "nbOfTxs": "1",
        "creDtTm": "2025-06-18T09:11:08.231Z",
        "intrBkSttlmDt": "2025-06-18",
        "sttlmInf": {
          "sttlmMtd": "CLRG",
          "clrSys": {
            "prtry": "TIP"
          }
        }
      },
      "cdtTrfTxInf": [
        {
          "pmtId": {
            "endToEndId": "V1SEPAOTH8555990"
          },
          "pmtTpInf": {
            "svcLvl": [
              {
                "cd": "SEPA"
              }
            ],
            "lclInstrm": {
              "cd": "INST"
            }
          },
          "intrBkSttlmAmt": {
            "ccy": "EUR",
            "value": 1000
          },
          "chrgBr": "SLEV",
          "cdtrAgt": {
            "finInstnId": {
              "bicfi": "BSCHITMMXXX"
            }
          },
          "cdtr": {
            "nm": "Nombre Beneficiario 1",
            "pstlAdr": {
              "twnNm": "Venecia",
              "ctry": "IT",
              "adrLine": [
                "Calle",
                "Calle"
              ]
            }
          },
          "cdtrAcct": {
            "id": {
              "iban": "IT63K0338901600010411502250"
            }
          },
          "dbtrAgt": {
            "finInstnId": {
              "bicfi": "BSCHDEFFXXX"
            }
          },
          "dbtr": {
            "nm": "Nombre Beneficiario 3",
            "pstlAdr": {
              "twnNm": "ESSEN",
              "pstCd": "45143",
              "ctry": "DE",
              "strtNm": "THYSSENKRUPP ALLEE",
              "bldgNb": "1"
            }
          },
          "dbtrAcct": {
            "id": {
              "iban": "DE90503205000315248250"
            }
          }
        }
      ],
      "splmtryData": [
        {
          "envlp": {
            "any": {
              "indctrs": {
                "fxInd": "N"
              },
              "rltdPmts": {
                "blkMsgId": "32187RYYY8",
                "blkHubId": "b37533b8-8e7f-34fe-b7a5-43f768dc9f64"
              }
            }
          }
        }
      ]
    }
  }