Make payments originating overseas

Prev Next

Making overseas payments with Faster Payments (pacs.008)

This tutorial describes how you can make Faster Payments Originated Overseas (POO) using the Payments Hub API (Pacs.008 message) and accompanies the information in the Customer Credit Transfer tutorial here

For this tutorial, consider a scenario where a customer wants to make an overseas Faster Payments (FP) payment - send money from their bank account somewhere in the world to a UK bank account, as quickly as possible.

Sandbox

These instructions apply to the Sandbox environment only

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.

Table: Submit the payment - Relevant request body elements

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.

The value must consist of letters and digits only.

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.ttlIntrBkSttlmAmt

Data structure containing the payment currency and the amount for the total interbank settlement.

The currency must be GBPand the amount must be a positive value.

If these fields are used, the amount must be equal to the sum of all the transactions in the message.

Object

Optional

grpHdr.sttlmInf.sttlmMtd

Settlement method.

Value: CLRG

String

Required

cdtTrfTxInf.pmtId.endToEndId

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

String

Required

cdtTrfTxInf.pmtId.txId

Transaction ID, which must uniquely identify each transaction within the message

String

Required

cdtTrfTxInf.pmtTpInf.svcLvl.prtry

Payment scheme type.

Value: FP

String

Optional

cdtTrfTxInf.pmtTpInf.lclInstrm.prtry

Faster Payments Scheme (FPS) processing code

String

Required

cdtTrfTxInf.pmtTpInf.ctgyPurp.prtry

Payment channel

String

Optional

cdtTrfTxInf.intrBkSttlmAmt

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

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

Object

Required

cdtTrfTxInf.chrgBr

Charge bearer type.

The possible values are:

  • SLEV = Charges are applied according to the rules agreed in the service level and/or scheme

  • SHAR = Charges on the sender side are borne by the debtor, and charges on the receiver side are borne by the creditor

String

Required

cdtTrfTxInf

► .intrmyAgt1

► . intrmyAgt1Acct

Data structures containing the details for the intermediary agent and the agent's account.

These structures are required if you use multiple agencies and agency accounts for debiting.

Object

Optional

cdtTrfTxInf

► .dbtr

► .dbtrAcct

► .dbtrAgt

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

Object

Required

cdtTrfTxInf

► .cdtrAgt

► .cdtr

► .cdtrAcct

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

Object

Required

cdtTrfTxInf.rgltryRptg

List of regulatory reporting data

Array

Optional

cdtTrfTxInf.rmtInf

Data structure containing remittance details

Object

Optional

Example request body:

{
    "fitoFICstmrCdtTrf": {
        "grpHdr": {
            "msgId": "MsgId-4334558394999123",
            "creDtTm": "2022-02-03T11:08:19.664+01:00",
            "nbOfTxs": "1",
            "sttlmInf": {
                "sttlmMtd": "CLRG"
            }
        },
        "cdtTrfTxInf": [
            {
                "pmtId": {
                    "endToEndId": "e2eId-1587641040",
                    "txId": "111112"
                },
                "pmtTpInf": {
                    "svcLvl": [
                        {
                            "prtry": "FP"
                        }
                    ],
                    "lclInstrm": {
                        "prtry": "TRF"
                    }
                },
                "intrBkSttlmAmt": {
                    "value": 10.04,
                    "ccy": "GBP"
                },
                "xchgRate": 0.10,
                "chrgBr": "SHAR",
                "dbtr": {
                    "nm": "Debtor",
                    "pstlAdr": {
                        "twnNm": "amsterdam",
                        "ctry": "NL",
                        "adrLine": [
                            "Somewhere in Netherlands"
                        ]
                    }
                },
                "dbtrAcct": {
                    "id": {
                        "othr": {
                            "id": "12345678"
                        }
                    }
                },
                "dbtrAgt": {
                    "finInstnId": {
                        "bicfi": "XXXXXXXXXX",
                        "pstlAdr": {
                            "twnNm": "amsterdam",
                            "ctry": "NL",
                            "adrLine": [
                                "Somewhere in Netherlands"
                            ]
                        }
                    }
                },
                "cdtrAgt": {
                    "finInstnId": {
                        "bicfi": "XXXXXXXX",
                        "clrSysMmbId": {
                            "mmbId": "090401"
                        },
                        "pstlAdr": {
                            "twnNm": "miltonKeynes",
                            "ctry": "GB",
                            "adrLine": [
                                "Somewhere in MK"
                            ]
                        }
                    }
                },
                "cdtr": {
                    "nm": "Creditor",
                    "pstlAdr": {
                        "twnNm": "miltonKeynes",
                        "ctry": "GB",
                        "adrLine": [
                            "Somewhere in MK"
                        ]
                    }
                },
                "cdtrAcct": {
                    "id": {
                        "iban": "GB91BARC09023134945865"
                    }
                },
                "rmtInf": {
                    "strd": [
                        {
                            "cdtrRefInf": {
                                "ref": "validref123"
                            }
                        }
                    ]
                }
            }
        ]
    }
}