Airwallex logo

Transfers

Copy for LLMView as Markdown

A payment resource is created when you send funds to a beneficiary, it details the beneficiary, bank details, the amount being paid, its status and other relevant information. You can also create the payment by using the beneficiary unique identifier which was previously created using Beneficiary resource.

Endpoints
POST /api/v1/payments/create
GET /api/v1/payments/{payment_id}
GET /api/v1/payments
POST /api/v1/payments/confirm_funding/{payment_id}
POST /api/v1/payments/validate
POST /api/v1/payments/cancel/{payment_id}

Create a Payment

POST /api/v1/payments/create

Create a new payment to a beneficiary. The payment can either include an underlying conversion when the payment currency varies from the source currency, or will not include a conversion when the payment currency and source currency match.

We have created a dynamic schema that will return required fields based on some key criteria that we need to determine the destination of the payment and the route it will take to reach that destination.

Payment Fee

By default, payer is responsible for the payment fee but may be passed onto the beneficiary by setting fee_paid_by to BENEFICIARY. The fee_paid_by flag affects the total amount the payer has to pay, and the amount the beneficiary receives.

The fee component is calculated by the system and is communicated back via fee_currency and fee_amount in the API response. The actual amounts both parties pay and receive are represented by amount_payer_pays and amount_beneficiary_receives respectively.

Approvals

Creating a payment to be submitted for approval is available upon request. When a payment including a conversion is submitted for approval, values for amount_beneficiary_receives, amount_payer_pays, fee_amount, payment_amount and source_amount in the response are tentative based on the exchange rate at the time of creation until the payment status changes to SCHEDULED, at which point the exchange rate is confirmed. When the payment status transitions to SCHEDULED, if the payment_date is a past date, its value will get updated.

Request body
payment_currencyrequiredstring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

reasonrequiredstring

Reason for the payment instruction.

referencerequiredstring

A user specified reference that will be displayed to the beneficiary on the payment transaction with their bank.

request_idrequiredstring

A unique request ID specified by the client. Payout creation requests with a request_id that has been used in the past 7 days are treated as duplicated payout and cannot be processed. When you are not sure about the outcome of a payout creation request, e.g. when there are network issues or system failures such as timeout, you can try to get a payout with this request_id to find out.
Note: Can be non-UUID as long as it is unique among the requests within the past 7 days.

application_fee_optionsarray

The application fee options applied to the payment.

application_fee_options.amountstring

A positive integer specifying the amount of the fee expressed in the smallest unit of the currency. e.g. cents for USD. This field is required only when type is FIXED.

application_fee_options.currencystring

Specify the currency of the application fee in ISO 4217 currency code format, e.g., USD, AUD. This field is required when the type is FIXED.
When the type is PERCENTAGE and source_type is CONVERSION, the currency for the conversion if specified must be from the currency pair. If the currency is unspecified, the contra currency of the quote will be used.

application_fee_options.metadataobject

The metadata of the application fee. The value should be set in key:value format. (e.g., id:1).

application_fee_options.percentagestring

Required if the type is PERCENTAGE, and the value to be provided depends on the transaction context.
FX Conversions: The value acts as a markup on the FX rate, increasing the conversion cost by the specified percentage.
Others: The value represents a direct fee calculated as a percentage of the transaction amount.

application_fee_options.source_typestring

Specify type of the source transaction.

CONVERSION
TRANSFER
application_fee_options.typestring

Define the type of fee calculation. If the source_type is CONVERSION, then the type must be PERCENTAGE.

FIXED
PERCENTAGE
beneficiaryobject

Details for the beneficiary in the payment request. If beneficiary_id provided in the payment request then beneficiary should be empty.

beneficiary.bank_detailsrequiredobject

Beneficiary's bank account details where the payment will be credited.

beneficiary.bank_details.account_currencyrequiredstring

Account Currency.

beneficiary.bank_details.account_namerequiredstring

Account holder name of the beneficiary’s bank account.

beneficiary.bank_details.bank_country_coderequiredstring

Bank country code (2-letter ISO 3166-2 country code).

beneficiary.bank_details.fingerprintrequiredstring

Fingerprint of current beneficiary's bank account.

beneficiary.bank_details.account_name_aliasstring

The beneficiary’s account name known in the payment system. This is only supported in some regions and transfer methods. See detailed definitions in the Payouts Product DocsDocs.

beneficiary.bank_details.account_numberstring

Account number, mostly for non-european countries, either account_number or iban should be filled.

beneficiary.bank_details.account_routing_type1string

Routing code type.

beneficiary.bank_details.account_routing_type2string

Routing code sub type.

beneficiary.bank_details.account_routing_value1string

Routing code value.

beneficiary.bank_details.account_routing_value2string

Routing code sub type value.

beneficiary.bank_details.bank_account_categorystring

bank account type.

beneficiary.bank_details.bank_branchstring

Specific branch of bank account.

beneficiary.bank_details.bank_namestring

Bank name of the beneficiary's bank account.

beneficiary.bank_details.bank_statestring

Bank State.

beneficiary.bank_details.bank_street_addressstring

Bank street address.

beneficiary.bank_details.binding_mobile_numberstring

The mobile number tied to the Beneficiary's bank account.

beneficiary.bank_details.ibanstring

International bank account number, mostly for european countries.

beneficiary.bank_details.intermediary_bank_namestring

Bank name of the beneficiary's intermediary bank.

beneficiary.bank_details.intermediary_bank_swift_codestring

Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC.

beneficiary.bank_details.local_clearing_systemstring

Which clearing system should be used for this local bank transfer.

Please refer to our payout guide for details about each option.

We suggest explicitly specifying this value, however if it's not provided we will select a default (using the specified account routing type and/or what's most often the best option).

beneficiary.bank_details.swift_codestring

Bank swift code.

beneficiary.bank_details.transaction_referencestring

The unique reference number that clients need to add when they doing the deposit so that we can top up the fund to correct account.

beneficiary.entity_typerequiredstring

Entity type of the beneficiary.

beneficiary.additional_infoobject

Additional information about the beneficiary.

beneficiary.additional_info.business_areastring

Category of business activity.

beneficiary.additional_info.business_phone_numberstring

Business phone number.

beneficiary.additional_info.business_registration_numberstring

Business registration number.

beneficiary.additional_info.external_identifierstring

The identifier that you use to identify a beneficiary, usually a unique identifier. This field can be used to link transfers or beneficiaries to other records such as tax form details for filing purposes.

beneficiary.additional_info.legal_rep_bank_account_numberstring

Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.

beneficiary.additional_info.legal_rep_first_name_in_chinesestring

Legal representative first name in chinese.

beneficiary.additional_info.legal_rep_id_numberstring

Legal representative id number.

beneficiary.additional_info.legal_rep_last_name_in_chinesestring

Legal representative last name in chinese.

beneficiary.additional_info.legal_rep_mobile_numberstring

Legal representative’s mobile number associated with their bank account.

beneficiary.additional_info.personal_emailstring

Personal email.

beneficiary.additional_info.personal_first_name_in_chinesestring

Beneficiary's first name in Chinese.

beneficiary.additional_info.personal_id_numberstring

Personal unique identifier number.

beneficiary.additional_info.personal_id_typestring

Personal unique identifier type.

beneficiary.additional_info.personal_last_name_in_chinesestring

Beneficiary's last name in Chinese.

beneficiary.additional_info.personal_mobile_numberstring

Personal mobile number.

beneficiary.additional_info.recipient_account_idstring

Account unique identifier of the recipient account used for payout processing. The account must be active and have customer_agreements.terms_and_conditions.service_agreement_type set to RECIPIENT (verify via Retrieve account details API).

beneficiary.additional_info.security_questionstring

Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.additional_info.security_question_answerstring

Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.addressobject

Beneficiary's address details.

beneficiary.address.citystring

Beneficiary's city.

beneficiary.address.country_codestring

Beneficiary's country code (2-letter ISO 3166-2 country code).

beneficiary.address.postcodestring

Beneficiary's post code.

beneficiary.address.statestring

Beneficiary's state.

beneficiary.address.street_addressstring

Beneficiary's street address.

beneficiary.company_namestring

Company name of the beneficiary.

beneficiary.date_of_birthstring

beneficiary date of birth.

beneficiary.first_namestring

First name of the beneficiary.

beneficiary.last_namestring

Last name of the beneficiary.

beneficiary_idstring

An Airwallex beneficiary_id previously generated by utilising the Airwallex Contact API. This may be provided in place of the beneficiary section and should be empty if the beneficiary fields are provided.

client_datastring

Free text field available to you; can be populated with any additional identifiers that may be required for the payment.

fee_paid_bystring

Denotes whether PAYER/BENEFICIARY will be liable for the payment fees, and it affects the actual amount the beneficiary receives.

metadataobject

A set of key-value pairs for storing your own data together with the payment.

payerobject

Details for the payer in the payment request. If payer_id provided in the payment request then payer should be empty.

payer.addressrequiredobject

Payer's address details.

payer.address.country_coderequiredstring

Payer's country code (2-letter ISO 3166-2 country code).

payer.address.citystring

Payer's city.

payer.address.postcodestring

Payer's post code.

payer.address.statestring

Payer's state.

payer.address.street_addressstring

Payer's street address.

payer.entity_typerequiredstring

Entity type of the payer.

payer.additional_infoobject

Additional information about the payer.

payer.additional_info.business_registration_numberstring

Business registration number.

payer.additional_info.business_registration_typestring

Type of business as registered with the local government authority.

payer.additional_info.external_idstring

Unique identifier of the person in your company.

payer.additional_info.personal_emailstring

Personal email.

payer.additional_info.personal_id_numberstring

Personal unique identifier number.

payer.company_namestring

Company name of the payer.

payer.date_of_birthstring

Payer's date of birth.

payer.first_namestring

First name of the payer.

payer.last_namestring

Last name of the payer.

payer_idstring

An Airwallex payer_id previously generated by utilising the Airwallex Contact API. This may be provided in place of the payer section and should be empty if the payer fields are provided.

payment_amountstring

Payment amount in payment_currency.

payment_datestring

Date when payment should be made.

payment_methodstring

Payment method, i.e. SWIFT, LOCAL.

quote_idstring

Provide a valid quote_id to execute the conversion at the client_rate provided in the quote.

remarksstring

Additional information about this payment, which will not be passed to the beneficiary.

source_amountstring

Source amount in source_currency.

source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

swift_charge_optionstring

(For SWIFT payments only), specify who should bear SWIFT charges, either SHARED (default) or PAYER.

Response body - 201 Created
amount_beneficiary_receivesnumber

The total amount (in payment payment_currency) the beneficiary receives for this payment, and is governed by value specified in fee_paid_by, i.e. if fee_paid_by is PAYER, then the beneficiary receives the exact same payment_amount since payer is responsible for the payment fee. Otherwise, beneficiary receives payment_amount - fee as the fee is implicitly passed onto the beneficiary.

amount_payer_paysnumber

The total amount (in source_currency) the payer has to pay for making this payment. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of payment_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as payment_amount.

application_fee_optionsarray

The application fee options applied to this payment.

application_fee_options.amountstring

A positive integer specifying the amount of the fee expressed in the smallest unit of the currency. e.g. cents for USD. This field is required only when type is FIXED.

application_fee_options.currencystring

