Skip to main content

Payment parameters

This topic provides information and applicable tables for required and optional fields to develop for your region/market.

Required fields for all Real-Time Payments

Real-Time Payments requests have different required fields based on their use case, but there are certain fields that are required for ALL Real-Time Payments requests, regardless of region or payment method. The following table describes these fields in more detail.

Required fields for all Real-Time Payments
JSON field name Description
payments.requestedExecutionDate Requested date on/by which the transaction should be executed (by Debtor FI). ISO Date format. (YYYY-MM-DD)
payments.paymentIdentifiers.endToEndId Customer assigned reference to the transaction. Maximum length supported based on instrument and market. Information provided within the API specification.
payments.paymentCurrency Three character ISO currency code: AUD, BRL, HKD, JPY, MYR, MXN, EUR, SGD, GBP and USD.
payments.paymentAmount Amount should be more than 0.01 with maximum of two decimal places allowed. Maximum amount supported based on market/instrument. Information provided within the API specification.
payments.paymentType Specifies the instrument type. Use RTP for Real-Time Payments.
payments.debtor.debtorAccount.accountId This field is to provide the DDA Account ID.
payments.debtoragent.financialInstitutionId.bic Financial institution identifier of debtor. Valid values for the field are located within the API specification. Exception: United States (TCH / FedNow) does not use BIC id's. ABA/routing numbers are used for United States. See the United States (TCH / FedNow) section of this page for additional information.
payments.creditor.creditorAccount.accountId This field is used to provide the regular Account ID when it is a Pay by Account instruction. If using Pay by Proxy, this is not required. Maximum length supported for each instrument and market:
  • Australia (NPP) — 35
  • Brazil (PIX) — 34
  • Hong Kong (FPS) — 35
  • Mexico (SPIE) — 18
  • SEPA Zone — 34 (IBAN)
  • Singapore (FAST) — 35
  • United Kingdom (UK FPS) — 8 (Account numbers containing less than eight digits must be padded with leading zeros.)
  • United States (TCH / FedNow) — 31
payments.transferType This field indicates the transaction is a credit transfer or direct debit transfer. This indicator also determines the originator and receiver are the debit and credit side of this transaction. Use CREDIT for Real-Time Payments.

Regional differences

In addition to the required fields for all Real-Time Payments, additional requirements by market may be needed. Information in this section provides details for these region specific requirements. Optional field information and details are also provided. Review the information for the region to understand the requirements prior to coding. Refer to the API specification for all available fields, as this information does not reference every optional field available. 

Australia (NPP)

Additional field information for Australia (NPP)
JSON field name Australia (NPP) General usage description / definition
payments.creditorAgent.financialInstitutionId.clearingSystemId.Id Required  
payments.creditor.creditorAccount.schemeName.proprietary Required Only PayID
payments.creditor.creditorAccount.alternateAccountIdentifier Required Only PayID

Required field information 

  • payments.creditorAgent.financialInstitutionId.clearingSystemId.Id — This field is required for Australia (AU NPP).
  • payments.creditor.creditorAccount.schemeName.proprietary  — This field is required for Pay to Proxy (Pay Id) only. Values include:
    • EMAL — Email Address
    • TELI — Telephone Number
    • AUBN — Australia Business number
    • ORGN — Organization Id
  • payments.creditor.creditorAccount.alternateAccountIdentifier — This field is required for Pay to Proxy (Pay Id) only.

Optional field information and details

  • payments.creditor.countryOfResidence — This is an optional field that can be used for Beneficiary Residency.
  • payments.remittanceInformation.unstructuredInformation — This is an optional field. Note that unstructured information should be written in one line; with a maximum of 140 characters..

Examples for Australia (AU NPP)

Example for Australia (AU NPP) : Mandatory Fields
Json
{
	"payments": {
		"possibleDuplicateMessage": false,
		"paymentIdentifiers": {
			"endToEndId": "AUPVTTESTC1005"
		},
		"requestedExecutionDate": "2023-08-02",
		"transferType": "CREDIT",
		"paymentType": "RTP",
		"paymentCurrency": "AUD",
		"paymentAmount": 1.00,
		"debtor": {
			"debtorAccount": {
				"accountId": "00123456",
				"accountCurrency": "AUD",
				"accountType": "DDA"
			}
		},
		"debtorAgent": {
			"financialInstitutionId": {
				"bic": "CHASAU2X",
				"clearingSystemId": {
					"id": "217700"
				}
			}
		},
		"creditorAgent": {
			"financialInstitutionId": {
				"clearingSystemId": {
					"id": "062320"
				}
			}
		},
		"creditor": {
			"creditorName": "JOHN DOE",
			"creditorAccount": {
				"accountId": "123456"
			}
		},
		"remittanceInformation": {
			"unstructuredInformation": ["AU PVT IRCT P2A Successful TXN"]
		}
	}
}
Example for Australia (AU NPP) : Full Payload
Json
{
  "payments": {
    "possibleDuplicateMessage": false,
    "paymentIdentifiers": {
      "endToEndId": "XR012345678901234152"
    },
    "requestedExecutionDate": "2023-08-02",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "AUD",
    "paymentAmount": 1.01,
    "debtor": {
      "debtorAccount": {
        "accountId": "110123456",
        "accountCurrency": "AUD",
        "accountType": "DDA"
      },
      "ultimateDebtor": {
        "ultimateDebtorName": "AU IRCT P2A Ultimate Debtor",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "UDebtor streetName",
          "buildingNumber": "buildingNumber",
          "postalCode": "UD123456",
          "townName": "UDtownName",
          "country": "AU",
          "countrySubDvsn": "Udebtor countrySubDvsn",
          "addressLine": [
            "address line1",
            "address line2",
            "address line3",
            "address line4"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2021-01-01",
          "cityOfBirth": "R city",
          "countryOfBirth": "AU"
        },
        "countryOfResidence": "AU"
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASAU2X"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "bic": "BOFAAUSX",
        "clearingSystemId": {
          "id": "123456"
        }
      }
    },
    "creditor": {
      "creditorName": "AU IRCT P2A Creditor Name",
      "postalAddress": {
        "addressType": "ADDR",
        "streetName": "Receiver streetName",
        "buildingNumber": "buildingNumber",
        "postalCode": "R123456",
        "townName": "RtownName",
        "country": "AU",
        "countrySubDvsn": "Receiver countrySubDvsn",
        "addressLine": [
          "creditor adrLine1",
          "address line2",
          "address line3",
          "address line4"
        ]
      },
      "dateAndPlaceOfBirth": {
        "birthDate": "2021-01-01",
        "cityOfBirth": "R city",
        "countryOfBirth": "AU"
      },
      "countryOfResidence": "AU",
      "creditorAccount": {
        "accountId": "110123456"
      },
      "ultimateCreditor": {
        "ultimateCreditorName": "AU IRCT P2A Ultimate Creditor",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "UCreditor streetName",
          "buildingNumber": "buildingNumber",
          "postalCode": "UC123456",
          "townName": "UCtownName",
          "country": "AU",
          "countrySubDvsn": "Ucreditor countrySubDvsn",
          "addressLine": [
            "address line1",
            "address line2",
            "address line3",
            "address line4"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2021-01-01",
          "cityOfBirth": "R city",
          "countryOfBirth": "AU"
        },
        "countryOfResidence": "AU",
        "organizationId": {
          "id": "110123456",
          "schemeName": {
            "proprietary": "CLIENT_Id"
          }
        }
      }
    },
    "purpose": {
      "code": "GDDS",
      "type": "CODE"
    },
    "categoryPurpose": {
      "proprietary": "PENS"
    },
    "remittanceInformation": {
      "unstructuredInformation": [
        "FOR INVOICE: 2020-078-07-00001",
        "FOR INVOICE: 2020-078-07-00002"
      ]
    }
  }
}

Brazil (PIX)

Brazil (PIX) has Real-Time Payments that use bank information and proxy data, which can include additional information. Requirements for this region include additional information when using Pay to Proxy versus only Pay to Account. Refer to the following table to determine the necessary fields for the payment type used, in addition to the common fields for all Real-Time Payments.

