Payments & Fund TransfersPayments

Create a Payment

POST
/v1/payments

Authorization

authorization
AuthorizationBearer <token>

Set Your Secret API Key

In: header

Header Parameters

Idempotency-Key?string

A unique value, eg. a UUID.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

amount*number

A positive integer value in the specified currency's smallest unit. e.g. $10 would be represented as 1000 (cents).

bankChargeBearer?string

Bearer of the bank charges: SENDER, RECEIVER, or SHARED. Refer to the payment rules page for per-bank support. For Hong Kong, applicable only for FPS payments via Airwallex.

batchId?string

ID of the payment batch to add this payment to. Only available when batch payments are enabled for your organization.

clearingNetwork?string

Applicable to Banking Circle EUR Payments. Please consult with the bank for your default routing logic and if this is applicable to your account. If applicable, specify the preferred payment rail to execute payments. The allowed values are:

  • SEPAINST: SEPA Instant Credit Transfer
  • SEPA: SEPA Credit Transfer
  • T2: Target2
currency*string

Three-letter ISO 4217 currency code in full uppercase. Must be a currency supported by the payment type. For example, FAST only supports SGD, and UAE domestic types (BKTR, UAE_FTS, UAE_IBFT) typically use AED.

currencyExchange?

Reference to a booked forex contract funding this payment.

customerReference?string

A meaningful description of the payment. This will show up in the receiver's bank statement. Characters used should be restricted to the SWIFT Character Set: uppercase and lowercase letters A-Z, 0-9 numerals, space, and these symbols: /-?:().,'+.

instructionForSenderBank?string

Additional instruction for the sender bank, where the bank supports it.

paymentAdviceEmails?array<>

Email addresses to send a payment advice to, where the bank supports it.

paymentDetails?string

Extended description of the payment. Characters used should be restricted to the SWIFT Character Set: uppercase and lowercase letters A-Z, 0-9 numerals, space, and these symbols: /-?:().,'+. For UAE payments, a free-text description of up to 100 characters.

purposeCode?string

Purpose code describing the nature of the payment, for regulatory and reporting purposes. Refer to the corresponding payment rules page for the accepted code list and per-bank requirements.

  • For HK FPS payments via Airwallex: mandatory; specify the purpose of the payment from the bank's code list.
  • For Banking Circle payments: mandatory only for CNH payments to China; one of GOD, STR, CTF, OTF.
  • For UAE payments: a 3-letter code from the Central Bank UAE list of purpose codes; defaults to FIS if not supplied.
receiver*

The payment receiver. Which fields apply depends on the payment type; refer to the payment rules page. Same-bank transfer types (e.g. ACT, BKTR) support only name and bankAccountNumber; proxy-addressed types (e.g. PAYNOW, MY_DUITNOW, FPS) use proxyType and proxyValue instead of bank account numbers.

senderAccountCurrency?string

Currency to use in the sender account, if it has multiple currencies. Optional if the sender account only has one currency configured.

senderAccountId?string

ID of the Internal Account that will be debited to make this payment. Required unless batchId is provided; payments added to a batch use the batch's sender account.

type*string

Type of the payment. Refer to the bank specific payment rules page for the supported types.

Match^(FAST|GIRO|ACT|TT|MEPS|PAYNOW|MY_DUITNOW|MY_RENTAS|MY_IBG|MY_IBFT|AUTO)$
Length1 <= length

Response Body

*/*

curl -X POST "https://example.com/v1/payments" \  -H "Content-Type: application/json" \  -d '{    "amount": 0,    "currency": "string",    "receiver": {},    "type": "string"  }'
{  "actualPaymentDate": "string",  "amount": 0,  "bankChargeAmount": 0,  "bankChargeBearer": "string",  "bankChargeCurrency": "string",  "bankReference": "string",  "bankReferences": {    "property1": "string",    "property2": "string"  },  "batchId": "string",  "createdAt": "string",  "currency": "string",  "currencyExchange": {    "fxContractId": "string"  },  "customerReference": "string",  "id": "string",  "instructionForSenderBank": "string",  "paymentAdviceEmails": [    "string"  ],  "paymentDate": "string",  "paymentDetails": "string",  "purposeOfPayment": "string",  "receiver": {    "address": {      "city": "string",      "country": "string",      "line1": "string",      "line2": "string",      "postalCode": "string",      "state": "string"    },    "bank": "string",    "bankAccountNumber": "string",    "intermediaryBank": "string",    "localRoutingIdentifier": "string",    "name": "string",    "proxyType": "string",    "proxyValue": "string"  },  "resultCode": "string",  "review": {    "approvedAt": "string",    "approvedBy": "string",    "expiresAt": "string",    "rejectedAt": "string",    "rejectedBy": "string",    "rejectionReason": "string",    "requestedBy": "string"  },  "senderAccountCurrency": "string",  "senderAccountId": "string",  "status": "string",  "type": "string",  "underlyingErrorMessage": "string",  "updatedAt": "string"}