Specify the currency of the application fee in ISO 4217 currency code format, e.g., USD, AUD. This field is required when the type is FIXED.
When the type is PERCENTAGE and source_type is CONVERSION, the currency for the conversion if specified must be from the currency pair. If the currency is unspecified, the contra currency of the quote will be used.

application_fee_options.metadataobject

The metadata of the application fee. The value should be set in key:value format. (e.g., id:1).

application_fee_options.percentagestring

Required if the type is PERCENTAGE, and the value to be provided depends on the transaction context.
FX Conversions: The value acts as a markup on the FX rate, increasing the conversion cost by the specified percentage.
Others: The value represents a direct fee calculated as a percentage of the transaction amount.

application_fee_options.source_typestring

Specify type of the source transaction.

CONVERSION
TRANSFER
application_fee_options.typestring

Define the type of fee calculation. If the source_type is CONVERSION, then the type must be PERCENTAGE.

FIXED
PERCENTAGE
application_feesarray

Application fees in this payment.

application_fees.amountstring

The application fee amount.

application_fees.currencystring

The currency of the application fee.

application_fees.source_typestring

Specify the type of source transaction for this application fee.

CONVERSION
TRANSFER
batch_transfer_idstring

Unique identifier of the batch containing the payment.

beneficiaryobject

Details of the beneficiary.

beneficiary.bank_detailsobject

Beneficiary's bank account details where the payment will be credited.

beneficiary.bank_details.account_currencystring

Account Currency.

beneficiary.bank_details.account_namestring

Account holder name of the beneficiary’s bank account.

beneficiary.bank_details.bank_country_codestring

Bank country code (2-letter ISO 3166-2 country code).

beneficiary.bank_details.fingerprintstring

Fingerprint of current beneficiary's bank account.

beneficiary.bank_details.account_name_aliasstring

The beneficiary’s account name known in the payment system. This is only supported in some regions and transfer methods. See detailed definitions in the Payouts Product DocsDocs.

beneficiary.bank_details.account_numberstring

Account number, mostly for non-european countries, either account_number or iban should be filled.

beneficiary.bank_details.account_routing_type1string

Routing code type.

beneficiary.bank_details.account_routing_type2string

Routing code sub type.

beneficiary.bank_details.account_routing_value1string

Routing code value.

beneficiary.bank_details.account_routing_value2string

Routing code sub type value.

beneficiary.bank_details.bank_account_categorystring

bank account type.

beneficiary.bank_details.bank_branchstring

Specific branch of bank account.

beneficiary.bank_details.bank_namestring

Bank name of the beneficiary's bank account.

beneficiary.bank_details.bank_statestring

Bank State.

beneficiary.bank_details.bank_street_addressstring

Bank street address.

beneficiary.bank_details.binding_mobile_numberstring

The mobile number tied to the Beneficiary's bank account.

beneficiary.bank_details.ibanstring

International bank account number, mostly for european countries.

beneficiary.bank_details.intermediary_bank_namestring

Bank name of the beneficiary's intermediary bank.

beneficiary.bank_details.intermediary_bank_swift_codestring

Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC.

beneficiary.bank_details.local_clearing_systemstring

Which clearing system should be used for this local bank transfer.

Please refer to our payout guide for details about each option.

We suggest explicitly specifying this value, however if it's not provided we will select a default (using the specified account routing type and/or what's most often the best option).

beneficiary.bank_details.swift_codestring

Bank swift code.

beneficiary.bank_details.transaction_referencestring

The unique reference number that clients need to add when they doing the deposit so that we can top up the fund to correct account.

beneficiary.entity_typestring

Entity type of the beneficiary.

beneficiary.additional_infoobject

Additional information about the beneficiary.

beneficiary.additional_info.business_areastring

Category of business activity.

beneficiary.additional_info.business_phone_numberstring

Business phone number.

beneficiary.additional_info.business_registration_numberstring

Business registration number.

beneficiary.additional_info.external_identifierstring

The identifier that you use to identify a beneficiary, usually a unique identifier. This field can be used to link transfers or beneficiaries to other records such as tax form details for filing purposes.

beneficiary.additional_info.legal_rep_bank_account_numberstring

Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.

beneficiary.additional_info.legal_rep_first_name_in_chinesestring

Legal representative first name in chinese.

beneficiary.additional_info.legal_rep_id_numberstring

Legal representative id number.

beneficiary.additional_info.legal_rep_last_name_in_chinesestring

Legal representative last name in chinese.

beneficiary.additional_info.legal_rep_mobile_numberstring

Legal representative’s mobile number associated with their bank account.

beneficiary.additional_info.personal_emailstring

Personal email.

beneficiary.additional_info.personal_first_name_in_chinesestring

Beneficiary's first name in Chinese.

beneficiary.additional_info.personal_id_numberstring

Personal unique identifier number.

beneficiary.additional_info.personal_id_typestring

Personal unique identifier type.

beneficiary.additional_info.personal_last_name_in_chinesestring

Beneficiary's last name in Chinese.

beneficiary.additional_info.personal_mobile_numberstring

Personal mobile number.

beneficiary.additional_info.recipient_account_idstring

Account unique identifier of the recipient account used for payout processing. The account must be active and have customer_agreements.terms_and_conditions.service_agreement_type set to RECIPIENT (verify via Retrieve account details API).

beneficiary.additional_info.security_questionstring

Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.additional_info.security_question_answerstring

Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.addressobject

Beneficiary's address details.

beneficiary.address.citystring

Beneficiary's city.

beneficiary.address.country_codestring

Beneficiary's country code (2-letter ISO 3166-2 country code).

beneficiary.address.postcodestring

Beneficiary's post code.

beneficiary.address.statestring

Beneficiary's state.

beneficiary.address.street_addressstring

Beneficiary's street address.

beneficiary.company_namestring

Company name of the beneficiary.

beneficiary.date_of_birthstring

beneficiary date of birth.

beneficiary.first_namestring

First name of the beneficiary.

beneficiary.last_namestring

Last name of the beneficiary.

beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this payment.

created_atstring

The time this payment request was created.

dispatch_datestring

Actual payout dispatch date. Payouts are dispatched at this date in actual processing. This date could be later than the payment date.

failure_reasonstring

Empty unless the payment is in an error state.

failure_typestring

Empty unless the payment is in an error state.

fee_amountnumber

The payment fee (in source_currency) for sending this payment.

fee_currencystring

The payment fee currency. This should always equal to the source_currency.

fee_paid_bystring

Denotes whether PAYER / BENEFICIARY will be liable for the the payment fee. Defaults to PAYER unless field is populated in the request.

fundingobject

The funding information of this payment.

funding.statusstring

The funding status of this payment. Please see details in Funding StatusesDocs.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found hereDocs).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found hereDocs).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

last_updated_atstring

The time this payment request was last updated.

metadataobject

A set of key-value pairs for storing your own data together with the payment.

payerobject

Details of the payer.

payer.addressobject

Payer's address details.

payer.address.country_codestring

Payer's country code (2-letter ISO 3166-2 country code).

payer.address.citystring

Payer's city.

payer.address.postcodestring

Payer's post code.

payer.address.statestring

Payer's state.

payer.address.street_addressstring

Payer's street address.

payer.entity_typestring

Entity type of the payer.

payer.additional_infoobject

Additional information about the payer.

payer.additional_info.business_registration_numberstring

Business registration number.

payer.additional_info.business_registration_typestring

Type of business as registered with the local government authority.

payer.additional_info.external_idstring

Unique identifier of the person in your company.

payer.additional_info.personal_emailstring

Personal email.

payer.additional_info.personal_id_numberstring

Personal unique identifier number.

payer.company_namestring

Company name of the payer.

payer.date_of_birthstring

Payer's date of birth.

payer.first_namestring

First name of the payer.

payer.last_namestring

Last name of the payer.

payer_idstring

payer_id of the payer contact used to create this payment.

payment_amountnumber

Amount to be paid.

payment_currencystring

Currency the payment should be made in (3-letter ISO-4217 code).

payment_datestring

Date when payment should be made (Copied from the request if specified).

payment_idstring

Returned payment_id that can be used to query the status of the payment.

payment_methodstring

Copied from the request if specified. Otherwise the system will populate this field automatically.

reasonstring

Reason for the payment instruction.

referencestring

Bank payment reference to be shown on beneficiary's bank transaction history.

remarksstring

Additional information about this payment, which will not be passed to the beneficiary.

request_idstring

A unique request identifier specified in the payment request.

short_reference_idstring

Short payment reference for support purposes.

source_amountnumber

Amount to be received.

source_currencystring

Copied from the request if specified.

statusstring

The payment status. Please see details in Payout StatusesDocs.

swift_charge_optionstring

(For SWIFT payments only), specify who should bear SWIFT charges, either SHARED (default) or PAYER.

underlying_conversion_idstring

Underlying conversion_id (if source_currency is different from payment_currency).

Errors
Error statusDescription
400