Additional field information for Brazil (PIX) - Pay to Account
JSON field name Brazil (PIX) General usage description / definition
payments.creditorAgent.financialInstitutionId.clearingSystemId.Id Required ISPB Beneficiary Bank Code
payments.creditorAgent.financialInstitutionId.clearingSystemId.branchnumber Required Beneficiary Branch number
payments.creditor.creditorName Required Beneficiary Name
payments.creditorAccount.accountType Required
  • CACC — Checking account
  • TRAN — Payment account (should only be used in v2)
  • SVGS — Savings acccount
taxInformation.creditorTaxInformation.taxId Required Beneficiary Tax ID
payments.taxInformation.creditorTaxInformation.taxId.taxpayerCategory Required
  • INDIVIDUAL — When the beneficiary is an individual.
  • CORPORATE — When the beneficiary is corporation.
Additional field information for Brazil (PIX) – Pay to Proxy
JSON field name Brazil (PIX) General usage description / definition
payments.creditor.creditorAccount.accountId Optional For Pay to Proxy; this field is not mandatory.
payments.creditor.creditorName Required Beneficiary Name
payments.creditorAccount.schemeName.proprietary Required
  • EMAL — Email Proxy
  • MOBN — Mobile Number Proxy
  • CPF — Individual Tax ID
  • CNPJ — Corporate Tax ID
  • EVP — Random proxy
  • QRCD — QR Code
payments.creditorAccount.schemeName.proprietary.alternateAccountIdentifier Required
  • EMAL — 72 characters
  • MOBN — 13 characters
  • CPF — 11 characters
  • CNPJ —14 characters
  • EVP — 32 characters (random)
  • QRCD — 1000 characters
payments.taxInformation.creditorTaxInformation.taxId Required Beneficiary Tax ID
payments.taxInformation.creditorTaxInformation.taxId.taxpayerCategory Required
  • INDIVIDUAL — When the beneficiary is an individual.
  • CORPORATE — When the benficiary is a corporation.

Required field information

Pay to Account: 

  • payments.creditorAgent.financialInstitutionId.clearingSystemId.Id — A required field when using Pay to Account. 
  • payments.creditorAgent.financialInstitutionId.clearingSystemId.branchnumber — A required field that represents the beneficiary branch number.
  • payments.creditor.creditorName — A required field for the beneficiary name.
  • payments.creditorAccount.accountType — A required field when using Pay to Account. Value options include:
    • CACC — Checking account 
    • TRAN — Payment account (should only be used in v2)
    • SVGS — Savings account
  • payments.taxInformation.creditorTaxInformation.taxId — A required field for the beneficiary's Tax ID.
  • payments.taxInformation.creditorTaxInformation.taxId.taxpayerCategory — A required field for this region when using Pay to Account. Value options include:
    • INDIVIDUAL — When the beneficiary is an individual. 
    • CORPORATE  — When the beneficiary is a corporation.

Pay to Proxy:

  • payments.creditor.creditorName — This is a required field for the beneficiary name.
  • payments.creditorAccount.schemeName.proprietary — This is a required field when using Pay to Proxy. Value options include:
    • EMAL — for email Proxy
    • MOBN — for Mobile Number Proxy
    • CPF — for Individual Tax ID
    • CNPJ — for Corporate Tax ID
    • EVP — for random Proxy QRCD for QR code
  • payments.creditorAccount.schemeName.proprietary.alternateAccountIdentifier — A required field when using Pay to Proxy. Proxy data includes:
    • EMAL — 72 characters
    • MOBN — 13 characters
    • CPF — 11 characters
    • CNPJ — 14 characters
    • EVP — 32 characters
    • QRCD — 1000 characters
  • payments.taxInformation.creditorTaxInformation.taxId — This is a required field for the beneficiary's Tax ID.
  • payments.taxInformation.creditorTaxInformation.taxId.taxpayerCategory — This is a required field. Value options include:
    • INDIVIDUAL — When the beneficiary is an individual. 
    • CORPORATE  — When the beneficiay is a corporation.

Optional field information and details

  • payments.creditor.creditorAccount.accountId — This is an optional field when Pay to Proxy is used.  

Examples for Brazil (PIX)

Example for Brazil (PIX) : Mandatory Fields
Json
{
    "payments": {
        "paymentIdentifiers": {
            "endToEndId": "BR2022_07_05_471"
        },
        "requestedExecutionDate": "2023-07-01",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "BRL",
        "paymentAmount": 0.98,
        "debtor": {
            "debtorAccount": {
                "accountId": "1234567"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "bic": "CHASBRSP"
            }
        },
        "creditorAgent": {
            "financialInstitutionId": {
                "clearingSystemId": {
                    "id": "33172537",
                    "branchNumber": "1"
                }
            }
        },
        "creditor": {
            "creditorName": "BR P2A Name",
            "creditorAccount": {
                "accountId": "0012345678",
                "accountType": "CACC"
            }
        },
        "taxInformation": {
            "creditorTaxInformation": {
                "taxId": "00044967012",
                "taxpayerCategory": "INDIVIDUAL"
            }
        }
    }
}
Example for Brazil (PIX) : Pay to Account
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "XR202109202311354152"
    },
    "requestedExecutionDate": "2023-08-07",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "BRL",
    "paymentAmount": 0.98,
    "debtor": {
      "debtorAccount": {
        "accountId": "1000123"
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASBRSP"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "33172537",
          "branchNumber": "1"
        }
      }
    },
    "creditor": {
      "creditorName": "Alison Becker",
      "creditorAccount": {
        "accountId": "0012345678",
        "accountType": "CACC"
      }
    },
    "taxInformation": {
      "creditorTaxInformation": {
        "taxId": "00044967012",
        "taxpayerCategory": "INDIVIDUAL"
      }
    }
  }
}
Example for Brazil (PIX) : Pay to Proxy
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "XR202109202311354152"
    },
    "requestedExecutionDate": "2023-08-07",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "BRL",
    "paymentAmount": 0.98,
    "debtor": {
      "debtorAccount": {
        "accountId": "1000123"
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASBRSP"
      }
    },
    "creditor": {
      "creditorName": "Alison Becker",
      "creditorAccount": {
                                "schemeName": {
                                                "proprietary": "MOBN"
                                },
                                "alternateAccountIdentifier": "5511999999999"
      }
    },
    "taxInformation": {
      "creditorTaxInformation": {
        "taxId": "00044967012",
        "taxpayerCategory": "INDIVIDUAL"
      }
    }
  }
}

Hong Kong (FPS)

Additional field information for Hong Kong (FPS)
JSON field name Hong Kong (FPS) General usage description / definition
payments.creditorAgent.financialInstitutionId.clearingSystemId.Id Required  
payments.creditor.creditorAccount.schemeName.proprietary Required Required for Pay to Proxy only
payments.creditor.creditorAccount.alternateAccountIdentifier Required Required for Pay to Proxy only
payments.categoryPurpose.proprietary Required Refer to the Resources page for a list of available purpose code values.

Required field information 

  • payments.creditorAgent.financialInstitutionId.clearingSystemId.Id — This is a required field.
  • payments.creditor.creditorAccount.schemeName.proprietary — This is a required field for Pay to Proxy only. Values options include:
    • EMAL — Email Address
    • MOBN — Mobile Number (or fixed-line number)
    • SVID — FPS Identifier
  • payments.creditor.creditorAccount.alternateAccountIdentifier — This is a required field for Pay to Proxy only.
  • payments.categoryPurpose.proprietary — This is a required field. Refer to the Resources page for a list of the required purpose code values.

Additional details about required payment fields

  • payments.paymentIdentifiers.endToEndId — This field has a maximum of 35 characters (letters and numbers only).
  • payments.creditor.creditorAccount.accountId  — This is a required field for a Pay to Account.

Optional field information and details

  • payments.creditor.countryOfResidence — This is an optional field that can be used for Beneficiary Residency.
  • payments.remittanceInformation.unstructuredInformation — This is an optional field. Note that unstructured information should be written in one line; with a maximum of 140 characters.

Example Code for Hong Kong (HK FPS)

Example for Hong Kong (FPS) : Mandatory Fields
Json
{
  "payments": {
    "categoryPurpose": {
      "proprietary": "CXBSNS"
    },
    "creditor": {
      "creditorAccount": {
        "accountId": "12344567",
        "accountType": "BBAN"
      },
      "creditorName": "ABC Limited",
      "postalAddress": {
        "addressLine": [
          "29/F. , Hong Ko",
          "ng"
        ],
        "country": "HK"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "003"
        }
      }
    },
    "debtor": {
      "debtorAccount": {
        "accountCurrency": "HKD",
        "accountId": "12345678"
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASHKHH"
      }
    },
    "paymentAmount": 1,
    "paymentCurrency": "HKD",
    "paymentIdentifiers": {
      "endToEndId": "20220728641134"
    },
    "paymentType": "RTP",
    "remittanceInformation": {
      "unstructuredInformation": [
        "NFT20220728641134EOF"
      ]
    },
    "requestedExecutionDate": "2022-07-28",
    "transferType": "CREDIT"
  }
}
Example for Hong Kong (FPS) : Full Payload
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "XR202109202311354152"
    },
    "requestedExecutionDate": "2022-06-01",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "HKD",
    "paymentAmount": 1.03,
    "debtor": {
      "debtorAccount": {
        "accountId": "6700000001",
        "accountCurrency": "HKD"
      },
      "ultimateDebtor": {
        "ultimateDebtorName": "Hong Kong Subsidiary Limited",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "Central Street",
          "buildingNumber": "01, 1/F",
          "postalCode": "999077",
          "townName": "Central",
          "country": "HK",
          "countrySubDvsn": "Central",
          "addressLine": [
            "address line1",
            "address line2",
            "address line3",
            "address line4"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "1950-12-31",
          "cityOfBirth": "Hong Kong",
          "countryOfBirth": "HK"
        }
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASHKHH"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "004"
        }
      }
    },
    "creditor": {
      "creditorName": "Public Inc.",
      "postalAddress": {
        "addressType": "ADDR",
        "streetName": "Connaught Road",
        "buildingNumber": "02, 2/F",
        "postalCode": "999077",
        "townName": "Wan Chai",
        "country": "HK",
        "countrySubDvsn": "Wan Chai",
        "addressLine": [
          "creditor adrLine1",
          "address line2",
          "address line3",
          "address line4"
        ]
      },
      "dateAndPlaceOfBirth": {
        "birthDate": "1980-10-20",
        "cityOfBirth": "Hong Kong",
        "countryOfBirth": "HK"
      },
      "creditorAccount": {
        "accountId": "1234567890",
        "accountType": "BBAN"
      },
      "ultimateCreditor": {
        "ultimateCreditorName": "John Smith",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "Connaught Road",
          "buildingNumber": "02, 2/F",
          "postalCode": "999077",
          "townName": "Wan Chai",
          "country": "HK",
          "countrySubDvsn": "Wan Chai",
          "addressLine": [
            "address line1",
            "address line2",
            "address line3",
            "address line4"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "1960-05-15",
          "cityOfBirth": "Hong Kong",
          "countryOfBirth": "HK"
        }
      }
    },
    "categoryPurpose": {
      "proprietary": "CXBSNS"
    },
    "remittanceInformation": {
      "unstructuredInformation": [
        "Invoice number 11. Paid by HK Ltd B/O HK Sub Ltd. Pay to Public Inc for John Smith"
      ]
    }
  }
}
Example for Hong Kong (FPS) : Pay to Proxy
Json
{
    "payments": {
        "paymentIdentifiers": {
            "endToEndId": "HK202203310512309{{$randomInt}}"
        },
        "requestedExecutionDate": "2023-07-01",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "HKD",
        "paymentAmount": 5.34,
        "categoryPurpose": {
            "proprietary": "CXSALA"
        },
        "debtor": {
            "debtorAccount": {
                "accountId": "6700001234"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "bic": "CHASHKHH"
            }
        },
        "creditorAgent": {
            "financialInstitutionId": {
                "clearingSystemId": {
                    "id": "007"
                }
            }
        },
        "creditor": {
            "creditorName": "HK P2P Name",
            "creditorAccount": {
                "schemeName": {
                    "proprietary": "MOBN"
                },
                "alternateAccountIdentifier": "+852-654654654"
            }
        }
    }
} 

Indonesia (BI-FAST)

Additional field information for Indonesia (BI-FAST)

JSON field name

Indonesia (BI-FAST)

General usage description / definition

payments.creditorAgent.financialInstitutionId.bic Required Credit Agent BIC code is required.
payments.categoryPurpose.proprietary Optional Refer to the Resources page for a list of available purpose code values.
payments.remittanceInformation.unstructuredInformation Optional one line; maximum length of 140 characters.

payments.creditor.creditorAccount.schemeName.proprietary

Conditional

Specifies the type of Proxy. Applicable for Pay By Proxy only where payments.creditor.creditorAccount.alternateAccountIdentifier is present.

payments.creditor.creditorAccount.alternateAccountIdentifier Conditional Alternate Account Identifier. Applicable for Pay By Proxy only.

payments.creditor.creditorAccount.creditorName

Conditional

Applicable for Pay By Account only. Maximum length of 140 characters.

Required field information 

  • payments.creditorAgent.financialInstitutionId.bic — This is a required field. The message information for BIC is a string that allows for the following supported parameters: [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}.
  • payments.creditor.creditorAccount.schemeName.proprietary — This is a conditionally required field for Pay to Proxy only, where payments.creditor.creditorAccount.alternateAccountIdentifier is present. Values options include:
    • MOBN — Mobile number
    • EMAL — Email Address
    • CARD — Card
    • ALIS — eMoney
  • payments.creditor.creditorAccount.alternateAccountIdentifier — This is a required field for Pay to Proxy only.
    • Alphanumeric with max 2048 characters
  • payments.creditor.creditorAccount.schemeName.proprietary — This field is conditionally required field that specifies the type of Proxy. Applicable for Pay By Proxy only where payments.creditor.creditorAccount.alternateAccountIdentifier is present.
    • Refer to the Resources page for a list of available purpose code values.

Additional details about required payment fields

  • payments.paymentIdentifiers.endToEndId — This is a required field, and may contain a maximum of 35 characters (alphanumeric only).
  • payments.creditor.creditorAccount.accountId — This is a required field for Pay to Account only, and may contain a maximum of 34 characters (alphanumeric only).

Optional field information and details

  • payments.creditor.countryOfResidence — This is an optional field that can be used for Beneficiary Residency.
  • payments.remittanceInformation.unstructuredInformation — This is an optional field, with a maximum of 140 characters. Note that unstructured information should be written in one line.

Example code for Indonesia (BI-FAST)

Example for Indonesia (BI-FAST) : Mandatory Fields – Pay to Account
Json
{
    "payments": {
        "paymentIdentifiers": {
            "endToEndId": "BIFASTPVTP2A01"
        },
        "requestedExecutionDate": "2023-03-20",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "IDR",
        "paymentAmount": 6500,
        "categoryPurpose": {
            "proprietary": "INVESTMENT"
        },
        "debtor": {
            "debtorName": "IDN Debtor Name",
            "debtorAccount": {
                "accountId": "8880004321"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "bic": "CHASIDJX"
            }
        },
        "creditorAgent": {
            "financialInstitutionId": {
                "bic": "BDINIDJA"
            }
        },
        "creditor": {
            "creditorName": "Mario Sutantri",
            "creditorAccount": {
                "accountId": "008821111234"
            }
        },
        "remittanceInformation": {
            "unstructuredInformation": [
                "Outward Pay to account transaction 1"
            ]
        }
    }
}
Example for Indonesia (BI-FAST) : Full Payload – Pay to Proxy
Json
{
    "payments": {
        "paymentIdentifiers": {
            "endToEndId": "BIFASTPVTP2A04"
        },
        "requestedExecutionDate": "2023-03-20",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "IDR",
        "paymentAmount": 10008,
        "categoryPurpose": {
            "proprietary": "INVESTMENT"
        },
        "debtor": {
            "debtorName": "IDN Debtor Name",
            "debtorAccount": {
                "accountId": "8850004321"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "bic": "CHASIDJX"
            }
        },
        "creditorAgent": {
            "financialInstitutionId": {
                "bic": "BDINIDJA"
            }
        },
        "creditor": {

            "creditorAccount": {
                "schemeName": {
                    "proprietary": "MOBN"
                },
                "alternateAccountIdentifier": "6281312340000"
            }
    },
      "remittanceInformation": {
                "unstructuredInformation": [
                    "Outward Pay to Proxy transaction 4"
                ]
            }
}
}