Possible errors: request_id_duplicate, declaration_required, amount_beneficiary_receives_below_limit, amount_below_payment_method_limit, source_amount_below_account_limit, payment_amount_below_account_limit, amount_beneficiary_receives_above_cumulative_limit, amount_above_payment_method_limit, source_amount_above_account_limit, payment_amount_above_account_limit, fee_unknown, service_unavailable, currency_pair_invalid, order_info_unsupported, order_reconciliation_failed, payment_currency_unsupported, source_currency_unsupported, open_position_limit_exceeded, balance_insufficient, payout_method_unsupported, payer_unsupported, validation_failed, quote_id_invalid, quote_id_required, beneficiary_type_unsupported, order_amount_insufficient, quote_expired, payment_date_invalid

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/payments/create
$curl --request POST \
> --url 'https://api.sandbox.airwallex.com/api/v1/payments/create' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "application_fee_options": [
> {
> "amount": "5",
> "currency": "AUD",
> "percentage": "0.1",
> "source_type": "TRANSFER",
> "type": "FIXED"
> }
> ],
> "beneficiary": {
> "additional_info": {
> "business_area": "Travel",
> "business_phone_number": "689342234",
> "business_registration_number": "IT593003",
> "external_identifier": "<string>",
> "legal_rep_bank_account_number": "44250100003700000000",
> "legal_rep_first_name_in_chinese": "小芳",
> "legal_rep_id_number": "110108199304203520",
> "legal_rep_last_name_in_chinese": "刘",
> "legal_rep_mobile_number": "13651362890",
> "personal_email": "[email protected]",
> "personal_first_name_in_chinese": "大明",
> "personal_id_number": "1234567890",
> "personal_id_type": "NATIONAL_ID",
> "personal_last_name_in_chinese": "李",
> "personal_mobile_number": "13651362890",
> "recipient_account_id": "<string>",
> "security_question": "What is the name of my second puppy?",
> "security_question_answer": "Scooby Doo"
> },
> "address": {
> "city": "Melbourne",
> "country_code": "AU",
> "postcode": "3000",
> "state": "VIC",
> "street_address": "15 William Street"
> },
> "bank_details": {
> "account_currency": "AUD",
> "account_name": "Lee Da Ming",
> "account_name_alias": "Lee D M",
> "account_number": "12750852",
> "account_routing_type1": "bsb",
> "account_routing_type2": "sort_code",
> "account_routing_value1": "083064",
> "account_routing_value2": "123456",
> "bank_account_category": "Checking,Savings,Vista,Maestra",
> "bank_branch": "Melbourne",
> "bank_country_code": "AU",
> "bank_name": "National Australia Bank",
> "bank_state": "<string>",
> "bank_street_address": "500 Bourke Street, Melbourne 3000, Australia",
> "binding_mobile_number": "654897612345",
> "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
> "iban": "ES8023100001180000012345",
> "local_clearing_system": "ACH",
> "swift_code": "CTBAAU2S",
> "transaction_reference": "4140110135",
> "intermediary_bank_swift_code": "CTBAAU2S",
> "intermediary_bank_name": "National Australia Bank"
> },
> "company_name": "Complete Concrete Pty Ltd",
> "date_of_birth": "1976-08-26",
> "entity_type": "COMPANY",
> "first_name": "John",
> "last_name": "Walker"
> },
> "beneficiary_id": "8365ea88-2946-4877-abe1-e02a1015288d",
> "client_data": "string",
> "fee_paid_by": "PAYER",
> "metadata": {
> "order_id": "0123456789"
> },
> "payer": {
> "additional_info": {
> "business_registration_number": "EU300503",
> "business_registration_type": "Partnership",
> "external_id": "1234567890",
> "personal_email": "[email protected]",
> "personal_id_number": "1234567890"
> },
> "address": {
> "city": "Melbourne",
> "country_code": "AU",
> "postcode": "3000",
> "state": "VIC",
> "street_address": "15 William Street"
> },
> "company_name": "Complete Concrete Pty Ltd",
> "date_of_birth": "1976-08-26",
> "entity_type": "COMPANY",
> "first_name": "James",
> "last_name": "Smith"
> },
> "payer_id": "46c22228-5831-4c53-a4fa-a3ab4954877c",
> "payment_amount": "10000",
> "payment_currency": "AUD",
> "payment_date": "2017-03-20",
> "payment_method": "SWIFT",
> "quote_id": "<string>",
> "reason": "travel",
> "reference": "PMT1936398",
> "remarks": "Any information",
> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
> "source_amount": "10000",
> "source_currency": "AUD",
> "swift_charge_option": "SHARED"
>}'
Response
1{
2 "amount_beneficiary_receives": 99996,
3 "amount_payer_pays": 10004,
4 "application_fee_options": [
5 {
6 "amount": "5",
7 "currency": "AUD",
8 "percentage": "0.1",
9 "source_type": "TRANSFER",
10 "type": "FIXED"
11 }
12 ],
13 "application_fees": [
14 {
15 "amount": "5",
16 "currency": "AUD",
17 "source_type": "TRANSFER"
18 }
19 ],
20 "batch_transfer_id": "d9df6d02-4116-4376-82c7-064159cc878e",
21 "beneficiary": {
22 "additional_info": {
23 "business_area": "Travel",
24 "business_phone_number": "689342234",
25 "business_registration_number": "IT593003",
26 "external_identifier": "<string>",
27 "legal_rep_bank_account_number": "44250100003700000000",
28 "legal_rep_first_name_in_chinese": "小芳",
29 "legal_rep_id_number": "110108199304203520",
30 "legal_rep_last_name_in_chinese": "刘",
31 "legal_rep_mobile_number": "13651362890",
32 "personal_email": "[email protected]",
33 "personal_first_name_in_chinese": "大明",
34 "personal_id_number": "1234567890",
35 "personal_id_type": "NATIONAL_ID",
36 "personal_last_name_in_chinese": "李",
37 "personal_mobile_number": "13651362890",
38 "recipient_account_id": "<string>",
39 "security_question": "What is the name of my second puppy?",
40 "security_question_answer": "Scooby Doo"
41 },
42 "address": {
43 "city": "Melbourne",
44 "country_code": "AU",
45 "postcode": "3000",
46 "state": "VIC",
47 "street_address": "15 William Street"
48 },
49 "bank_details": {
50 "account_currency": "AUD",
51 "account_name": "Lee Da Ming",
52 "account_name_alias": "Lee D M",
53 "account_number": "12750852",
54 "account_routing_type1": "bsb",
55 "account_routing_type2": "sort_code",
56 "account_routing_value1": "083064",
57 "account_routing_value2": "123456",
58 "bank_account_category": "Checking,Savings,Vista,Maestra",
59 "bank_branch": "Melbourne",
60 "bank_country_code": "AU",
61 "bank_name": "National Australia Bank",
62 "bank_state": "<string>",
63 "bank_street_address": "500 Bourke Street, Melbourne 3000, Australia",
64 "binding_mobile_number": "654897612345",
65 "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
66 "iban": "ES8023100001180000012345",
67 "local_clearing_system": "ACH",
68 "swift_code": "CTBAAU2S",
69 "transaction_reference": "4140110135",
70 "intermediary_bank_swift_code": "CTBAAU2S",
71 "intermediary_bank_name": "National Australia Bank"
72 },
73 "company_name": "Complete Concrete Pty Ltd",
74 "date_of_birth": "1976-08-26",
75 "entity_type": "COMPANY",
76 "first_name": "John",
77 "last_name": "Walker"
78 },
79 "beneficiary_id": "<uuid>",
80 "created_at": "2017-03-22T16:08:02+1100",
81 "dispatch_date": "2017-03-29",
82 "failure_reason": "Insufficient funds",
83 "failure_type": "UNKNOWN",
84 "fee_amount": 4,
85 "fee_currency": "AUD",
86 "fee_paid_by": "PAYER",
87 "funding": {
88 "deposit_type": "DIRECT_DEBIT",
89 "failure_details": {
90 "code": "insufficient_funds",
91 "iso_code": "AM04",
92 "provider_failure_details": {
93 "code": "R01",
94 "local_clearing_system": "US_ACH",
95 "message": "INSUFFICIENT FUNDS"
96 }
97 },
98 "failure_reason": "regulatory_reason",
99 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
100 "status": "FUNDED"
101 },
102 "last_updated_at": "2017-03-24T18:00:02+1100",
103 "metadata": {
104 "order_id": "0123456789"
105 },
106 "payer": {
107 "additional_info": {
108 "business_registration_number": "EU300503",
109 "business_registration_type": "Partnership",
110 "external_id": "1234567890",
111 "personal_email": "[email protected]",
112 "personal_id_number": "1234567890"
113 },
114 "address": {
115 "city": "Melbourne",
116 "country_code": "AU",
117 "postcode": "3000",
118 "state": "VIC",
119 "street_address": "15 William Street"
120 },
121 "company_name": "Complete Concrete Pty Ltd",
122 "date_of_birth": "1976-08-26",
123 "entity_type": "COMPANY",
124 "first_name": "James",
125 "last_name": "Smith"
126 },
127 "payer_id": "<uuid>",
128 "payment_amount": 10000,
129 "payment_currency": "AUD",
130 "payment_date": "2017-03-24",
131 "payment_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
132 "payment_method": "SWIFT",
133 "reason": "travel",
134 "reference": "PMT1936398",
135 "remarks": "Any information",
136 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
137 "short_reference_id": "20170322-9F6ML2",
138 "source_amount": 10000,
139 "source_currency": "AUD",
140 "status": "PROCESSING",
141 "swift_charge_option": "SHARED",
142 "underlying_conversion_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede"
143}
Was this section helpful?

Retrieve a Payment

GET /api/v1/payments/{payment_id}

Get a specific payment by specifying the Airwallex payment_id.

Path parameters
payment_idrequiredstring

Unique identifier of the payment to retrieve.

Response body - 200 OK
amount_beneficiary_receivesnumber

The total amount (in payment payment_currency) the beneficiary receives for this payment, and is governed by value specified in fee_paid_by, i.e. if fee_paid_by is PAYER, then the beneficiary receives the exact same payment_amount since payer is responsible for the payment fee. Otherwise, beneficiary receives payment_amount - fee as the fee is implicitly passed onto the beneficiary.

amount_payer_paysnumber

The total amount (in source_currency) the payer has to pay for making this payment. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of payment_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as payment_amount.

application_fee_optionsarray

The application fee options applied to this payment.

application_fee_options.amountstring

A positive integer specifying the amount of the fee expressed in the smallest unit of the currency. e.g. cents for USD. This field is required only when type is FIXED.

application_fee_options.currencystring

Specify the currency of the application fee in ISO 4217 currency code format, e.g., USD, AUD. This field is required when the type is FIXED.
When the type is PERCENTAGE and source_type is CONVERSION, the currency for the conversion if specified must be from the currency pair. If the currency is unspecified, the contra currency of the quote will be used.

application_fee_options.metadataobject

The metadata of the application fee. The value should be set in key:value format. (e.g., id:1).

application_fee_options.percentagestring

Required if the type is PERCENTAGE, and the value to be provided depends on the transaction context.
FX Conversions: The value acts as a markup on the FX rate, increasing the conversion cost by the specified percentage.
Others: The value represents a direct fee calculated as a percentage of the transaction amount.

application_fee_options.source_typestring

Specify type of the source transaction.

CONVERSION
TRANSFER
application_fee_options.typestring

Define the type of fee calculation. If the source_type is CONVERSION, then the type must be PERCENTAGE.

FIXED
PERCENTAGE
application_feesarray

Application fees in this payment.

application_fees.amountstring

The application fee amount.

application_fees.currencystring

The currency of the application fee.

application_fees.source_typestring

Specify the type of source transaction for this application fee.

CONVERSION
TRANSFER
batch_transfer_idstring

Unique identifier of the batch containing the payment.

beneficiaryobject

Details of the beneficiary.

beneficiary.bank_detailsobject

Beneficiary's bank account details where the payment will be credited.

beneficiary.bank_details.account_currencystring

Account Currency.

beneficiary.bank_details.account_namestring

Account holder name of the beneficiary’s bank account.

beneficiary.bank_details.bank_country_codestring

Bank country code (2-letter ISO 3166-2 country code).

beneficiary.bank_details.fingerprintstring

Fingerprint of current beneficiary's bank account.

beneficiary.bank_details.account_name_aliasstring

The beneficiary’s account name known in the payment system. This is only supported in some regions and transfer methods. See detailed definitions in the Payouts Product DocsDocs.

beneficiary.bank_details.account_numberstring

Account number, mostly for non-european countries, either account_number or iban should be filled.

beneficiary.bank_details.account_routing_type1string

Routing code type.

beneficiary.bank_details.account_routing_type2string

Routing code sub type.

beneficiary.bank_details.account_routing_value1string

Routing code value.

beneficiary.bank_details.account_routing_value2string

Routing code sub type value.

beneficiary.bank_details.bank_account_categorystring

bank account type.

beneficiary.bank_details.bank_branchstring

Specific branch of bank account.

beneficiary.bank_details.bank_namestring

Bank name of the beneficiary's bank account.

beneficiary.bank_details.bank_statestring

Bank State.

beneficiary.bank_details.bank_street_addressstring

Bank street address.

beneficiary.bank_details.binding_mobile_numberstring

The mobile number tied to the Beneficiary's bank account.

beneficiary.bank_details.ibanstring

International bank account number, mostly for european countries.

beneficiary.bank_details.intermediary_bank_namestring

Bank name of the beneficiary's intermediary bank.

beneficiary.bank_details.intermediary_bank_swift_codestring

Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC.

beneficiary.bank_details.local_clearing_systemstring

Which clearing system should be used for this local bank transfer.

Please refer to our payout guide for details about each option.

We suggest explicitly specifying this value, however if it's not provided we will select a default (using the specified account routing type and/or what's most often the best option).