Malaysia (RPP)

Additional field information for Malaysia (RPP)
JSON field name Malaysia (RPP) General usage description / definition
payments.creditorAgent.financialInstitutionId.bic Required  
payments.creditor.creditorAccount.schemeName.proprietary Required For Pay to Proxy
payments.creditor.creditorAccount.alternateAccountIdentifier Required For Pay to Proxy
payments.creditor.countryOfResidence Required  
payments.purpose.code Required Required if either the debtor or creditor country of residency is not Malaysia.
payments.purpose.type Required PROPRIETARY — Required if either the debtor or creditor country of residency is not Malaysia.
payments.remittanceInformation.structuredInformation.creditReference Required  
payments.debtor.debtorDevice.ipAddress Required  

Required field information 

  • payments.creditorAgent.financialInstitutionId.bic — This is a required field. Message information for BIC within this field is a string that allows for the following supported parameters: [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}.
  • payments.creditor.creditorAccount.schemeName.proprietary — This is a required field for Pay to Proxy only. Value options include:
    • MBNO — Mobile number
    • NRIC — IC number
    • PSPT — Passport number
    • ARMN — Army or Police Number
    • BREG — Business registration number 
  • payments.creditor.creditorAccount.alternateAccountIdentifier — This is a required field for Pay to Proxy only.
  • purpose.code — This field is conditionally required if creditor.countryOfResidence != MY. Note that this field is always required when the creditor's country of residence is Malaysia.
    • Refer to the Resources page for a list of available purpose code values. 
  • payments.purpose.type — This field is conditionally required if creditor.countryOfResidence != MY. Note that this field is always required when the creditor's country of residence is Malaysia.
    • purpose.type = PROPRIETARY
  • payments.remittanceInformation.structuredInformation.creditReference — This is a required field.

Additional details about required payment fields

  • payments.paymentIdentifiers.endToEndId — This field can contain up to 35 characters (letters and numbers only).
  • payments.creditor.creditorAccount.schemeName.proprietary — This is a required field for Pay to Proxy only.
  • payments.creditor.creditorAccount.accountId  — This is a required field for Pay to Account only.
  • payments.creditor.creditorAccount.alternateAccountIdentifier — This is a required field for Pay to Proxy only.

Optional field information and details

  • payments.creditor.countryOfResidence — This is an optional field that can be used Beneficiary Residency.
  • payments.remittanceInformation.unstructuredInformation — This is an optional field. Note that unstructured information should be written in one line, with a maximum of 140 characters.

Example code for Malaysia (MY RPP)

Example for Malaysia (RPP) : Mandatory Fields
Json
{
    "payments": {
        "paymentIdentifiers": {
            "endToEndId": "MY20220621123832744"
        },
        "requestedExecutionDate": "2023-07-01",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "MYR",
        "paymentAmount": 1.01,
        "debtor": {
            "debtorDevice": {
                "ipAddress": "123.49.093.122"
            },
            "debtorAccount": {
                "accountId": "0076954321"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "bic": "CHASMYKX"
            }
        },
        "creditorAgent": {
            "financialInstitutionId": {
                "bic": "OCBCMYKLXXX"
            }
        },
        "creditor": {
            "creditorName": "MY P2A Name",
            "countryOfResidence": "MY",
            "creditorAccount": {
                "accountId": "9011401234"
                // "accountType": "CACC"   (Optional)
            }
        },
        "purpose": {
            "code": "17080",
            "type": "PROPRIETARY"
        },
        "remittanceInformation": {
            "structuredInformation": [
                {
                    "creditReference": "credit-reference-1"
                }
            ]
        }
    }
}
Example for Malaysia (RPP) : Full Payload
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "XR202109202311354152"
    },
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "MYR",
    "paymentAmount": 1,
    "debtor": {
      "debtorDevice": {
        "ipAddress": "123.45.67.890"
      },
      "debtorAccount": {
        "accountId": "0987654321"
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASMYKX"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "bic": "CITIMYKL"
      }
    },
    "creditor": {
      "creditorName": "ABC",
      "countryOfResidence": "MY",
      "creditorAccount": {
        "accountId": "987654321",
        "accountType": "SVGS"
      }
    },
    "purpose": {
      "code": "17080",
      "type": "PROPRIETARY"
    },
    "remittanceInformation": {
      "structuredInformation": [
        {
          "creditReference": "credit-reference-1"
        }
      ]
    }
  }
}

Mexico (SPEI)

Additional field information for Mexico (SPEI)
JSON field name Mexico (SPEI) General usage description / definition
payments.paymentCurrency Required MXN - Only available 
payments.debtor.ultimateDebtor.ultimateDebtorName Optional Field supports MX special character set; 140 max
payments.debtor.ultimateDebtor.postalAddress.streetName Optional Field supports MX special character set; 70 max
payments.debtor.ultimateDebtor.postalAddress.townName Optional Field supports MX special character set (35 max)
payments.debtor.ultimateDebtor.postalAddress.addressLine Optional Field supports MX special character set (70 max)
payments.debtor.ultimateDebtor.organizationId.id Optional Field supports MX special character set (35 max)
payments.debtor.ultimateDebtor.dateAndPlaceOfBirth.cityOfBirth Optional Field supports MX special character set (35 max)
payments.debtor.ultimateDebtor.individualId.id Optional Field supports MX special character set (35 max)
payments.creditor.creditorName Required Field supports MX special character set (40 max)
payments.creditor.postalAddress.streetName Optional Field supports MX special character set (70 max)
payments.creditor.postalAddress.townName Optional Field supports MX special character set (70 max)
payments.creditor.postalAddress.addressLine Optional Field supports MX special character set (70 max) per line. Max of 7 occurrences.
payments.creditor.dateAndPlaceOfBirth.cityOfBirth Optional Field supports MX special character set (35 max)
payments.creditor.ultimateCreditor.ultimateCreditorName Optional Field supports MX special character set (140 max)
payments.creditor.ultimateCreditor.postalAddress.streetName Optional Field supports MX special character set (70 max)
payments.creditor.ultimateCreditor.postalAddress.addressLine Optional Field supports MX special character set (70 max) per line. 
payments.creditor.ultimateCreditor.dateAndPlaceOfBirth.cityOfBirth Optional Field supports MX special character set (35 max)
payments.remittanceInformation.unstructuredInformation Optional Field supports MX special character set (140 max). Number of fields is expected to be 10 or less.

Required field information 

  • payments.paymentCurrency — This is a required field for this region. 
  • payments.creditor.creditorName — This is a required field that supports the MX special character set. The input can be up to 40 characters.

Important considerations

  • POBO payments require previous authorization after analysis of the flows.
  • Local language characters are limited. Please see the following tables for valid characters and ASCII Codes. Additionally, a table for invalid and unsupported characters provides a list of characters that the API does not accept.

Valid Characters:

Supported special characters set for Mexico (SPEI)
Code Character Code Character Code Character Code Character
32 Espacio 56 8 83 S 111 o
33 ! 57 9 84 T 112 p
34 " 58 : 85 U 113 q
35 # 59 ; 86 V 114 r
36 $ 63 ? 87 W 115 s
37 % 64 @ 88 X 116 t
38 & 65 A 89 Y 117 u
39 ' 66 B 90 Z 118 v
40 ( 67 V 92 \ 119 w
41 ) 68 D 95 _ 120 x
42 * 69 E 97 a 121 y
43 + 70 F 98 b 122 z
44 , 71 G 99 c    
45 - 72 H 100 d    
46 . 73 I 101 e    
47 / 74 J 102 f    
48 0 75 K 103 g    
49 1 76 L 104 h    
50 2 77 M 105 i    
51 3 78 N 106 j    
52 4 79 O 107 k    
53 5 80 P 108 l    
54 6 81 Q 109 m    
55 7 82 R 110 n    

Invalid characters:

Characters not supported
Code Character
130 é
160 á
161 í
162 ó
163 ú
164 ñ
165 Ñ
168 ¿
173 ¡

Example code for Mexico (SPEI)

Tip

When testing, the CLABE account validates the first 3 digits that belong to a beneficiary bank, and the last digit follows the rules of the CLABE. For more information, please contact the implementation team. 

Example for Mexico (SPEI) : Mandatory Fields
Json
{
    "payments": {
        "paymentIdentifiers": {
            "endToEndId": "B00000047"
        },
        "requestedExecutionDate": "2023-03-29",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "MXN",
        "paymentAmount": 4.99,
        "debtor": {
            "debtorAccount": {
                "accountId": "0077000000",
                "accountType": "DDA"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "bic": "CHASMXMX"
            }
        },
        "creditorAgent": {
            "financialInstitutionId": {
                "clearingSystemId": {
                    "id": "002"
                }
            }
        },
        "creditor": {
            "creditorName": "XXXXXX",
            "creditorAccount": {
                "accountId": "000010077777777771",
                "accountType": "CLABE"
            }
        },
        "remittanceInformation": {
            "unstructuredInformation": [
                "unstructured-remittance-information-1"
            ]
        }
    }
}
Example for Mexico (SPEI) : Full Payload
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "XR01234567891135"
    },
    "requestedExecutionDate": "2022-06-30",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "MXN",
    "paymentAmount": 1.01,
    "debtor": {
      "debtorAccount": {
        "accountId": "0012345001",
        "accountCurrency": "MXN",
        "accountType": "DDA"
      },
      "ultimateDebtor": {
        "ultimateDebtorName": "Enzo Hernandez",
        "postalAddress": {
          "addressType": "ADDR",
          "country": "MX",
          "addressLine": [
            "Papua Lane",
            "Kew Park"
          ]
        },
        "individualId": {
          "id": "002",
          "issuer": "Elicia Carvalho"
        },
        "additionalIdentifiers": [
          {
            "id": "1234"
          }
        ]
      },
      "dateAndPlaceOfBirth": {
        "birthDate": "2021-01-01",
        "cityOfBirth": "Luxembourg",
        "countryOfBirth": "DE"
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASMXMX"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "bic": "CHASMXMX"
      }
    },
    "creditor": {
      "creditorName": "0000",
      "countryOfResidence": "MY",
      "postalAddress": {
        "addressType": "ADDR",
        "country": "DE",
        "addressLine": [
          "Texmaco Street",
          "Dinho River"
        ]
      },
      "dateAndPlaceOfBirth": {
        "birthDate": "2021-01-01",
        "cityOfBirth": "Luxembourg",
        "countryOfBirth": "DE"
      },
      "creditorAccount": {
        "accountId": "0012345395",
        "accountType": "DDA"
      },
      "ultimateCreditor": {
        "ultimateCreditorName": "Prince Gomez",
        "postalAddress": {
          "addressType": "ADDR",
          "country": "DE",
          "addressLine": [
            "Calicut Avenue",
            "Legend's Street"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2021-01-01",
          "cityOfBirth": "Luxembourg",
          "countryOfBirth": "DE"
        }
      }
    },
    "remittanceInformation": {
      "unstructuredInformation": [
        "Surf board payment"
      ]
    }
  }
}

SEPA Zone (SEPA Instant)

Additional field information for SEPA Zone (SEPA Instant)
Json Field Name SEPA Zone (SEPA Instant) General usage description / definition
payments.creditor.creditorName Required Field is expected to have maximum of 70 characters.
payments.creditor.creditorAccount Required Must be an IBAN.
payments.creditor.postalAddress.addressType Optional Values are ["ADDR","BIZZ","DLVY","HOME","MLTO","PBOX"]:
  • ADDR — Postal Address is the complete postal address.
  • BIZZ — Business Address is the business address.
  • DLVY — DeliveryTo Address is the address to which delivery is to take place.
  • HOME — Residential Address is the home address.
  • MLTO — MailTo Address is the address to which mail is sent.
  • PBOX — PO Box Address is a postal office (PO) box.
payments.creditor.postalAddress.country Optional This field is only required for Pay to Proxy.
payments.creditor.postalAddress.addressLine Optional Encouraged to populate where available to support Sanctions screening.
payments.debtor.debtorAccount Required Must be an IBAN.
payments.debtorAgent Required
  • Required field, SEPA Instant is supported for the following branches:
    • Frankfurt (CHASDEFX)
    • Dublin (CHASIE4L)
    • Luxembourg (CHASLULX)
payments.debtor.ultimateDebtor.ultimateDebtorName Conditional ultimateDebtorName is mandatory for TP3 flows to be compliant with FTR regulations.
payments.debtor.ultimateDebtor.countryOfResidence Conditional countryOfResidence is mandatory for TP3 flows to be compliant with FTR regulations.
payments.debtor.ultimateDebtor.postalAddress.country Conditional postalAddress.country is mandatory for TP3 flows to be compliant with FTR regulations.
payments.debtor.ultimateDebtor.postalAddress.addressline Conditional
  • postalAddress.addressline is mandatory for TP3 flows to be compliant with FTR regulations.
payments.debtor.ultimateDebtor.organizationId.id or payments.debtor.ultimateDebtor.individualId.Id Conditional
  • Mandatory for FTR regulations compliance when flows sent are TP3 flows.
  • Selected field depends on the Ultimate Debtor being an Individual or Organization.
  • Field is required to permit the traceability of the transaction.

Required field information 

  • payments.creditor.creditorName — This is a required field; with input of up to 70 characters.
  • payments.creditor.creditorAccount — This is a required field; must be an IBAN.
  • payments.debtor.debtorAccount  This is a required field; must be an IBAN.
  • payments.debtorAgent — This is a required field. SEPA Instant is supported for the following branches:
    • Frankfurt (CHASDEFX)
    • Dublin (CHASIE4L)
    • Luxembourg (CHASLULX)
  •  payments.creditorAgent.financialInstitutionId.bic — Clients are encouraged not to populate in payload, CreditorAgent BIC will be derived from the Creditor IBAN.

Conditional field information

Note
  • **Following 2023 rulebook go live in March 2024 ** - Both unstructured and structured address fields will be supported - If client elects to use the structured address fields they must populate it in one of the following format: 
    • Address Line + Country *OR*
    • Town Name + Country *OR*
    • (Postal Address fields except Address Line) + Town Name + Country
  • Starting from November 2025, structured address fields will be mandatory, and after  this date, unstructured address fields (Address Line) will no longer be supported.
  • If the transaction includes an Ultimate Debtor, the following fields are required:
    • payments.debtor.ultimateDebtor.ultimateDebtorName
    • payments.debtor.ultimateDebtor.countryOfResidence
    • payments.debtor.ultimateDebtor.postalAddress.country — Mandatory for TP3 flows to be compliant with FTR regulations.
    • payments.debtor.ultimateDebtor.postalAddress — Mandatory for TP3 flows to be compliant with FTR regulations.
    • payments.debtor.ultimateDebtor.organizationId.id or payments.debtor.ultimateDebtor.individualId.id — Selected field will depend on the Ultimate Debtor being an Individual or Organization.
      • Encouraged to populate the Ultimate Debtor's physical/virtual IBAN.
      • Mandatory field required to permit the traceability of the transaction back to the ultimate debtor; must be a “unique and unambiguous way to identify an individual/organization”.
      • In the event an IBAN is not available, a unique identifier should be specified.; to be determined by the payment service provider that could allow traceability back to the Ultimate Debtor.
    • organizationId.schemeName.proprietary– organiztionId now supports LEI in the proprietary field for creditor and ultimateDebtor.