beneficiary.bank_details.swift_codestring

Bank swift code.

beneficiary.bank_details.transaction_referencestring

The unique reference number that clients need to add when they doing the deposit so that we can top up the fund to correct account.

beneficiary.entity_typestring

Entity type of the beneficiary.

beneficiary.additional_infoobject

Additional information about the beneficiary.

beneficiary.additional_info.business_areastring

Category of business activity.

beneficiary.additional_info.business_phone_numberstring

Business phone number.

beneficiary.additional_info.business_registration_numberstring

Business registration number.

beneficiary.additional_info.external_identifierstring

The identifier that you use to identify a beneficiary, usually a unique identifier. This field can be used to link transfers or beneficiaries to other records such as tax form details for filing purposes.

beneficiary.additional_info.legal_rep_bank_account_numberstring

Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.

beneficiary.additional_info.legal_rep_first_name_in_chinesestring

Legal representative first name in chinese.

beneficiary.additional_info.legal_rep_id_numberstring

Legal representative id number.

beneficiary.additional_info.legal_rep_last_name_in_chinesestring

Legal representative last name in chinese.

beneficiary.additional_info.legal_rep_mobile_numberstring

Legal representative’s mobile number associated with their bank account.

beneficiary.additional_info.personal_emailstring

Personal email.

beneficiary.additional_info.personal_first_name_in_chinesestring

Beneficiary's first name in Chinese.

beneficiary.additional_info.personal_id_numberstring

Personal unique identifier number.

beneficiary.additional_info.personal_id_typestring

Personal unique identifier type.

beneficiary.additional_info.personal_last_name_in_chinesestring

Beneficiary's last name in Chinese.

beneficiary.additional_info.personal_mobile_numberstring

Personal mobile number.

beneficiary.additional_info.recipient_account_idstring

Account unique identifier of the recipient account used for payout processing. The account must be active and have customer_agreements.terms_and_conditions.service_agreement_type set to RECIPIENT (verify via Retrieve account details API).

beneficiary.additional_info.security_questionstring

Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.additional_info.security_question_answerstring

Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.addressobject

Beneficiary's address details.

beneficiary.address.citystring

Beneficiary's city.

beneficiary.address.country_codestring

Beneficiary's country code (2-letter ISO 3166-2 country code).

beneficiary.address.postcodestring

Beneficiary's post code.

beneficiary.address.statestring

Beneficiary's state.

beneficiary.address.street_addressstring

Beneficiary's street address.

beneficiary.company_namestring

Company name of the beneficiary.

beneficiary.date_of_birthstring

beneficiary date of birth.

beneficiary.first_namestring

First name of the beneficiary.

beneficiary.last_namestring

Last name of the beneficiary.

beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this payment.

created_atstring

The time this payment request was created.

dispatch_datestring

Actual payout dispatch date. Payouts are dispatched at this date in actual processing. This date could be later than the payment date.

failure_reasonstring

Empty unless the payment is in an error state.

failure_typestring

Empty unless the payment is in an error state.

fee_amountnumber

The payment fee (in source_currency) for sending this payment.

fee_currencystring

The payment fee currency. This should always equal to the source_currency.

fee_paid_bystring

Denotes whether PAYER / BENEFICIARY will be liable for the the payment fee. Defaults to PAYER unless field is populated in the request.

fundingobject

The funding information of this payment.

funding.statusstring

The funding status of this payment. Please see details in Funding StatusesDocs.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found hereDocs).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found hereDocs).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

last_updated_atstring

The time this payment request was last updated.

metadataobject

A set of key-value pairs for storing your own data together with the payment.

payerobject

Details of the payer.

payer.addressobject

Payer's address details.

payer.address.country_codestring

Payer's country code (2-letter ISO 3166-2 country code).

payer.address.citystring

Payer's city.

payer.address.postcodestring

Payer's post code.

payer.address.statestring

Payer's state.

payer.address.street_addressstring

Payer's street address.

payer.entity_typestring

Entity type of the payer.

payer.additional_infoobject

Additional information about the payer.

payer.additional_info.business_registration_numberstring

Business registration number.

payer.additional_info.business_registration_typestring

Type of business as registered with the local government authority.

payer.additional_info.external_idstring

Unique identifier of the person in your company.

payer.additional_info.personal_emailstring

Personal email.

payer.additional_info.personal_id_numberstring

Personal unique identifier number.

payer.company_namestring

Company name of the payer.

payer.date_of_birthstring

Payer's date of birth.

payer.first_namestring

First name of the payer.

payer.last_namestring

Last name of the payer.

payer_idstring

payer_id of the payer contact used to create this payment.

payment_amountnumber

Amount to be paid.

payment_currencystring

Currency the payment should be made in (3-letter ISO-4217 code).

payment_datestring

Date when payment should be made (Copied from the request if specified).

payment_idstring

Returned payment_id that can be used to query the status of the payment.

payment_methodstring

Copied from the request if specified. Otherwise the system will populate this field automatically.

reasonstring

Reason for the payment instruction.

referencestring

Bank payment reference to be shown on beneficiary's bank transaction history.

remarksstring

Additional information about this payment, which will not be passed to the beneficiary.

request_idstring

A unique request identifier specified in the payment request.

short_reference_idstring

Short payment reference for support purposes.

source_amountnumber

Amount to be received.

source_currencystring

Copied from the request if specified.

statusstring

The payment status. Please see details in Payout StatusesDocs.

swift_charge_optionstring

(For SWIFT payments only), specify who should bear SWIFT charges, either SHARED (default) or PAYER.

underlying_conversion_idstring

Underlying conversion_id (if source_currency is different from payment_currency).

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/payments/{payment_id}
$curl --request GET \
> --url 'https://api.sandbox.airwallex.com/api/v1/payments/payment_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "amount_beneficiary_receives": 99996,
3 "amount_payer_pays": 10004,
4 "application_fee_options": [
5 {
6 "amount": "5",
7 "currency": "AUD",
8 "percentage": "0.1",
9 "source_type": "TRANSFER",
10 "type": "FIXED"
11 }
12 ],
13 "application_fees": [
14 {
15 "amount": "5",
16 "currency": "AUD",
17 "source_type": "TRANSFER"
18 }
19 ],
20 "batch_transfer_id": "d9df6d02-4116-4376-82c7-064159cc878e",
21 "beneficiary": {
22 "additional_info": {
23 "business_area": "Travel",
24 "business_phone_number": "689342234",
25 "business_registration_number": "IT593003",
26 "external_identifier": "<string>",
27 "legal_rep_bank_account_number": "44250100003700000000",
28 "legal_rep_first_name_in_chinese": "小芳",
29 "legal_rep_id_number": "110108199304203520",
30 "legal_rep_last_name_in_chinese": "刘",
31 "legal_rep_mobile_number": "13651362890",
32 "personal_email": "[email protected]",
33 "personal_first_name_in_chinese": "大明",
34 "personal_id_number": "1234567890",
35 "personal_id_type": "NATIONAL_ID",
36 "personal_last_name_in_chinese": "李",
37 "personal_mobile_number": "13651362890",
38 "recipient_account_id": "<string>",
39 "security_question": "What is the name of my second puppy?",
40 "security_question_answer": "Scooby Doo"
41 },
42 "address": {
43 "city": "Melbourne",
44 "country_code": "AU",
45 "postcode": "3000",
46 "state": "VIC",
47 "street_address": "15 William Street"
48 },
49 "bank_details": {
50 "account_currency": "AUD",
51 "account_name": "Lee Da Ming",
52 "account_name_alias": "Lee D M",
53 "account_number": "12750852",
54 "account_routing_type1": "bsb",
55 "account_routing_type2": "sort_code",
56 "account_routing_value1": "083064",
57 "account_routing_value2": "123456",
58 "bank_account_category": "Checking,Savings,Vista,Maestra",
59 "bank_branch": "Melbourne",
60 "bank_country_code": "AU",
61 "bank_name": "National Australia Bank",
62 "bank_state": "<string>",
63 "bank_street_address": "500 Bourke Street, Melbourne 3000, Australia",
64 "binding_mobile_number": "654897612345",
65 "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
66 "iban": "ES8023100001180000012345",
67 "local_clearing_system": "ACH",
68 "swift_code": "CTBAAU2S",
69 "transaction_reference": "4140110135",
70 "intermediary_bank_swift_code": "CTBAAU2S",
71 "intermediary_bank_name": "National Australia Bank"
72 },
73 "company_name": "Complete Concrete Pty Ltd",
74 "date_of_birth": "1976-08-26",
75 "entity_type": "COMPANY",
76 "first_name": "John",
77 "last_name": "Walker"
78 },
79 "beneficiary_id": "<uuid>",
80 "created_at": "2017-03-22T16:08:02+1100",
81 "dispatch_date": "2017-03-29",
82 "failure_reason": "Insufficient funds",
83 "failure_type": "UNKNOWN",
84 "fee_amount": 4,
85 "fee_currency": "AUD",
86 "fee_paid_by": "PAYER",
87 "funding": {
88 "deposit_type": "DIRECT_DEBIT",
89 "failure_details": {
90 "code": "insufficient_funds",
91 "iso_code": "AM04",
92 "provider_failure_details": {
93 "code": "R01",
94 "local_clearing_system": "US_ACH",
95 "message": "INSUFFICIENT FUNDS"
96 }
97 },
98 "failure_reason": "regulatory_reason",
99 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
100 "status": "FUNDED"
101 },
102 "last_updated_at": "2017-03-24T18:00:02+1100",
103 "metadata": {
104 "order_id": "0123456789"
105 },
106 "payer": {
107 "additional_info": {
108 "business_registration_number": "EU300503",
109 "business_registration_type": "Partnership",
110 "external_id": "1234567890",
111 "personal_email": "[email protected]",
112 "personal_id_number": "1234567890"
113 },
114 "address": {
115 "city": "Melbourne",
116 "country_code": "AU",
117 "postcode": "3000",
118 "state": "VIC",
119 "street_address": "15 William Street"
120 },
121 "company_name": "Complete Concrete Pty Ltd",
122 "date_of_birth": "1976-08-26",
123 "entity_type": "COMPANY",
124 "first_name": "James",
125 "last_name": "Smith"
126 },
127 "payer_id": "<uuid>",
128 "payment_amount": 10000,
129 "payment_currency": "AUD",
130 "payment_date": "2017-03-24",
131 "payment_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
132 "payment_method": "SWIFT",
133 "reason": "travel",
134 "reference": "PMT1936398",
135 "remarks": "Any information",
136 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
137 "short_reference_id": "20170322-9F6ML2",
138 "source_amount": 10000,
139 "source_currency": "AUD",
140 "status": "PROCESSING",
141 "swift_charge_option": "SHARED",
142 "underlying_conversion_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede"
143}
Was this section helpful?

List all Payments

GET /api/v1/payments

Get list of payments from a specified creation date/time, with optional filters on end creation date/time, buy/sell currency and status. Alternatively, one or neither of the from or to created_at request fields needs to be populated. In the event that neither or only the to created_at fields are populated, then payments 30 days in arrears of today or the to created_at date will be returned.

Query parameters
from_created_atstring

The start date of created_at in ISO8601 format (inclusive).

page_numinteger

Page number, starts from 0.

page_sizeinteger

Number of results per page, defaultValue 2000.

payment_currencystring

Payment currency.

request_idstring

Payment request_id.

short_reference_idstring

Payment short_reference_id.

statusstring

Status of the payment.

to_created_atstring

The end date of created_at in ISO8601 format (inclusive).

Response body - 200 OK
has_moreboolean

A flag which identifies whether there are more results.

itemsarray

Paged results.

items.amount_beneficiary_receivesnumber

The total amount (in payment payment_currency) the beneficiary receives for this payment, and is governed by value specified in fee_paid_by, i.e. if fee_paid_by is PAYER, then the beneficiary receives the exact same payment_amount since payer is responsible for the payment fee. Otherwise, beneficiary receives payment_amount - fee as the fee is implicitly passed onto the beneficiary.

items.amount_payer_paysnumber

The total amount (in source_currency) the payer has to pay for making this payment. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of payment_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as payment_amount.

items.beneficiaryobject

Details of the beneficiary.

items.beneficiary.bank_detailsobject

Beneficiary's bank account details where the payment will be credited.

items.beneficiary.bank_details.account_currencystring

Account Currency.

items.beneficiary.bank_details.account_namestring

Account holder name of the beneficiary’s bank account.

items.beneficiary.bank_details.bank_country_codestring

Bank country code (2-letter ISO 3166-2 country code).

items.beneficiary.bank_details.fingerprintstring

Fingerprint of current beneficiary's bank account.

items.beneficiary.bank_details.account_name_aliasstring

The beneficiary’s account name known in the payment system. This is only supported in some regions and transfer methods. See detailed definitions in the Payouts Product DocsDocs.

items.beneficiary.bank_details.account_numberstring

Account number, mostly for non-european countries, either account_number or iban should be filled.

items.beneficiary.bank_details.account_routing_type1string

Routing code type.

items.beneficiary.bank_details.account_routing_type2string

Routing code sub type.

items.beneficiary.bank_details.account_routing_value1string

Routing code value.

items.beneficiary.bank_details.account_routing_value2string

Routing code sub type value.

items.beneficiary.bank_details.bank_account_categorystring

bank account type.

items.beneficiary.bank_details.bank_branchstring

Specific branch of bank account.

items.beneficiary.bank_details.bank_namestring

Bank name of the beneficiary's bank account.

items.beneficiary.bank_details.bank_statestring

Bank State.

items.beneficiary.bank_details.bank_street_addressstring

Bank street address.

items.beneficiary.bank_details.binding_mobile_numberstring

The mobile number tied to the Beneficiary's bank account.

items.beneficiary.bank_details.ibanstring

International bank account number, mostly for european countries.

items.beneficiary.bank_details.intermediary_bank_namestring

Bank name of the beneficiary's intermediary bank.

items.beneficiary.bank_details.intermediary_bank_swift_codestring

Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC.

items.beneficiary.bank_details.local_clearing_systemstring

Which clearing system should be used for this local bank transfer.

Please refer to our payout guide for details about each option.

We suggest explicitly specifying this value, however if it's not provided we will select a default (using the specified account routing type and/or what's most often the best option).

items.beneficiary.bank_details.swift_codestring

Bank swift code.

items.beneficiary.bank_details.transaction_referencestring

The unique reference number that clients need to add when they doing the deposit so that we can top up the fund to correct account.

items.beneficiary.entity_typestring

Entity type of the beneficiary.

items.beneficiary.additional_infoobject

Additional information about the beneficiary.

items.beneficiary.additional_info.business_areastring

Category of business activity.

items.beneficiary.additional_info.business_phone_numberstring

Business phone number.

items.beneficiary.additional_info.business_registration_numberstring

Business registration number.

items.beneficiary.additional_info.external_identifierstring

The identifier that you use to identify a beneficiary, usually a unique identifier. This field can be used to link transfers or beneficiaries to other records such as tax form details for filing purposes.

items.beneficiary.additional_info.legal_rep_bank_account_numberstring

Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.

items.beneficiary.additional_info.legal_rep_first_name_in_chinesestring

Legal representative first name in chinese.

items.beneficiary.additional_info.legal_rep_id_numberstring

Legal representative id number.

items.beneficiary.additional_info.legal_rep_last_name_in_chinesestring

Legal representative last name in chinese.

items.beneficiary.additional_info.legal_rep_mobile_numberstring

Legal representative’s mobile number associated with their bank account.

items.beneficiary.additional_info.personal_emailstring

Personal email.

items.beneficiary.additional_info.personal_first_name_in_chinesestring

Beneficiary's first name in Chinese.

items.beneficiary.additional_info.personal_id_numberstring

Personal unique identifier number.

items.beneficiary.additional_info.personal_id_typestring

Personal unique identifier type.

items.beneficiary.additional_info.personal_last_name_in_chinesestring

Beneficiary's last name in Chinese.

items.beneficiary.additional_info.personal_mobile_numberstring

Personal mobile number.

items.beneficiary.additional_info.recipient_account_idstring

Account unique identifier of the recipient account used for payout processing. The account must be active and have customer_agreements.terms_and_conditions.service_agreement_type set to RECIPIENT (verify via Retrieve account details API).

items.beneficiary.additional_info.security_questionstring

Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.

items.beneficiary.additional_info.security_question_answerstring

Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.

items.beneficiary.addressobject

Beneficiary's address details.

items.beneficiary.address.citystring

Beneficiary's city.

items.beneficiary.address.country_codestring

Beneficiary's country code (2-letter ISO 3166-2 country code).

items.beneficiary.address.postcodestring

Beneficiary's post code.

items.beneficiary.address.statestring

Beneficiary's state.

items.beneficiary.address.street_addressstring

Beneficiary's street address.

items.beneficiary.company_namestring

Company name of the beneficiary.

items.beneficiary.date_of_birthstring

beneficiary date of birth.

items.beneficiary.first_namestring

First name of the beneficiary.

items.beneficiary.last_namestring

Last name of the beneficiary.

items.created_atstring

The time this payment request was created.

items.fee_amountnumber

The payment fee (in source_currency) for sending this payment.

items.fee_currencystring

The payment fee currency. This should always equal to the source_currency.

items.fee_paid_bystring

Denotes whether PAYER / BENEFICIARY will be liable for the the payment fee. Defaults to PAYER unless field is populated in the request.

items.fundingobject

The funding information of this payment.

items.funding.statusstring

The funding status of this payment. Please see details in Funding StatusesDocs.

items.funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

items.funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

items.funding.failure_details.codestring

Error code (details can be found hereDocs).

items.funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found hereDocs).

items.funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

items.funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

items.funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

items.funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

items.funding.failure_reasonstring

Empty unless the funding is in an error state.

items.funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

items.last_updated_atstring

The time this payment request was last updated.

items.payerobject

Details of the payer.

items.payer.addressobject

Payer's address details.

items.payer.address.country_codestring

Payer's country code (2-letter ISO 3166-2 country code).

items.payer.address.citystring

Payer's city.

items.payer.address.postcodestring

Payer's post code.

items.payer.address.statestring

Payer's state.

items.payer.address.street_addressstring

Payer's street address.

items.payer.entity_typestring

Entity type of the payer.

items.payer.additional_infoobject

Additional information about the payer.

items.payer.additional_info.business_registration_numberstring

Business registration number.

items.payer.additional_info.business_registration_typestring

Type of business as registered with the local government authority.

items.payer.additional_info.external_idstring

Unique identifier of the person in your company.

items.payer.additional_info.personal_emailstring

Personal email.

items.payer.additional_info.personal_id_numberstring

Personal unique identifier number.

items.payer.company_namestring

Company name of the payer.

items.payer.date_of_birthstring

Payer's date of birth.

items.payer.first_namestring

First name of the payer.

items.payer.last_namestring

Last name of the payer.

items.payment_amountnumber

Amount to be paid.

items.payment_currencystring

Currency the payment should be made in (3-letter ISO-4217 code).

items.payment_datestring

Date when payment should be made (Copied from the request if specified).

items.payment_idstring

Returned payment_id that can be used to query the status of the payment.

items.payment_methodstring

Copied from the request if specified. Otherwise the system will populate this field automatically.

items.reasonstring

Reason for the payment instruction.

items.referencestring

Bank payment reference to be shown on beneficiary's bank transaction history.

items.request_idstring

A unique request identifier specified in the payment request.

items.short_reference_idstring

Short payment reference for support purposes.

items.source_amountnumber

Amount to be received.

items.source_currencystring

Copied from the request if specified.

items.statusstring

The payment status. Please see details in Payout StatusesDocs.

items.application_fee_optionsarray

The application fee options applied to this payment.

items.application_fee_options.amountstring

A positive integer specifying the amount of the fee expressed in the smallest unit of the currency. e.g. cents for USD. This field is required only when type is FIXED.

items.application_fee_options.currencystring

Specify the currency of the application fee in ISO 4217 currency code format, e.g., USD, AUD. This field is required when the type is FIXED.
When the type is PERCENTAGE and source_type is CONVERSION, the currency for the conversion if specified must be from the currency pair. If the currency is unspecified, the contra currency of the quote will be used.

items.application_fee_options.metadataobject

The metadata of the application fee. The value should be set in key:value format. (e.g., id:1).

items.application_fee_options.percentagestring

Required if the type is PERCENTAGE, and the value to be provided depends on the transaction context.
FX Conversions: The value acts as a markup on the FX rate, increasing the conversion cost by the specified percentage.
Others: The value represents a direct fee calculated as a percentage of the transaction amount.

items.application_fee_options.source_typestring

Specify type of the source transaction.

CONVERSION
TRANSFER
items.application_fee_options.typestring

Define the type of fee calculation. If the source_type is CONVERSION, then the type must be PERCENTAGE.

FIXED
PERCENTAGE
items.application_feesarray

Application fees in this payment.

items.application_fees.amountstring

The application fee amount.

items.application_fees.currencystring

The currency of the application fee.

items.application_fees.source_typestring

Specify the type of source transaction for this application fee.

CONVERSION
TRANSFER
items.batch_transfer_idstring

Unique identifier of the batch containing the payment.

items.beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this payment.

items.dispatch_datestring

Actual payout dispatch date. Payouts are dispatched at this date in actual processing. This date could be later than the payment date.

items.failure_reasonstring

Empty unless the payment is in an error state.

items.failure_typestring

Empty unless the payment is in an error state.

items.metadataobject

A set of key-value pairs for storing your own data together with the payment.

items.payer_idstring

payer_id of the payer contact used to create this payment.

items.remarksstring

Additional information about this payment, which will not be passed to the beneficiary.

items.swift_charge_optionstring

(For SWIFT payments only), specify who should bear SWIFT charges, either SHARED (default) or PAYER.

items.underlying_conversion_idstring

Underlying conversion_id (if source_currency is different from payment_currency).

Errors
Error statusDescription
400