Optional field information

  • payments.debtor.ultimateDebtor.postalAddress —  Mandatory for cross-border TP3 flows to be compliant with FTR obligations, not required for intra-EEA flows. postalAddress supports the following values that should be populated in line with the supported formats as stated above:  
    • streetName —  The street name. 
    • buildingNumber — The building number.
    • postalCode — The zip code.
    • townName —The town name. 
    • countrySubDvsn — The county sub division name.
    • country — The two character ISO country code.
    • addressLine — Up to four lines of free form text.
  • payments.creditor.postalAddress — This is an Optional field. Clients are encouraged to populate the creditor address (where available) to support a sanctions screening process. postalAddress supports the following values that should be populated in line with the supported formats as stated above:  
    • streetName —  The street name. 
    • buildingNumber — The building number.
    • postalCode — The zip code.
    • townName —The town name. 
    • countrySubDvsn — The county sub division name.
    • country — The two character ISO country code.
    • addressLine — Up to four lines of free form text.
  • payments.remittanceInformation.unstructuredInformation — This is an optional field. Note that unstructured information should be written in two lines, with a maximum of 70 characters each including spaces.  
    • It is incumbent on the beneficiary bank to display ultimate debtor fields to the beneficiary. It is recommended to add ultimate debtor information to the remittance information, as a way to increase the likelihood the information is passed to the beneficiary.

Example code for the SEPA Zone (SEPA Instant)

Example for SEPA Zone (SEPA Instant) : Mandatory Fields
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "SEPA2022_06_27_02222"
    },
    "requestedExecutionDate": "2023-07-01",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "EUR",
    "paymentAmount": 0.01,
    "debtor": {
      "debtorAccount": {
        "accountId": "DE88501108006231234567"
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASDEFX"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "bic": "IPSECHO1"
      }
    },
    "creditor": {
      "creditorName": "ABCD",
      "creditorAccount": {
        "accountId": "DE94501108006237654321"
      }
    }
  }
}
Example for SEPA Zone (SEPA Instant) : Full Payload
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "XR202109202311354152"
    },
    "requestedExecutionDate": "2023-02-06T00:00:00.000Z",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "EUR",
    "paymentAmount": 4550,
    "debtor": {
      "debtorAccount": {
        "accountId": "DE40501108006169009120",
        "accountCurrency": "EUR",
        "accountType": "IBAN"
      },
      "ultimateDebtor": {
        "ultimateDebtorName": "Donatella Kimmich",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "Karl Allee",
          "buildingNumber": "441",
          "postalCode": "UD1246",
          "townName": "Berlin",
          "countrySubDvsn": "Spandau",
          "country": "DE"
        },
        "organizationId": {
          "id": "DE88501108006231400596",
          "schemeName": {
            "proprietary": "LEI"
          }
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2000-10-07T00:00:00.000Z",
          "cityOfBirth": "Hamburg",
          "countryOfBirth": "DE"
        }
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASDEFX"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "bic": "CHASDEFX"
      }
    },
    "creditor": {
      "creditorName": "Joshua Klose",
      "countryOfResidence": "DE",
      "postalAddress": {
        "addressType": "ADDR",
        "streetName": "Marx Street",
        "buildingNumber": "1010",
        "postalCode": "1001XA",
        "townName": "Erding",
        "countrySubDvsn": "Bavaria",
        "country": "DE"
      },
      "dateAndPlaceOfBirth": {
        "birthDate": "1989-12-01T00:00:00.000Z",
        "cityOfBirth": "Munich",
        "countryOfBirth": "DE"
      },
      "creditorAccount": {
        "accountId": "DE39501108006169009138",
        "accountType": "IBAN"
      },
      "partyIdentifiers": {
        "organizationId": {
          "id": "87654322",
          "schemeName": {
            "proprietary": "LEI"
          }
        }
      },
      "ultimateCreditor": {
        "ultimateCreditorName": "Bastian Kahn",
        "postalAddress": {
          "addressType": "ADDR",
          "country": "DE",
          "addressLine": [
            "123 Bavarian Circle",
            "Munich 981"
          ]
        },
        "organizationId": {
          "id": "DEBT11080260066666",
          "schemeName": {
            "proprietary": "LEI"
          }
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2001-12-01T00:00:00.000Z",
          "cityOfBirth": "Dortmund",
          "countryOfBirth": "DE"
        }
      }
    },
    "purpose": {
      "code": "113",
      "type": "PROPRIETARY"
    },
    "remittanceInformation": {
      "unstructuredInformation": [
        "Payment for equipment supply"
      ]
    }
  }
}

Singapore (FAST)

Additional field information for Singapore (FAST)
JSON field name Singapore (FAST) General usage description /definition
payments.creditorAgent.financialInstitutionId.bic Required  
payments.creditor.creditorAccount.schemeName.proprietary Required Only for PayNow
payments.creditor.creditorAccount.alternateAccountIdentifier Required Only for PayNow
payment.purpose.code Required CODE
payments.purpose.type Required Use "CODE"

Required field information 

  • payments.creditorAgent.financialInstitutionId.bic — This is a required field for this region. Message information for BIC within this field is a string that allows for the following supported parameters: [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}
  • payments.creditor.creditorAccount.schemeName.proprietary — This is a required field for Pay to Proxy only. Value options include:
    • MSIDN — Mobile number
    • UEN — Unique Entity Number
    • VPA — Virtual Payment Address
    • NRIC — IC number RTP
  • payments.creditor.creditoraccount.alternateaccountidentifier is required for Pay to Proxy only.
  • payments.purpose.code — This is a required field for this region.
    • Refer to the Resources page for a list of available purpose code values. 
  • payments.purpose.type — This is a required field for this region. Value options include:
    • purpose.type = CODE

Optional field information and details

  • payments.creditor.countryOfResidence — This is an optional field that can be used for Beneficiary Residency.
  • payments.remittanceInformation.unstructuredInformation — This is an optional field. Note that unstructured information should be written in one line, with a maximum of 140 characters. 

Example code for Singapore (FAST)