Possible errors: field_required, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/payments
$curl --request GET \
> --url 'https://api.sandbox.airwallex.com/api/v1/payments' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "has_more": false,
3 "items": [
4 {
5 "amount_beneficiary_receives": 99996,
6 "amount_payer_pays": 10004,
7 "application_fee_options": [
8 {
9 "amount": "5",
10 "currency": "AUD",
11 "percentage": "0.1",
12 "source_type": "TRANSFER",
13 "type": "FIXED"
14 }
15 ],
16 "application_fees": [
17 {
18 "amount": "5",
19 "currency": "AUD",
20 "source_type": "TRANSFER"
21 }
22 ],
23 "batch_transfer_id": "d9df6d02-4116-4376-82c7-064159cc878e",
24 "beneficiary": {
25 "additional_info": {
26 "business_area": "Travel",
27 "business_phone_number": "689342234",
28 "business_registration_number": "IT593003",
29 "legal_rep_bank_account_number": "44250100003700000000",
30 "legal_rep_first_name_in_chinese": "小芳",
31 "legal_rep_id_number": "110108199304203520",
32 "legal_rep_last_name_in_chinese": "刘",
33 "legal_rep_mobile_number": "13651362890",
34 "personal_email": "[email protected]",
35 "personal_first_name_in_chinese": "大明",
36 "personal_id_number": "1234567890",
37 "personal_id_type": "NATIONAL_ID",
38 "personal_last_name_in_chinese": "李",
39 "personal_mobile_number": "13651362890",
40 "security_question": "What is the name of my second puppy?",
41 "security_question_answer": "Scooby Doo"
42 },
43 "address": {
44 "city": "Melbourne",
45 "country_code": "AU",
46 "postcode": "3000",
47 "state": "VIC",
48 "street_address": "15 William Street"
49 },
50 "bank_details": {
51 "account_currency": "AUD",
52 "account_name": "Lee Da Ming",
53 "account_name_alias": "Lee D M",
54 "account_number": "12750852",
55 "account_routing_type1": "bsb",
56 "account_routing_type2": "sort_code",
57 "account_routing_value1": "083064",
58 "account_routing_value2": "123456",
59 "bank_account_category": "Checking,Savings,Vista,Maestra",
60 "bank_branch": "Melbourne",
61 "bank_country_code": "AU",
62 "bank_name": "National Australia Bank",
63 "bank_street_address": "500 Bourke Street, Melbourne 3000, Australia",
64 "binding_mobile_number": "654897612345",
65 "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
66 "iban": "ES8023100001180000012345",
67 "local_clearing_system": "ACH",
68 "swift_code": "CTBAAU2S",
69 "transaction_reference": "4140110135",
70 "intermediary_bank_swift_code": "CTBAAU2S",
71 "intermediary_bank_name": "National Australia Bank"
72 },
73 "company_name": "Complete Concrete Pty Ltd",
74 "date_of_birth": "1976-08-26",
75 "entity_type": "COMPANY",
76 "first_name": "John",
77 "last_name": "Walker"
78 },
79 "created_at": "2017-03-22T16:08:02+1100",
80 "dispatch_date": "2017-03-29",
81 "failure_reason": "Insufficient funds",
82 "failure_type": "UNKNOWN",
83 "fee_amount": 4,
84 "fee_currency": "AUD",
85 "fee_paid_by": "PAYER",
86 "funding": {
87 "deposit_type": "DIRECT_DEBIT",
88 "failure_details": {
89 "code": "insufficient_funds",
90 "iso_code": "AM04",
91 "provider_failure_details": {
92 "code": "R01",
93 "local_clearing_system": "US_ACH",
94 "message": "INSUFFICIENT FUNDS"
95 }
96 },
97 "failure_reason": "regulatory_reason",
98 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
99 "status": "FUNDED"
100 },
101 "last_updated_at": "2017-03-24T18:00:02+1100",
102 "metadata": {
103 "order_id": "0123456789"
104 },
105 "payer": {
106 "additional_info": {
107 "business_registration_number": "EU300503",
108 "business_registration_type": "Partnership",
109 "external_id": "1234567890",
110 "personal_email": "[email protected]",
111 "personal_id_number": "1234567890"
112 },
113 "address": {
114 "city": "Melbourne",
115 "country_code": "AU",
116 "postcode": "3000",
117 "state": "VIC",
118 "street_address": "15 William Street"
119 },
120 "company_name": "Complete Concrete Pty Ltd",
121 "date_of_birth": "1976-08-26",
122 "entity_type": "COMPANY",
123 "first_name": "James",
124 "last_name": "Smith"
125 },
126 "payment_amount": 10000,
127 "payment_currency": "AUD",
128 "payment_date": "2017-03-24",
129 "payment_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
130 "payment_method": "SWIFT",
131 "reason": "travel",
132 "reference": "PMT1936398",
133 "remarks": "Any information",
134 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
135 "short_reference_id": "20170322-9F6ML2",
136 "source_amount": 10000,
137 "source_currency": "AUD",
138 "status": "PROCESSING",
139 "swift_charge_option": "SHARED",
140 "underlying_conversion_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede"
141 }
142 ]
143}
Was this section helpful?

Confirm Funding for a Payment

POST /api/v1/payments/confirm_funding/{payment_id}

Confirm funding of a payment under the post-funding settlement model by specifying the payment_id. The funding status of this payment will transition from REQUIRES_FUNDING_CONFIRMATION to SCHEDULED accordingly.

Path parameters
payment_idrequiredstring

payment_id.

Response body - 200 OK
amount_beneficiary_receivesnumber

The total amount (in payment payment_currency) the beneficiary receives for this payment, and is governed by value specified in fee_paid_by, i.e. if fee_paid_by is PAYER, then the beneficiary receives the exact same payment_amount since payer is responsible for the payment fee. Otherwise, beneficiary receives payment_amount - fee as the fee is implicitly passed onto the beneficiary.

amount_payer_paysnumber

The total amount (in source_currency) the payer has to pay for making this payment. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of payment_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as payment_amount.

application_fee_optionsarray

The application fee options applied to this payment.

application_fee_options.amountstring

A positive integer specifying the amount of the fee expressed in the smallest unit of the currency. e.g. cents for USD. This field is required only when type is FIXED.

application_fee_options.currencystring

Specify the currency of the application fee in ISO 4217 currency code format, e.g., USD, AUD. This field is required when the type is FIXED.
When the type is PERCENTAGE and source_type is CONVERSION, the currency for the conversion if specified must be from the currency pair. If the currency is unspecified, the contra currency of the quote will be used.

application_fee_options.metadataobject

The metadata of the application fee. The value should be set in key:value format. (e.g., id:1).

application_fee_options.percentagestring

Required if the type is PERCENTAGE, and the value to be provided depends on the transaction context.
FX Conversions: The value acts as a markup on the FX rate, increasing the conversion cost by the specified percentage.
Others: The value represents a direct fee calculated as a percentage of the transaction amount.

application_fee_options.source_typestring

Specify type of the source transaction.

CONVERSION
TRANSFER
application_fee_options.typestring

Define the type of fee calculation. If the source_type is CONVERSION, then the type must be PERCENTAGE.

FIXED
PERCENTAGE
application_feesarray

Application fees in this payment.

application_fees.amountstring

The application fee amount.

application_fees.currencystring

The currency of the application fee.

application_fees.source_typestring

Specify the type of source transaction for this application fee.

CONVERSION
TRANSFER
batch_transfer_idstring

Unique identifier of the batch containing the payment.

beneficiaryobject

Details of the beneficiary.

beneficiary.bank_detailsobject

Beneficiary's bank account details where the payment will be credited.

beneficiary.bank_details.account_currencystring

Account Currency.

beneficiary.bank_details.account_namestring

Account holder name of the beneficiary’s bank account.

beneficiary.bank_details.bank_country_codestring

Bank country code (2-letter ISO 3166-2 country code).

beneficiary.bank_details.fingerprintstring

Fingerprint of current beneficiary's bank account.

beneficiary.bank_details.account_name_aliasstring

The beneficiary’s account name known in the payment system. This is only supported in some regions and transfer methods. See detailed definitions in the Payouts Product DocsDocs.

beneficiary.bank_details.account_numberstring

Account number, mostly for non-european countries, either account_number or iban should be filled.

beneficiary.bank_details.account_routing_type1string

Routing code type.

beneficiary.bank_details.account_routing_type2string

Routing code sub type.

beneficiary.bank_details.account_routing_value1string

Routing code value.

beneficiary.bank_details.account_routing_value2string

Routing code sub type value.

beneficiary.bank_details.bank_account_categorystring

bank account type.

beneficiary.bank_details.bank_branchstring

Specific branch of bank account.

beneficiary.bank_details.bank_namestring

Bank name of the beneficiary's bank account.

beneficiary.bank_details.bank_statestring

Bank State.

beneficiary.bank_details.bank_street_addressstring

Bank street address.

beneficiary.bank_details.binding_mobile_numberstring

The mobile number tied to the Beneficiary's bank account.

beneficiary.bank_details.ibanstring

International bank account number, mostly for european countries.

beneficiary.bank_details.intermediary_bank_namestring

Bank name of the beneficiary's intermediary bank.

beneficiary.bank_details.intermediary_bank_swift_codestring

Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC.

beneficiary.bank_details.local_clearing_systemstring

Which clearing system should be used for this local bank transfer.

Please refer to our payout guide for details about each option.

We suggest explicitly specifying this value, however if it's not provided we will select a default (using the specified account routing type and/or what's most often the best option).

beneficiary.bank_details.swift_codestring

Bank swift code.

beneficiary.bank_details.transaction_referencestring

The unique reference number that clients need to add when they doing the deposit so that we can top up the fund to correct account.

beneficiary.entity_typestring

Entity type of the beneficiary.

beneficiary.additional_infoobject

Additional information about the beneficiary.

beneficiary.additional_info.business_areastring

Category of business activity.

beneficiary.additional_info.business_phone_numberstring

Business phone number.

beneficiary.additional_info.business_registration_numberstring

Business registration number.

beneficiary.additional_info.external_identifierstring

The identifier that you use to identify a beneficiary, usually a unique identifier. This field can be used to link transfers or beneficiaries to other records such as tax form details for filing purposes.

beneficiary.additional_info.legal_rep_bank_account_numberstring

Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.

beneficiary.additional_info.legal_rep_first_name_in_chinesestring

Legal representative first name in chinese.

beneficiary.additional_info.legal_rep_id_numberstring

Legal representative id number.

beneficiary.additional_info.legal_rep_last_name_in_chinesestring

Legal representative last name in chinese.

beneficiary.additional_info.legal_rep_mobile_numberstring

Legal representative’s mobile number associated with their bank account.

beneficiary.additional_info.personal_emailstring

Personal email.

beneficiary.additional_info.personal_first_name_in_chinesestring

Beneficiary's first name in Chinese.

beneficiary.additional_info.personal_id_numberstring

Personal unique identifier number.

beneficiary.additional_info.personal_id_typestring

Personal unique identifier type.

beneficiary.additional_info.personal_last_name_in_chinesestring

Beneficiary's last name in Chinese.

beneficiary.additional_info.personal_mobile_numberstring

Personal mobile number.

beneficiary.additional_info.recipient_account_idstring

Account unique identifier of the recipient account used for payout processing. The account must be active and have customer_agreements.terms_and_conditions.service_agreement_type set to RECIPIENT (verify via Retrieve account details API).

beneficiary.additional_info.security_questionstring

Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.additional_info.security_question_answerstring

Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.addressobject

Beneficiary's address details.

beneficiary.address.citystring

Beneficiary's city.

beneficiary.address.country_codestring

Beneficiary's country code (2-letter ISO 3166-2 country code).

beneficiary.address.postcodestring

Beneficiary's post code.

beneficiary.address.statestring

Beneficiary's state.

beneficiary.address.street_addressstring

Beneficiary's street address.

beneficiary.company_namestring

Company name of the beneficiary.

beneficiary.date_of_birthstring

beneficiary date of birth.