Example for Singapore (FAST) : Mandatory Fields
Json
{
  "payments": {
    "paymentIdentifiers": {
      "endToEndId": "SGPIRCTRTPTEST"
    },
    "requestedExecutionDate": "2021-08-03",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "SGD",
    "paymentAmount": 1.01,
    "debtor": {
      "debtorAccount": {
        "accountId": "12345",
        "accountCurrency": "SGD",
      },
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASSGSG"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "bic": "OCBCSGSG"
      }
    },
    "creditor": {
      "creditorName": "SG IRCT P2A Creditor Name",
      "creditorAccount": {
        "accountId": "1122334455"
      },
    },
    "purpose": {
      "code": "GDDS",
      "type": "CODE"
    },
    "remittanceInformation": {
      "unstructuredInformation": [
        "FOR INVOICE: 2020-078-07-00001"
      ]
    }
  }
}
Example for Singapore (FAST) : Full Payload
Json
{
  "payments": {
    "possibleDuplicateMessage": false,
    "paymentIdentifiers": {
      "endToEndId": "XR202109202311354152"
    },
    "requestedExecutionDate": "2021-08-03",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "SGD",
    "paymentAmount": 1.01,
    "debtor": {
      "debtorAccount": {
        "accountId": "888000000",
        "accountCurrency": "SGD",
        "accountType": "DDA"
      },
      "ultimateDebtor": {
        "ultimateDebtorName": "SG IRCT P2A Ultimate Debtor",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "UDebtor streetName",
          "buildingNumber": "buildingNumber",
          "postalCode": "UD123456",
          "townName": "UDtownName",
          "country": "SG",
          "countrySubDvsn": "Udebtor countrySubDvsn",
          "addressLine": [
            "address line1",
            "address line2",
            "address line3",
            "address line4"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2021-01-01",
          "cityOfBirth": "R city",
          "countryOfBirth": "SG"
        },
        "countryOfResidence": "SG"
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASSGSG"
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "bic": "OCBCSGSG"
      }
    },
    "creditor": {
      "creditorName": "SG IRCT P2A Creditor Name",
      "postalAddress": {
        "addressType": "ADDR",
        "streetName": "Receiver streetName",
        "buildingNumber": "buildingNumber",
        "postalCode": "R123456",
        "townName": "RtownName",
        "country": "SG",
        "countrySubDvsn": "Receiver countrySubDvsn",
        "addressLine": [
          "creditor adrLine1",
          "address line2",
          "address line3",
          "address line4"
        ]
      },
      "dateAndPlaceOfBirth": {
        "birthDate": "2021-01-01",
        "cityOfBirth": "R city",
        "countryOfBirth": "SG"
      },
      "countryOfResidence": "SG",
      "creditorAccount": {
        "accountId": "999000000"
      },
      "ultimateCreditor": {
        "ultimateCreditorName": "SG IRCT P2A Ultimate Creditor",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "UCreditor streetName",
          "buildingNumber": "buildingNumber",
          "postalCode": "UC123456",
          "townName": "UCtownName",
          "country": "SG",
          "countrySubDvsn": "Ucreditor countrySubDvsn",
          "addressLine": [
            "address line1",
            "address line2",
            "address line3",
            "address line4"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2021-01-01",
          "cityOfBirth": "R city",
          "countryOfBirth": "SG"
        },
        "countryOfResidence": "SG"
      }
    },
    "purpose": {
      "code": "GDDS",
      "type": "CODE"
    },
    "remittanceInformation": {
      "unstructuredInformation": [
        "FOR INVOICE: 2020-078-07-00001"
      ]
    }
  }
}
Example for Singapore (FAST) : PayNow Payment
Json
{
    "payments": {
        "possibleDuplicateMessage": false,
        "paymentIdentifiers": {
            "endToEndId": "PVTTESTCASE004"
        },
        "requestedExecutionDate": "2021-08-04",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "SGD",
        "paymentAmount": 1.00,
        "debtor": {
            "debtorAccount": {
                "accountId": "123456",
                "accountCurrency": "SGD",
                "accountType": "DDA"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "bic": "CHASSGSG"
            }
        },
        "creditor": {
            "creditorName": "SG IRCT P2A Creditor Name",
            "creditorAccount": {
                "schemeName": {
                    "proprietary": "MSISDN"
                },
                "alternateAccountIdentifier": "+6590000000"
            }
        },
        "purpose": {
            "code": "OTHR",
            "type": "CODE"
        },
        "remittanceInformation": {
            "unstructuredInformation": [
                "IRCT P2P Success TXN"
            ]
        }
    }
}
Example for Singapore (FAST) : Pay to Proxy
Json
{
	"payments": {
		"possibleDuplicateMessage": false,
		"paymentIdentifiers": {
			"endToEndId": "SGFASTREF0002"
		},
		"requestedExecutionDate": "2023-07-03",
		"transferType": "CREDIT",
		"paymentType": "RTP",
		"paymentCurrency": "SGD",
		"paymentAmount": 1.01,
		"debtor": {
			"debtorAccount": {
				"accountId": "888000000",
				"accountCurrency": "SGD",
				"accountType": "DDA"
			}
		},
		"debtorAgent": {
			"financialInstitutionId": {
				"bic": "CHASSGSG"
			}
		},
		"creditorAgent": {
			"financialInstitutionId": {
				"bic": "DBSSSGSG",
			}
		},
		"creditor": {
			"creditorName": "SG Creditor Name",
			"postalAddress": {
				"addressType": "ADDR",
				"streetName": "Receiver Street Name",
				"buildingNumber": "88",
				"postalCode": "123456",
				"townName": "Somewhere in Singapore",
				"country": "SG"
			},
			"schemeName": {
				"proprietary": "MSIDN",
				"alternateAccountIdentifier": "987654321"
			}
		},
		"purpose": {
			"code": "OTHR",
			"type": "CODE"
		},
		"remittanceInformation": {
			"unstructuredInformation": [
				"FOR INVOICE: 2020-078-07-00001",
				"FOR INVOICE: 2020-078-07-00002"
			]
		}
	}
}

United Kingdom (UK FPS)

For United Kingdom (UK FPS), it is recommended that the combined length of all structured fields should be less than 140 characters, e.g., postalAddress object.

Additional field information for United Kingdom (UK FPS)
Json field name United Kingdom (UK FPS) General usage description / definition
payments.creditorAgent.financialInstitutionId.clearingSystemId.Id Required Beneficiary sort code. 6-digit number required.
payments.creditor.creditorName Required Max limit of 40 characters
payments.creditor.creditorAccount.accountId Required Beneficiary account number. 8-digit number required.
payments.creditor.postalAddress.addressType Optional  
payments.creditor.postalAddress.streetName Optional Optional (but recommended)
payments.creditor.postalAddress.buildingNumber Optional  
payments.creditor.postalAdress.postalCode Optional Optional (but recommended)
payments.creditor.postalAddress.townName Optional Optional (but recommended)
payments.creditor.postalAddress.countrySubDvsn Optional  
payments.creditor.postalAddress.country Optional Optional (but recommended)
payments.creditor.countryOfResidence Optional  
payments.debtor.ultimateDebtor.ultimateDebtorName Conditional

ultimateDebtorName is mandatory for TP3 flows to be compliant with FTR regulations.

payments.debtor.ultimateDebtor.postalAddress Conditional
  • Address is mandatory for TP3 flows to be compliant with FTR regulations.
  • Combined length of all postaladdress fields recommended to be less than 140 characters.
payments.debtor.ultimateDebtor.organizationId.id or payments.debtor.ultimateDebtor.individualId.Id Conditional
  • Mandatory for TP3 flows to be compliant with FTR regulations.
  • Selected field depends on the Ultimate Debtor being an Individual or Organization.
  • Field is required to permit the traceability of the transaction.

Required field information 

  • payments.creditorAgent.financialInstitutionId.clearingSystemId.Id — This is a required field. This is a 6-digit field that represents the sort code. Sort codes containing less than six digits must be padded with leading zeros. For example, if the number is 1234, you will need to enter leading zeros. so that the number will be represented as 001234.

Additional details about required payment fields

  • payments.paymentIdentifiers.endToEndId — This is a required field, with a maximum limit of 31 characters (letters and numbers only).
  • payments.creditor.creditorAccount.accountId — This is a required field. An 8-digit number is required for Pay to Account. Account numbers containing less than eight digits must be padded with leading zeros. For example, if the number is 1234567, you will need to enter a leading 0 so that the number will be represented as 01234567.
  • payments.creditor.creditorName — This is a required field, with a maximum limit of 40 characters. 

Conditional field information

  • If the transaction includes an Ultimate Debtor, the following fields are required:
    • payments.debtor.ultimateDebtor.ultimateDebtorName
    • payments.debtor.ultimateDebtor.postalAddress fields — Address is mandatory for TP3 flows to be compliant with FTR regulations. it is recommended that the combined length of all postaladdress structured fields be less than 140 characters.
    • payments.debtor.ultimateDebtor.organizationId.id or payments.debtor.ultimateDebtor.individualId.id — Selected field will depend on the Ultimate Debtor being an Individual or Organization.
      • Encouraged to populate the Ultimate Debtor's physical/virtual account.
      • Mandatory field required to permit the traceability of the transaction back to the ultimate debtor; must be a “unique and unambiguous way to identify an individual/organization”.
      • In the event an account is not available, a unique identifier should be specified; to be determined by the payment service provider that could allow traceability back to the Ultimate Debtor.