beneficiary.first_namestring

First name of the beneficiary.

beneficiary.last_namestring

Last name of the beneficiary.

beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this payment.

created_atstring

The time this payment request was created.

dispatch_datestring

Actual payout dispatch date. Payouts are dispatched at this date in actual processing. This date could be later than the payment date.

failure_reasonstring

Empty unless the payment is in an error state.

failure_typestring

Empty unless the payment is in an error state.

fee_amountnumber

The payment fee (in source_currency) for sending this payment.

fee_currencystring

The payment fee currency. This should always equal to the source_currency.

fee_paid_bystring

Denotes whether PAYER / BENEFICIARY will be liable for the the payment fee. Defaults to PAYER unless field is populated in the request.

fundingobject

The funding information of this payment.

funding.statusstring

The funding status of this payment. Please see details in Funding StatusesDocs.

funding.deposit_typestring

Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.

funding.failure_detailsobject

Details about why the funding has failed. Only present when the funding is in a failure state.

funding.failure_details.codestring

Error code (details can be found hereDocs).

funding.failure_details.iso_codestring

Error code ISO 20022 (details can be found hereDocs).

funding.failure_details.provider_failure_detailsobject

A set of original information received from the local clearing system.

funding.failure_details.provider_failure_details.codestring

The original error code received from the local clearing system.

funding.failure_details.provider_failure_details.local_clearing_systemstring

The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.

funding.failure_details.provider_failure_details.messagestring

The original error message received from the local clearing system.

funding.failure_reasonstring

Empty unless the funding is in an error state.

funding.funding_source_idstring

The id of the funding source, it can be null if using a wallet.

last_updated_atstring

The time this payment request was last updated.

metadataobject

A set of key-value pairs for storing your own data together with the payment.

payerobject

Details of the payer.

payer.addressobject

Payer's address details.

payer.address.country_codestring

Payer's country code (2-letter ISO 3166-2 country code).

payer.address.citystring

Payer's city.

payer.address.postcodestring

Payer's post code.

payer.address.statestring

Payer's state.

payer.address.street_addressstring

Payer's street address.

payer.entity_typestring

Entity type of the payer.

payer.additional_infoobject

Additional information about the payer.

payer.additional_info.business_registration_numberstring

Business registration number.

payer.additional_info.business_registration_typestring

Type of business as registered with the local government authority.

payer.additional_info.external_idstring

Unique identifier of the person in your company.

payer.additional_info.personal_emailstring

Personal email.

payer.additional_info.personal_id_numberstring

Personal unique identifier number.

payer.company_namestring

Company name of the payer.

payer.date_of_birthstring

Payer's date of birth.

payer.first_namestring

First name of the payer.

payer.last_namestring

Last name of the payer.

payer_idstring

payer_id of the payer contact used to create this payment.

payment_amountnumber

Amount to be paid.

payment_currencystring

Currency the payment should be made in (3-letter ISO-4217 code).

payment_datestring

Date when payment should be made (Copied from the request if specified).

payment_idstring

Returned payment_id that can be used to query the status of the payment.

payment_methodstring

Copied from the request if specified. Otherwise the system will populate this field automatically.

reasonstring

Reason for the payment instruction.

referencestring

Bank payment reference to be shown on beneficiary's bank transaction history.

remarksstring

Additional information about this payment, which will not be passed to the beneficiary.

request_idstring

A unique request identifier specified in the payment request.

short_reference_idstring

Short payment reference for support purposes.

source_amountnumber

Amount to be received.

source_currencystring

Copied from the request if specified.

statusstring

The payment status. Please see details in Payout StatusesDocs.

swift_charge_optionstring

(For SWIFT payments only), specify who should bear SWIFT charges, either SHARED (default) or PAYER.

underlying_conversion_idstring

Underlying conversion_id (if source_currency is different from payment_currency).

Errors
Error statusDescription
400

Possible errors: payout_not_found, update_unsupported

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/payments/confirm_funding/{payment_id}
$curl --request POST \
> --url 'https://api.sandbox.airwallex.com/api/v1/payments/confirm_funding/payment_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "amount_beneficiary_receives": 99996,
3 "amount_payer_pays": 10004,
4 "application_fee_options": [
5 {
6 "amount": "5",
7 "currency": "AUD",
8 "percentage": "0.1",
9 "source_type": "TRANSFER",
10 "type": "FIXED"
11 }
12 ],
13 "application_fees": [
14 {
15 "amount": "5",
16 "currency": "AUD",
17 "source_type": "TRANSFER"
18 }
19 ],
20 "batch_transfer_id": "d9df6d02-4116-4376-82c7-064159cc878e",
21 "beneficiary": {
22 "additional_info": {
23 "business_area": "Travel",
24 "business_phone_number": "689342234",
25 "business_registration_number": "IT593003",
26 "external_identifier": "<string>",
27 "legal_rep_bank_account_number": "44250100003700000000",
28 "legal_rep_first_name_in_chinese": "小芳",
29 "legal_rep_id_number": "110108199304203520",
30 "legal_rep_last_name_in_chinese": "刘",
31 "legal_rep_mobile_number": "13651362890",
32 "personal_email": "[email protected]",
33 "personal_first_name_in_chinese": "大明",
34 "personal_id_number": "1234567890",
35 "personal_id_type": "NATIONAL_ID",
36 "personal_last_name_in_chinese": "李",
37 "personal_mobile_number": "13651362890",
38 "recipient_account_id": "<string>",
39 "security_question": "What is the name of my second puppy?",
40 "security_question_answer": "Scooby Doo"
41 },
42 "address": {
43 "city": "Melbourne",
44 "country_code": "AU",
45 "postcode": "3000",
46 "state": "VIC",
47 "street_address": "15 William Street"
48 },
49 "bank_details": {
50 "account_currency": "AUD",
51 "account_name": "Lee Da Ming",
52 "account_name_alias": "Lee D M",
53 "account_number": "12750852",
54 "account_routing_type1": "bsb",
55 "account_routing_type2": "sort_code",
56 "account_routing_value1": "083064",
57 "account_routing_value2": "123456",
58 "bank_account_category": "Checking,Savings,Vista,Maestra",
59 "bank_branch": "Melbourne",
60 "bank_country_code": "AU",
61 "bank_name": "National Australia Bank",
62 "bank_state": "<string>",
63 "bank_street_address": "500 Bourke Street, Melbourne 3000, Australia",
64 "binding_mobile_number": "654897612345",
65 "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
66 "iban": "ES8023100001180000012345",
67 "local_clearing_system": "ACH",
68 "swift_code": "CTBAAU2S",
69 "transaction_reference": "4140110135",
70 "intermediary_bank_swift_code": "CTBAAU2S",
71 "intermediary_bank_name": "National Australia Bank"
72 },
73 "company_name": "Complete Concrete Pty Ltd",
74 "date_of_birth": "1976-08-26",
75 "entity_type": "COMPANY",
76 "first_name": "John",
77 "last_name": "Walker"
78 },
79 "beneficiary_id": "<uuid>",
80 "created_at": "2017-03-22T16:08:02+1100",
81 "dispatch_date": "2017-03-29",
82 "failure_reason": "Insufficient funds",
83 "failure_type": "UNKNOWN",
84 "fee_amount": 4,
85 "fee_currency": "AUD",
86 "fee_paid_by": "PAYER",
87 "funding": {
88 "deposit_type": "DIRECT_DEBIT",
89 "failure_details": {
90 "code": "insufficient_funds",
91 "iso_code": "AM04",
92 "provider_failure_details": {
93 "code": "R01",
94 "local_clearing_system": "US_ACH",
95 "message": "INSUFFICIENT FUNDS"
96 }
97 },
98 "failure_reason": "regulatory_reason",
99 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
100 "status": "FUNDED"
101 },
102 "last_updated_at": "2017-03-24T18:00:02+1100",
103 "metadata": {
104 "order_id": "0123456789"
105 },
106 "payer": {
107 "additional_info": {
108 "business_registration_number": "EU300503",
109 "business_registration_type": "Partnership",
110 "external_id": "1234567890",
111 "personal_email": "[email protected]",
112 "personal_id_number": "1234567890"
113 },
114 "address": {
115 "city": "Melbourne",
116 "country_code": "AU",
117 "postcode": "3000",
118 "state": "VIC",
119 "street_address": "15 William Street"
120 },
121 "company_name": "Complete Concrete Pty Ltd",
122 "date_of_birth": "1976-08-26",
123 "entity_type": "COMPANY",
124 "first_name": "James",
125 "last_name": "Smith"
126 },
127 "payer_id": "<uuid>",
128 "payment_amount": 10000,
129 "payment_currency": "AUD",
130 "payment_date": "2017-03-24",
131 "payment_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
132 "payment_method": "SWIFT",
133 "reason": "travel",
134 "reference": "PMT1936398",
135 "remarks": "Any information",
136 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
137 "short_reference_id": "20170322-9F6ML2",
138 "source_amount": 10000,
139 "source_currency": "AUD",
140 "status": "PROCESSING",
141 "swift_charge_option": "SHARED",
142 "underlying_conversion_id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede"
143}
Was this section helpful?

Validate a Payment

POST /api/v1/payments/validate

Given a payment request, validate it and return all failed fields as a 400 response. No errors will be "OK" as a 200 response.

Request body
payment_currencyrequiredstring

Payment currency, i.e. the currency that the beneficiary receives (3-letter ISO-4217 code).

reasonrequiredstring

Reason for the payment instruction.

referencerequiredstring

A user specified reference that will be displayed to the beneficiary on the payment transaction with their bank.

request_idrequiredstring

A unique request ID specified by the client. Payout creation requests with a request_id that has been used in the past 7 days are treated as duplicated payout and cannot be processed. When you are not sure about the outcome of a payout creation request, e.g. when there are network issues or system failures such as timeout, you can try to get a payout with this request_id to find out.
Note: Can be non-UUID as long as it is unique among the requests within the past 7 days.

application_fee_optionsarray

The application fee options applied to the payment.

application_fee_options.amountstring

A positive integer specifying the amount of the fee expressed in the smallest unit of the currency. e.g. cents for USD. This field is required only when type is FIXED.

application_fee_options.currencystring

Specify the currency of the application fee in ISO 4217 currency code format, e.g., USD, AUD. This field is required when the type is FIXED.
When the type is PERCENTAGE and source_type is CONVERSION, the currency for the conversion if specified must be from the currency pair. If the currency is unspecified, the contra currency of the quote will be used.

application_fee_options.metadataobject

The metadata of the application fee. The value should be set in key:value format. (e.g., id:1).

application_fee_options.percentagestring

Required if the type is PERCENTAGE, and the value to be provided depends on the transaction context.
FX Conversions: The value acts as a markup on the FX rate, increasing the conversion cost by the specified percentage.
Others: The value represents a direct fee calculated as a percentage of the transaction amount.

application_fee_options.source_typestring

Specify type of the source transaction.

CONVERSION
TRANSFER
application_fee_options.typestring

Define the type of fee calculation. If the source_type is CONVERSION, then the type must be PERCENTAGE.

FIXED
PERCENTAGE
beneficiaryobject

Details for the beneficiary in the payment request. If beneficiary_id provided in the payment request then beneficiary should be empty.

beneficiary.bank_detailsrequiredobject

Beneficiary's bank account details where the payment will be credited.

beneficiary.bank_details.account_currencyrequiredstring