Optional field information

  • payments.creditor.postalAddress.addressType — Optional field. When it is used for this region, it is recommended that the combined length of all postaladdress structured fields be less than 140 characters.
  • payments.creditor.countryOfResidence — Optional field. It can be used for Beneficiary Residency.
  • payments.remittanceInformation.unstructuredInformation — Optional field. Unstructured information should be written in one line, 140 characters max.. Beneficiary banks normally display only the first 18 characters.

Example Code for United Kingdom (UK FPS)

Example for United Kingdom (UK FPS) : Mandatory Fields
Json
 {
    "payments": {
        "paymentIdentifiers": {
            "endToEndId": "UK2022_07_05_111"
        },
        "requestedExecutionDate": "2023-07-01",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "GBP",
        "paymentAmount": 1.01,
        "debtor": {
            "debtorAccount": {
                "accountId": "40054321"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "bic": "CHASGB2L"
            }
        },
        "creditorAgent": {
            "financialInstitutionId": {
                "clearingSystemId": {
                    "id": "185008"
                }
            }
        },
        "creditor": {
            "creditorName": "GB IRCT P2A Creditor Name",
            "creditorAccount": {
                "accountId": "12345678"
            }
        }
    }
}
Example for United Kingdom (UK FPS) : Full Payload - TP3 flows
Json
{
  "payments": {
    "possibleDuplicateMessage": false,
    "paymentIdentifiers": {
      "endToEndId": "XR012345678901234152"
    },
    "requestedExecutionDate": "2023-07-01",
    "transferType": "CREDIT",
    "paymentCurrency": "GBP",
    "paymentAmount": 0.1,
    "paymentType": "RTP",
    "debtor": {
      "debtorAccount": {
        "accountId": "12345678",
        "accountCurrency": "GBP",
        "accountType": "DDA"
      },
      "ultimateDebtor": {
        "ultimateDebtorName": "Portsmouth Football Club",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "Fratton Park",
          "buildingNumber": "2A",
          "postalCode": "PO48RA",
          "townName": "Portsmouth",
          "country": "GB",
          "countrySubDvsn": "Hampshire"
        }
        "organizationId": {
          "id": "25000023112"
        },
      },
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "bic": "CHASGB2L"
      },
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "123456"
        },
      },
    },
    "creditor": {
      "creditorName": "Southampton Football Club",
      "postalAddress": {
        "addressType": "ADDR",
        "streetName": "Fratton Park",
        "buildingNumber": "2A",
        "postalCode": "PO48RA",
        "townName": "Portsmouth",
        "country": "GB",
        "countrySubDvsn": "Hampshire"
      },
      "countryOfResidence": "GB",
      "creditorAccount": {
        "accountId": "87654321"
      },
      
    },
    "purpose": {
      "code": "GDDS",
      "type": "CODE"
    },
    "remittanceInformation": {
      "unstructuredInformation": [
        "Transfer INVOICE 2020-078-07-0000"
      ]
    }
  }
}

United States (TCH / FedNow)

Additional field information for United States (TCH / FedNow)
JSON field name United States (TCH / FedNow) General usage description / definition
payments.debtor.debtorName Required Maximum length supported per instrument/market :- US RTP: 140
payments.creditorAgent.financialInstitutionId.clearingSystemId.id Required This should be an ABA/routing number
payments.debtorAgent.financialInstitutionId.clearingSystemId.id Required  
payments.debtorAgent.financialInstitutionId.clearingSystemId.idType Required  
payments.creditorAgent.financialInstitutionId.clearingSystemId.idType Required Use USABA for Real-Time Payments

Required field information 

  • payments.creditorAgent.financialInstitutionId.clearingSystemId.idType — A required field for this region.

Additional details about required payment fields

  • payments.creditorAgent.financialInstitutionId.clearingSystemId.id — A required field; should be an ABA/routing number.
  • payments.creditorAgent.financialInstitutionId.clearingSystemId.idType  Must be used as USABA for Real-Time Payments.

Example code for the United States (TCH / FedNow)

Example for United States (TCH / FedNow) : Mandatory Fields
Json
{
    "payments": {
        "paymentIdentifiers": {
            "endToEndId": "USGCTDCMTTest15"
        },
        "requestedExecutionDate": "2023-07-01",
        "transferType": "CREDIT",
        "paymentType": "RTP",
        "paymentCurrency": "USD",
        "paymentAmount": 3.59,
        "debtor": {
            "debtorName": "US DEBTOR",
            "debtorAccount": {
                "accountId": "0123456492"
            }
        },
        "debtorAgent": {
            "financialInstitutionId": {
                "clearingSystemId": {
                    "id": "021000021",
                    "idType": "USABA"
                }
            }
        },
        "creditorAgent": {
            "financialInstitutionId": {
                "clearingSystemId": {
                    "id": "012345610",
                    "idType": "USABA"
                }
            }
        },
        "creditor": {
            "creditorName": "US P2A Name",
            "creditorAccount": {
                "accountId": "123456789"
            }
        }
    }
} 
Example for United States (TCH / FedNow) : Full Payload
Json
{
  "payments": {
    "possibleDuplicateMessage": false,
    "paymentIdentifiers": {
      "endToEndId": "US2022_06_241349463"
    },
    "requestedExecutionDate": "2023-07-01",
    "transferType": "CREDIT",
    "paymentType": "RTP",
    "paymentCurrency": "USD",
    "paymentAmount": 2.97,
    "categoryPurpose": {
      "proprietary": "INDIVIDUAL"
    },
    "debtor": {
      "debtorName": "US DEBTOR",
      "debtorAccount": {
        "accountId": "000009101234567",
        "accountType": "DDA"
      },
      "ultimateDebtor": {
        "ultimateDebtorName": "US IRCT P2A Ultimate Debtor",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "UDebtor streetName",
          "buildingNumber": "buildingNumber",
          "postalCode": "UD123456",
          "townName": "UDtownName",
          "country": "BR",
          "countrySubDvsn": "Udebtor countrySubDvsn",
          "addressLine": [
            "address line1",
            "address line2",
            "address line3",
            "address line4"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2021-01-01",
          "cityOfBirth": "H city",
          "countryOfBirth": "BR"
        },
        "individualId": {
          "id": "001"
        }
      }
    },
    "debtorAgent": {
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "021000021",
          "idType": "USABA"
        }
      }
    },
    "creditorAgent": {
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "071000013",
          "idType": "USABA"
        }
      }
    },
    "creditor": {
      "creditorName": "US P2A Name",
      "postalAddress": {
        "addressType": "ADDR",
        "streetName": "Receiver streetName",
        "buildingNumber": "buildingNumber",
        "postalCode": "H123456",
        "townName": "HtownName",
        "country": "US",
        "countrySubDvsn": "Receiver countrySubDvsn",
        "addressLine": [
          "creditor adrLine1",
          "address line2",
          "address line3",
          "address line4"
        ]
      },
      "dateAndPlaceOfBirth": {
        "birthDate": "2021-01-01",
        "cityOfBirth": "H city",
        "countryOfBirth": "BR"
      },
      "creditorAccount": {
        "accountId": "000000087654321",
        "accountType": "ACCT"
      },
      "ultimateCreditor": {
        "ultimateCreditorName": "BR IRCT P2A Ultimate Creditor",
        "postalAddress": {
          "addressType": "ADDR",
          "streetName": "UCreditor streetName",
          "buildingNumber": "buildingNumber",
          "postalCode": "UC123456",
          "townName": "UCtownName",
          "country": "BR",
          "countrySubDvsn": "Ucreditor countrySubDvsn",
          "addressLine": [
            "address line1",
            "address line2",
            "address line3",
            "address line4"
          ]
        },
        "dateAndPlaceOfBirth": {
          "birthDate": "2021-01-01",
          "cityOfBirth": "H city",
          "countryOfBirth": "BR"
        },
        "organizationId": {
          "id": "003"
        }
      }
    },
    "remittanceInformation": {
      "unstructuredInformation": [
        "additionalRemittanceInformation1"
      ]
    }
  }
}

Additional optional fields

For further information on regional specific fields that are optional, or needed per payment type, please refer to the API specification.

Next steps

Learn more about available resources.