Account Currency.

beneficiary.bank_details.account_namerequiredstring

Account holder name of the beneficiary’s bank account.

beneficiary.bank_details.bank_country_coderequiredstring

Bank country code (2-letter ISO 3166-2 country code).

beneficiary.bank_details.fingerprintrequiredstring

Fingerprint of current beneficiary's bank account.

beneficiary.bank_details.account_name_aliasstring

The beneficiary’s account name known in the payment system. This is only supported in some regions and transfer methods. See detailed definitions in the Payouts Product DocsDocs.

beneficiary.bank_details.account_numberstring

Account number, mostly for non-european countries, either account_number or iban should be filled.

beneficiary.bank_details.account_routing_type1string

Routing code type.

beneficiary.bank_details.account_routing_type2string

Routing code sub type.

beneficiary.bank_details.account_routing_value1string

Routing code value.

beneficiary.bank_details.account_routing_value2string

Routing code sub type value.

beneficiary.bank_details.bank_account_categorystring

bank account type.

beneficiary.bank_details.bank_branchstring

Specific branch of bank account.

beneficiary.bank_details.bank_namestring

Bank name of the beneficiary's bank account.

beneficiary.bank_details.bank_statestring

Bank State.

beneficiary.bank_details.bank_street_addressstring

Bank street address.

beneficiary.bank_details.binding_mobile_numberstring

The mobile number tied to the Beneficiary's bank account.

beneficiary.bank_details.ibanstring

International bank account number, mostly for european countries.

beneficiary.bank_details.intermediary_bank_namestring

Bank name of the beneficiary's intermediary bank.

beneficiary.bank_details.intermediary_bank_swift_codestring

Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC.

beneficiary.bank_details.local_clearing_systemstring

Which clearing system should be used for this local bank transfer.

Please refer to our payout guide for details about each option.

We suggest explicitly specifying this value, however if it's not provided we will select a default (using the specified account routing type and/or what's most often the best option).

beneficiary.bank_details.swift_codestring

Bank swift code.

beneficiary.bank_details.transaction_referencestring

The unique reference number that clients need to add when they doing the deposit so that we can top up the fund to correct account.

beneficiary.entity_typerequiredstring

Entity type of the beneficiary.

beneficiary.additional_infoobject

Additional information about the beneficiary.

beneficiary.additional_info.business_areastring

Category of business activity.

beneficiary.additional_info.business_phone_numberstring

Business phone number.

beneficiary.additional_info.business_registration_numberstring

Business registration number.

beneficiary.additional_info.external_identifierstring

The identifier that you use to identify a beneficiary, usually a unique identifier. This field can be used to link transfers or beneficiaries to other records such as tax form details for filing purposes.

beneficiary.additional_info.legal_rep_bank_account_numberstring

Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.

beneficiary.additional_info.legal_rep_first_name_in_chinesestring

Legal representative first name in chinese.

beneficiary.additional_info.legal_rep_id_numberstring

Legal representative id number.

beneficiary.additional_info.legal_rep_last_name_in_chinesestring

Legal representative last name in chinese.

beneficiary.additional_info.legal_rep_mobile_numberstring

Legal representative’s mobile number associated with their bank account.

beneficiary.additional_info.personal_emailstring

Personal email.

beneficiary.additional_info.personal_first_name_in_chinesestring

Beneficiary's first name in Chinese.

beneficiary.additional_info.personal_id_numberstring

Personal unique identifier number.

beneficiary.additional_info.personal_id_typestring

Personal unique identifier type.

beneficiary.additional_info.personal_last_name_in_chinesestring

Beneficiary's last name in Chinese.

beneficiary.additional_info.personal_mobile_numberstring

Personal mobile number.

beneficiary.additional_info.recipient_account_idstring

Account unique identifier of the recipient account used for payout processing. The account must be active and have customer_agreements.terms_and_conditions.service_agreement_type set to RECIPIENT (verify via Retrieve account details API).

beneficiary.additional_info.security_questionstring

Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.additional_info.security_question_answerstring

Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.

beneficiary.addressobject

Beneficiary's address details.

beneficiary.address.citystring

Beneficiary's city.

beneficiary.address.country_codestring

Beneficiary's country code (2-letter ISO 3166-2 country code).

beneficiary.address.postcodestring

Beneficiary's post code.

beneficiary.address.statestring

Beneficiary's state.

beneficiary.address.street_addressstring

Beneficiary's street address.

beneficiary.company_namestring

Company name of the beneficiary.

beneficiary.date_of_birthstring

beneficiary date of birth.

beneficiary.first_namestring

First name of the beneficiary.

beneficiary.last_namestring

Last name of the beneficiary.

beneficiary_idstring

An Airwallex beneficiary_id previously generated by utilising the Airwallex Contact API. This may be provided in place of the beneficiary section and should be empty if the beneficiary fields are provided.

client_datastring

Free text field available to you; can be populated with any additional identifiers that may be required for the payment.

fee_paid_bystring

Denotes whether PAYER/BENEFICIARY will be liable for the payment fees, and it affects the actual amount the beneficiary receives.

metadataobject

A set of key-value pairs for storing your own data together with the payment.

payerobject

Details for the payer in the payment request. If payer_id provided in the payment request then payer should be empty.

payer.addressrequiredobject

Payer's address details.

payer.address.country_coderequiredstring

Payer's country code (2-letter ISO 3166-2 country code).

payer.address.citystring

Payer's city.

payer.address.postcodestring

Payer's post code.

payer.address.statestring

Payer's state.

payer.address.street_addressstring

Payer's street address.

payer.entity_typerequiredstring

Entity type of the payer.

payer.additional_infoobject

Additional information about the payer.

payer.additional_info.business_registration_numberstring

Business registration number.

payer.additional_info.business_registration_typestring

Type of business as registered with the local government authority.

payer.additional_info.external_idstring

Unique identifier of the person in your company.

payer.additional_info.personal_emailstring

Personal email.

payer.additional_info.personal_id_numberstring

Personal unique identifier number.

payer.company_namestring

Company name of the payer.

payer.date_of_birthstring

Payer's date of birth.

payer.first_namestring

First name of the payer.

payer.last_namestring

Last name of the payer.

payer_idstring

An Airwallex payer_id previously generated by utilising the Airwallex Contact API. This may be provided in place of the payer section and should be empty if the payer fields are provided.

payment_amountstring

Payment amount in payment_currency.

payment_datestring

Date when payment should be made.

payment_methodstring

Payment method, i.e. SWIFT, LOCAL.

quote_idstring

Provide a valid quote_id to execute the conversion at the client_rate provided in the quote.

remarksstring

Additional information about this payment, which will not be passed to the beneficiary.

source_amountstring

Source amount in source_currency.

source_currencystring

Source currency, i.e. the currency that the Payer uses to fund the payment (3-letter ISO-4217 code).

swift_charge_optionstring

(For SWIFT payments only), specify who should bear SWIFT charges, either SHARED (default) or PAYER.

Response body - 200 OK

OK

Errors
Error statusDescription
400

Possible errors: validation_failed, service_unavailable

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/payments/validate
$curl --request POST \
> --url 'https://api.sandbox.airwallex.com/api/v1/payments/validate' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "application_fee_options": [
> {
> "amount": "5",
> "currency": "AUD",
> "percentage": "0.1",
> "source_type": "TRANSFER",
> "type": "FIXED"
> }
> ],
> "beneficiary": {
> "additional_info": {
> "business_area": "Travel",
> "business_phone_number": "689342234",
> "business_registration_number": "IT593003",
> "external_identifier": "<string>",
> "legal_rep_bank_account_number": "44250100003700000000",
> "legal_rep_first_name_in_chinese": "小芳",
> "legal_rep_id_number": "110108199304203520",
> "legal_rep_last_name_in_chinese": "刘",
> "legal_rep_mobile_number": "13651362890",
> "personal_email": "[email protected]",
> "personal_first_name_in_chinese": "大明",
> "personal_id_number": "1234567890",
> "personal_id_type": "NATIONAL_ID",
> "personal_last_name_in_chinese": "李",
> "personal_mobile_number": "13651362890",
> "recipient_account_id": "<string>",
> "security_question": "What is the name of my second puppy?",
> "security_question_answer": "Scooby Doo"
> },
> "address": {
> "city": "Melbourne",
> "country_code": "AU",
> "postcode": "3000",
> "state": "VIC",
> "street_address": "15 William Street"
> },
> "bank_details": {
> "account_currency": "AUD",
> "account_name": "Lee Da Ming",
> "account_name_alias": "Lee D M",
> "account_number": "12750852",
> "account_routing_type1": "bsb",
> "account_routing_type2": "sort_code",
> "account_routing_value1": "083064",
> "account_routing_value2": "123456",
> "bank_account_category": "Checking,Savings,Vista,Maestra",
> "bank_branch": "Melbourne",
> "bank_country_code": "AU",
> "bank_name": "National Australia Bank",
> "bank_state": "<string>",
> "bank_street_address": "500 Bourke Street, Melbourne 3000, Australia",
> "binding_mobile_number": "654897612345",
> "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
> "iban": "ES8023100001180000012345",
> "local_clearing_system": "ACH",
> "swift_code": "CTBAAU2S",
> "transaction_reference": "4140110135",
> "intermediary_bank_swift_code": "CTBAAU2S",
> "intermediary_bank_name": "National Australia Bank"
> },
> "company_name": "Complete Concrete Pty Ltd",
> "date_of_birth": "1976-08-26",
> "entity_type": "COMPANY",
> "first_name": "John",
> "last_name": "Walker"
> },
> "beneficiary_id": "8365ea88-2946-4877-abe1-e02a1015288d",
> "client_data": "string",
> "fee_paid_by": "PAYER",
> "metadata": {
> "order_id": "0123456789"
> },
> "payer": {
> "additional_info": {
> "business_registration_number": "EU300503",
> "business_registration_type": "Partnership",
> "external_id": "1234567890",
> "personal_email": "[email protected]",
> "personal_id_number": "1234567890"
> },
> "address": {
> "city": "Melbourne",
> "country_code": "AU",
> "postcode": "3000",
> "state": "VIC",
> "street_address": "15 William Street"
> },
> "company_name": "Complete Concrete Pty Ltd",
> "date_of_birth": "1976-08-26",
> "entity_type": "COMPANY",
> "first_name": "James",
> "last_name": "Smith"
> },
> "payer_id": "46c22228-5831-4c53-a4fa-a3ab4954877c",
> "payment_amount": "10000",
> "payment_currency": "AUD",
> "payment_date": "2017-03-20",
> "payment_method": "SWIFT",
> "quote_id": "<string>",
> "reason": "travel",
> "reference": "PMT1936398",
> "remarks": "Any information",
> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
> "source_amount": "10000",
> "source_currency": "AUD",
> "swift_charge_option": "SHARED"
>}'
Was this section helpful?

Cancel a Payment

POST /api/v1/payments/cancel/{payment_id}

Cancel a payment by specifying the payment_id.

Path parameters
payment_idrequiredstring

Unique identifier of the payment to cancel.

Response body - 200 OK

OK

Errors
Error statusDescription
400

Possible errors: payout_not_found, update_unsupported, service_unavailable

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/payments/cancel/{payment_id}
$curl --request POST \
> --url 'https://api.sandbox.airwallex.com/api/v1/payments/cancel/payment_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Was this section helpful?