Airwallex logo
Airwallex logoAirwallex logo

Transfers

Copy for LLMView as Markdown

A transfer 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 transfer by using the beneficiary unique identifier which was previously created using Beneficiary resource.

Endpoints
GET /api/v1/transfers
GET /api/v1/transfers/{id}
POST /api/v1/transfers/{id}/cancel
POST /api/v1/transfers/{id}/confirm_funding
POST /api/v1/transfers/create
POST /api/v1/transfers/validate

Get list of transfers

GET /api/v1/transfers

Get list of transfers 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 transfers 30 days in arrears of today or the to created_at date will be returned.

Parameters
batch_transfer_idstring

Batch transfer unique identifier

beneficiary_idstring

Beneficiary unique identifier

from_created_atstring

The start date of created_at in ISO8601 format (inclusive)

pagestring

A bookmark for use in pagination to retrieve either the next page or the previous page of results. You can fetch the value for this identifier from the response of the previous API call. To retrieve the next page of results, pass the value of page_after (if not null) from the response to a subsequent call. To retrieve the previous page of results, pass the value of page_before (if not null) from the response to a subsequent call. The 30-day limit will be removed if page is present in the request. Passing page=0 on the very first page will override the 30 days default for null date ranges, enabling a complete search of the transfers.

page_sizeinteger

Number of results per page, defaultValue 2000

request_idstring

Transfer request_id

short_reference_idstring

Transfer short_reference_id

statusstring

Status of the transfer

to_created_atstring

The end date of created_at in ISO8601 format (inclusive)

transfer_currencystring

Transfer currency

Response body - 200 OK
itemsarray

Paged results.

items.amount_beneficiary_receivesnumber

The total amount (in transfer transfer_currency) the beneficiary receives for this transfer, 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 transfer_amount since payer is responsible for the transfer fee. Otherwise, beneficiary receives transfer_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 transfer. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of transfer_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as transfer_amount

items.application_fee_optionsarray

The application fee options applied to this transfer.

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

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

items.beneficiaryobject

Details 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.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.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 Docs .

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_country_codestring

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

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

Fingerprint of current 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.cardobject

Beneficiary's card details where the payment will be credited

items.beneficiary.card.brandstring

Card brand

items.beneficiary.card.cardholder_namestring

Cardholder name

items.beneficiary.card.currencystring

Card currency

items.beneficiary.card.expiry_monthstring

Expiry month

items.beneficiary.card.expiry_yearstring

Expiry year

items.beneficiary.card.numberstring

Card number

items.beneficiary.card.tokenstring

Tokenised card number, which can be retrieved from Airwallex beneficiary component

items.beneficiary.company_namestring

Company name of the beneficiary

items.beneficiary.date_of_birthstring

beneficiary date of birth

items.beneficiary.digital_walletobject

Beneficiary's digital wallet details where the payment will be credited

items.beneficiary.digital_wallet.account_namestring

Account holder name of the beneficiary’s digital wallet

items.beneficiary.digital_wallet.country_codestring

Digital wallet country code (2-letter ISO 3166-2 country code)

items.beneficiary.digital_wallet.id_typestring

Account identifier type of the beneficiary’s digital wallet

items.beneficiary.digital_wallet.id_valuestring

Account identifier value of the beneficiary’s digital wallet

items.beneficiary.digital_wallet.providerstring

Service provider of the beneficiary's digital wallet

items.beneficiary.entity_typestring

Entity type of the beneficiary

items.beneficiary.first_namestring

First name of the beneficiary

items.beneficiary.last_namestring

Last name of the beneficiary

items.beneficiary.typestring

Type of the beneficiary, indicating the type of account or method through which the beneficiary receives funds

items.beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this transfer

items.conversionobject

Conversion details of a transfer with currency conversions.

items.conversion.currency_pairstring

The currency pair of the conversion.

items.conversion.ratenumber

The rate of the conversion.

items.created_atstring

The time this transfer request was created

items.dispatch_datestring

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

items.dispatch_infoobject

Additional details populated after the transaction is sent to Airwallex's downstream for processing. Only available for some transfer methods - see Product Docs for details.

items.dispatch_info.external_referencestring

A reference unique identifier to track a transfer after it's dispatched from Airwallex

items.dispatch_info.external_reference_typestring

The definition of the external_reference in the payment system.

items.failureobject

Failure details if the transfer is in an error state

items.failure.codestring

Failure code

items.failure.messagestring

Failure message

items.failure.detailsobject

Additional failure details

items.failure.details.typestring

Failure type

items.failure.details.reason_codesarray

Detailed reason code

items.fee_amountnumber

The transfer fee (in source_currency) for sending this transfer

items.fee_currencystring

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

items.fee_paid_bystring

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

items.fundingobject

The funding information of this transfer.

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 here ).

items.funding.failure_details.iso_codestring

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

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.funding.statusstring

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

items.idstring

Returned id that can be used to query the status of the transfer

items.lock_rate_on_createboolean

Denotes whether to lock the conversion rate for a scheduled transfer with value TRUE or FALSE.This field should only be specified when a conversion is involved. If not specified, the default value is TRUE.

items.metadataobject

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

items.payerobject

Details 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.addressobject

Payer's address details

items.payer.address.citystring

Payer's city

items.payer.address.country_codestring

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

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

Company name of the payer

items.payer.date_of_birthstring

Payer's date of birth

items.payer.entity_typestring

Entity type of the payer

items.payer.first_namestring

First name of the payer

items.payer.last_namestring

Last name of the payer

items.payer_idstring

payer_id of the payer contact used to create this transfer

items.prepaymentobject

Prepayment details for a schedule transfer with currency conversions at a confirmed rate.

items.prepayment.amountnumber

The prepayment amount to be paid.

items.prepayment.currencystring

The prepayment currency.

items.reasonstring

Reason for the transfer instruction

items.referencestring

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

items.remarksstring

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

items.request_idstring

A unique request identifier specified in the transfer request

items.short_reference_idstring

Short transfer reference for support purposes

items.source_amountnumber

Amount to be received

items.source_currencystring

Copied from the request if specified

items.statusstring

The transfer status. Please see details in Transfer Statuses .

items.swift_charge_optionstring

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

items.transfer_amountnumber

Amount to be paid

items.transfer_currencystring

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

items.transfer_datestring

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

items.transfer_methodstring

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

items.updated_atstring

The time this transfer request was last updated

page_afterstring

The page cursor used for searching after page

page_beforestring

The page cursor used for search before page

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/transfers
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/transfers' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "amount_beneficiary_receives": 99996,
5 "amount_payer_pays": 10004,
6 "application_fee_options": [
7 {
8 "amount": "5",
9 "currency": "AUD",
10 "percentage": "0.1",
11 "source_type": "TRANSFER",
12 "type": "FIXED"
13 }
14 ],
15 "application_fees": [
16 {
17 "amount": "5",
18 "currency": "AUD",
19 "source_type": "TRANSFER"
20 }
21 ],
22 "batch_transfer_id": "d9df6d02-4116-4376-82c7-064159cc878e",
23 "beneficiary": {
24 "additional_info": {
25 "business_area": "Travel",
26 "business_phone_number": "689342234",
27 "business_registration_number": "IT593003",
28 "legal_rep_bank_account_number": "44250100003700000000",
29 "legal_rep_first_name_in_chinese": "小芳",
30 "legal_rep_id_number": "110108199304203520",
31 "legal_rep_last_name_in_chinese": "刘",
32 "legal_rep_mobile_number": "13651362890",
33 "personal_email": "[email protected]",
34 "personal_first_name_in_chinese": "大明",
35 "personal_id_number": "1234567890",
36 "personal_id_type": "NATIONAL_ID",
37 "personal_last_name_in_chinese": "李",
38 "personal_mobile_number": "13651362890",
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_street_address": "500 Bourke Street, Melbourne 3000, Australia",
63 "binding_mobile_number": "654897612345",
64 "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc50c",
65 "iban": "ES8023100001180000012345",
66 "intermediary_bank_name": "National Australia Bank",
67 "intermediary_bank_swift_code": "CTBAAU2S",
68 "local_clearing_system": "ACH",
69 "swift_code": "CTBAAU2S"
70 },
71 "card": {
72 "brand": "VISA",
73 "cardholder_name": "John Walker",
74 "currency": "USD",
75 "expiry_month": "10",
76 "expiry_year": "2033",
77 "number": "************1111",
78 "token": "AKvN4TqxI04SNFZ+oYRXaECtDA=="
79 },
80 "company_name": "Complete Concrete Pty Ltd",
81 "date_of_birth": "1976-08-26",
82 "digital_wallet": {
83 "account_name": "John Walker Corporation",
84 "country_code": "US",
85 "id_type": "account_number",
86 "id_value": "1033106816639334",
87 "provider": "AIRWALLEX"
88 },
89 "entity_type": "COMPANY",
90 "first_name": "John",
91 "last_name": "Walker"
92 },
93 "conversion": {
94 "currency_pair": "USDEUR",
95 "rate": 0.761223
96 },
97 "created_at": "2017-03-22T16:08:02+1100",
98 "dispatch_date": "2017-03-29",
99 "dispatch_info": {
100 "external_reference": "CHK-100012345",
101 "external_reference_type": "PAPER_CHECK_NUMBER"
102 },
103 "failure": {
104 "code": "90502",
105 "message": "Unable to process due to risk concerns.",
106 "details": {
107 "type": "TM_SUSPEND",
108 "reason_codes": [
109 "EXPIRED_TRANSACTION_RFI"
110 ]
111 }
112 },
113 "fee_amount": 4,
114 "fee_currency": "AUD",
115 "fee_paid_by": "PAYER",
116 "funding": {
117 "deposit_type": "DIRECT_DEBIT",
118 "failure_details": {
119 "code": "insufficient_funds",
120 "iso_code": "AM04",
121 "provider_failure_details": {
122 "code": "R01",
123 "local_clearing_system": "US_ACH",
124 "message": "INSUFFICIENT FUNDS"
125 }
126 },
127 "failure_reason": "regulatory_reason",
128 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
129 "status": "FUNDED"
130 },
131 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
132 "metadata": {
133 "order_id": "0123456789"
134 },
135 "payer": {
136 "additional_info": {
137 "business_registration_number": "EU300503",
138 "business_registration_type": "Partnership",
139 "external_id": "1234567890",
140 "personal_email": "[email protected]",
141 "personal_id_number": "1234567890"
142 },
143 "address": {
144 "city": "Melbourne",
145 "country_code": "AU",
146 "postcode": "3000",
147 "state": "VIC",
148 "street_address": "15 William Street"
149 },
150 "company_name": "Complete Concrete Pty Ltd",
151 "date_of_birth": "1976-08-26",
152 "entity_type": "COMPANY",
153 "first_name": "James",
154 "last_name": "Smith"
155 },
156 "prepayment": {
157 "amount": 12.34,
158 "currency": "USD"
159 },
160 "reason": "travel",
161 "reference": "PMT1936398",
162 "remarks": "Any information",
163 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
164 "short_reference_id": "20170322-9F6ML2",
165 "source_amount": 10000,
166 "source_currency": "AUD",
167 "status": "PROCESSING",
168 "swift_charge_option": "SHARED",
169 "transfer_amount": 10000,
170 "transfer_currency": "AUD",
171 "transfer_date": "2017-03-24",
172 "transfer_method": "SWIFT",
173 "updated_at": "2017-03-24T18:00:02+1100"
174 }
175 ],
176 "page_after": "<string>",
177 "page_before": "<string>"
178}
Was this section helpful?

Get transfer by ID

GET /api/v1/transfers/{id}

Get a specific transfer by specifying the Airwallex id.

Parameters
idrequiredstring

Unique identifier of the transfer to retrieve

Response body - 200 OK
amount_beneficiary_receivesnumber

The total amount (in transfer transfer_currency) the beneficiary receives for this transfer, 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 transfer_amount since payer is responsible for the transfer fee. Otherwise, beneficiary receives transfer_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 transfer. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of transfer_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as transfer_amount

application_fee_optionsarray

The application fee options applied to this transfer.

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

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

beneficiaryobject

Details 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.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.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 Docs .

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_country_codestring

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

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

Fingerprint of current 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.cardobject

Beneficiary's card details where the payment will be credited

beneficiary.card.brandstring

Card brand

beneficiary.card.cardholder_namestring

Cardholder name

beneficiary.card.currencystring

Card currency

beneficiary.card.expiry_monthstring

Expiry month

beneficiary.card.expiry_yearstring

Expiry year

beneficiary.card.numberstring

Card number

beneficiary.card.tokenstring

Tokenised card number, which can be retrieved from Airwallex beneficiary component

beneficiary.company_namestring

Company name of the beneficiary

beneficiary.date_of_birthstring

beneficiary date of birth

beneficiary.digital_walletobject

Beneficiary's digital wallet details where the payment will be credited

beneficiary.digital_wallet.account_namestring

Account holder name of the beneficiary’s digital wallet

beneficiary.digital_wallet.country_codestring

Digital wallet country code (2-letter ISO 3166-2 country code)

beneficiary.digital_wallet.id_typestring

Account identifier type of the beneficiary’s digital wallet

beneficiary.digital_wallet.id_valuestring

Account identifier value of the beneficiary’s digital wallet

beneficiary.digital_wallet.providerstring

Service provider of the beneficiary's digital wallet

beneficiary.entity_typestring

Entity type of the beneficiary

beneficiary.first_namestring

First name of the beneficiary

beneficiary.last_namestring

Last name of the beneficiary

beneficiary.typestring

Type of the beneficiary, indicating the type of account or method through which the beneficiary receives funds

beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this transfer

conversionobject

Conversion details of a transfer with currency conversions.

conversion.currency_pairstring

The currency pair of the conversion.

conversion.ratenumber

The rate of the conversion.

created_atstring

The time this transfer 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 transfer date.

dispatch_infoobject

Additional details populated after the transaction is sent to Airwallex's downstream for processing. Only available for some transfer methods - see Product Docs for details.

dispatch_info.external_referencestring

A reference unique identifier to track a transfer after it's dispatched from Airwallex

dispatch_info.external_reference_typestring

The definition of the external_reference in the payment system.

failureobject

Failure details if the transfer is in an error state

failure.codestring

Failure code

failure.messagestring

Failure message

failure.detailsobject

Additional failure details

failure.details.typestring

Failure type

failure.details.reason_codesarray

Detailed reason code

fee_amountnumber

The transfer fee (in source_currency) for sending this transfer

fee_currencystring

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

fee_paid_bystring

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

fundingobject

The funding information of this transfer.

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 here ).

funding.failure_details.iso_codestring

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

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.

funding.statusstring

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

idstring

Returned id that can be used to query the status of the transfer

lock_rate_on_createboolean

Denotes whether to lock the conversion rate for a scheduled transfer with value TRUE or FALSE.This field should only be specified when a conversion is involved. If not specified, the default value is TRUE.

metadataobject

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

payerobject

Details 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.addressobject

Payer's address details

payer.address.citystring

Payer's city

payer.address.country_codestring

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

payer.address.postcodestring

Payer's post code

payer.address.statestring

Payer's state

payer.address.street_addressstring

Payer's street address

payer.company_namestring

Company name of the payer

payer.date_of_birthstring

Payer's date of birth

payer.entity_typestring

Entity type of the payer

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 transfer

prepaymentobject

Prepayment details for a schedule transfer with currency conversions at a confirmed rate.

prepayment.amountnumber

The prepayment amount to be paid.

prepayment.currencystring

The prepayment currency.

reasonstring

Reason for the transfer instruction

referencestring

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

remarksstring

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

request_idstring

A unique request identifier specified in the transfer request

short_reference_idstring

Short transfer reference for support purposes

source_amountnumber

Amount to be received

source_currencystring

Copied from the request if specified

statusstring

The transfer status. Please see details in Transfer Statuses .

swift_charge_optionstring

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

transfer_amountnumber

Amount to be paid

transfer_currencystring

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

transfer_datestring

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

transfer_methodstring

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

updated_atstring

The time this transfer request was last updated

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/transfers/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/transfers/transfer_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 "intermediary_bank_name": "National Australia Bank",
68 "intermediary_bank_swift_code": "CTBAAU2S",
69 "local_clearing_system": "ACH",
70 "swift_code": "CTBAAU2S"
71 },
72 "card": {
73 "brand": "VISA",
74 "cardholder_name": "John Walker",
75 "currency": "USD",
76 "expiry_month": "10",
77 "expiry_year": "2033",
78 "number": "************1111",
79 "token": "AKvN4TqxI04SNFZ+oYRXaECtDA=="
80 },
81 "company_name": "Complete Concrete Pty Ltd",
82 "date_of_birth": "1976-08-26",
83 "digital_wallet": {
84 "account_name": "John Walker Corporation",
85 "country_code": "US",
86 "id_type": "account_number",
87 "id_value": "1033106816639334",
88 "provider": "AIRWALLEX"
89 },
90 "entity_type": "COMPANY",
91 "first_name": "John",
92 "last_name": "Walker",
93 "type": "<string>"
94 },
95 "beneficiary_id": "<uuid>",
96 "conversion": {
97 "currency_pair": "USDEUR",
98 "rate": 0.761223
99 },
100 "created_at": "2017-03-22T16:08:02+1100",
101 "dispatch_date": "2017-03-29",
102 "dispatch_info": {
103 "external_reference": "CHK-100012345",
104 "external_reference_type": "PAPER_CHECK_NUMBER"
105 },
106 "failure": {
107 "code": "90502",
108 "message": "Unable to process due to risk concerns.",
109 "details": {
110 "type": "TM_SUSPEND",
111 "reason_codes": [
112 "EXPIRED_TRANSACTION_RFI"
113 ]
114 }
115 },
116 "fee_amount": 4,
117 "fee_currency": "AUD",
118 "fee_paid_by": "PAYER",
119 "funding": {
120 "deposit_type": "DIRECT_DEBIT",
121 "failure_details": {
122 "code": "insufficient_funds",
123 "iso_code": "AM04",
124 "provider_failure_details": {
125 "code": "R01",
126 "local_clearing_system": "US_ACH",
127 "message": "INSUFFICIENT FUNDS"
128 }
129 },
130 "failure_reason": "regulatory_reason",
131 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
132 "status": "FUNDED"
133 },
134 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
135 "lock_rate_on_create": false,
136 "metadata": {
137 "order_id": "0123456789"
138 },
139 "payer": {
140 "additional_info": {
141 "business_registration_number": "EU300503",
142 "business_registration_type": "Partnership",
143 "external_id": "1234567890",
144 "personal_email": "[email protected]",
145 "personal_id_number": "1234567890"
146 },
147 "address": {
148 "city": "Melbourne",
149 "country_code": "AU",
150 "postcode": "3000",
151 "state": "VIC",
152 "street_address": "15 William Street"
153 },
154 "company_name": "Complete Concrete Pty Ltd",
155 "date_of_birth": "1976-08-26",
156 "entity_type": "COMPANY",
157 "first_name": "James",
158 "last_name": "Smith"
159 },
160 "payer_id": "<uuid>",
161 "prepayment": {
162 "amount": 12.34,
163 "currency": "USD"
164 },
165 "reason": "travel",
166 "reference": "PMT1936398",
167 "remarks": "Any information",
168 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
169 "short_reference_id": "20170322-9F6ML2",
170 "source_amount": 10000,
171 "source_currency": "AUD",
172 "status": "PROCESSING",
173 "swift_charge_option": "SHARED",
174 "transfer_amount": 10000,
175 "transfer_currency": "AUD",
176 "transfer_date": "2017-03-24",
177 "transfer_method": "SWIFT",
178 "updated_at": "2017-03-24T18:00:02+1100"
179}
Was this section helpful?

Cancel a transfer

POST /api/v1/transfers/{id}/cancel

Cancel a transfer by specifying the id.

Parameters
idrequiredstring

Unique identifier of the transfer to cancel

Response body - 200 OK

OK

Errors
Error statusDescription
400

Possible errors: transfer_not_found, update_unsupported, service_unavailable

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

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

Confirm funding for a transfer

POST /api/v1/transfers/{id}/confirm_funding

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

Parameters
idrequiredstring

id

Response body - 200 OK
amount_beneficiary_receivesnumber

The total amount (in transfer transfer_currency) the beneficiary receives for this transfer, 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 transfer_amount since payer is responsible for the transfer fee. Otherwise, beneficiary receives transfer_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 transfer. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of transfer_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as transfer_amount

application_fee_optionsarray

The application fee options applied to this transfer.

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

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

beneficiaryobject

Details 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.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.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 Docs .

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_country_codestring

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

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

Fingerprint of current 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.cardobject

Beneficiary's card details where the payment will be credited

beneficiary.card.brandstring

Card brand

beneficiary.card.cardholder_namestring

Cardholder name

beneficiary.card.currencystring

Card currency

beneficiary.card.expiry_monthstring

Expiry month

beneficiary.card.expiry_yearstring

Expiry year

beneficiary.card.numberstring

Card number

beneficiary.card.tokenstring

Tokenised card number, which can be retrieved from Airwallex beneficiary component

beneficiary.company_namestring

Company name of the beneficiary

beneficiary.date_of_birthstring

beneficiary date of birth

beneficiary.digital_walletobject

Beneficiary's digital wallet details where the payment will be credited

beneficiary.digital_wallet.account_namestring

Account holder name of the beneficiary’s digital wallet

beneficiary.digital_wallet.country_codestring

Digital wallet country code (2-letter ISO 3166-2 country code)

beneficiary.digital_wallet.id_typestring

Account identifier type of the beneficiary’s digital wallet

beneficiary.digital_wallet.id_valuestring

Account identifier value of the beneficiary’s digital wallet

beneficiary.digital_wallet.providerstring

Service provider of the beneficiary's digital wallet

beneficiary.entity_typestring

Entity type of the beneficiary

beneficiary.first_namestring

First name of the beneficiary

beneficiary.last_namestring

Last name of the beneficiary

beneficiary.typestring

Type of the beneficiary, indicating the type of account or method through which the beneficiary receives funds

beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this transfer

conversionobject

Conversion details of a transfer with currency conversions.

conversion.currency_pairstring

The currency pair of the conversion.

conversion.ratenumber

The rate of the conversion.

created_atstring

The time this transfer 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 transfer date.

dispatch_infoobject

Additional details populated after the transaction is sent to Airwallex's downstream for processing. Only available for some transfer methods - see Product Docs for details.

dispatch_info.external_referencestring

A reference unique identifier to track a transfer after it's dispatched from Airwallex

dispatch_info.external_reference_typestring

The definition of the external_reference in the payment system.

failureobject

Failure details if the transfer is in an error state

failure.codestring

Failure code

failure.messagestring

Failure message

failure.detailsobject

Additional failure details

failure.details.typestring

Failure type

failure.details.reason_codesarray

Detailed reason code

fee_amountnumber

The transfer fee (in source_currency) for sending this transfer

fee_currencystring

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

fee_paid_bystring

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

fundingobject

The funding information of this transfer.

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 here ).

funding.failure_details.iso_codestring

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

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.

funding.statusstring

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

idstring

Returned id that can be used to query the status of the transfer

lock_rate_on_createboolean

Denotes whether to lock the conversion rate for a scheduled transfer with value TRUE or FALSE.This field should only be specified when a conversion is involved. If not specified, the default value is TRUE.

metadataobject

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

payerobject

Details 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.addressobject

Payer's address details

payer.address.citystring

Payer's city

payer.address.country_codestring

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

payer.address.postcodestring

Payer's post code

payer.address.statestring

Payer's state

payer.address.street_addressstring

Payer's street address

payer.company_namestring

Company name of the payer

payer.date_of_birthstring

Payer's date of birth

payer.entity_typestring

Entity type of the payer

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 transfer

prepaymentobject

Prepayment details for a schedule transfer with currency conversions at a confirmed rate.

prepayment.amountnumber

The prepayment amount to be paid.

prepayment.currencystring

The prepayment currency.

reasonstring

Reason for the transfer instruction

referencestring

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

remarksstring

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

request_idstring

A unique request identifier specified in the transfer request

short_reference_idstring

Short transfer reference for support purposes

source_amountnumber

Amount to be received

source_currencystring

Copied from the request if specified

statusstring

The transfer status. Please see details in Transfer Statuses .

swift_charge_optionstring

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

transfer_amountnumber

Amount to be paid

transfer_currencystring

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

transfer_datestring

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

transfer_methodstring

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

updated_atstring

The time this transfer request was last updated

Errors
Error statusDescription
400

Possible errors: transfer_not_found, update_unsupported

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

POST /api/v1/transfers/{id}/confirm_funding
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/transfers/transfer_id/confirm_funding' \
> --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 "intermediary_bank_name": "National Australia Bank",
68 "intermediary_bank_swift_code": "CTBAAU2S",
69 "local_clearing_system": "ACH",
70 "swift_code": "CTBAAU2S"
71 },
72 "card": {
73 "brand": "VISA",
74 "cardholder_name": "John Walker",
75 "currency": "USD",
76 "expiry_month": "10",
77 "expiry_year": "2033",
78 "number": "************1111",
79 "token": "AKvN4TqxI04SNFZ+oYRXaECtDA=="
80 },
81 "company_name": "Complete Concrete Pty Ltd",
82 "date_of_birth": "1976-08-26",
83 "digital_wallet": {
84 "account_name": "John Walker Corporation",
85 "country_code": "US",
86 "id_type": "account_number",
87 "id_value": "1033106816639334",
88 "provider": "AIRWALLEX"
89 },
90 "entity_type": "COMPANY",
91 "first_name": "John",
92 "last_name": "Walker",
93 "type": "<string>"
94 },
95 "beneficiary_id": "<uuid>",
96 "conversion": {
97 "currency_pair": "USDEUR",
98 "rate": 0.761223
99 },
100 "created_at": "2017-03-22T16:08:02+1100",
101 "dispatch_date": "2017-03-29",
102 "dispatch_info": {
103 "external_reference": "CHK-100012345",
104 "external_reference_type": "PAPER_CHECK_NUMBER"
105 },
106 "failure": {
107 "code": "90502",
108 "message": "Unable to process due to risk concerns.",
109 "details": {
110 "type": "TM_SUSPEND",
111 "reason_codes": [
112 "EXPIRED_TRANSACTION_RFI"
113 ]
114 }
115 },
116 "fee_amount": 4,
117 "fee_currency": "AUD",
118 "fee_paid_by": "PAYER",
119 "funding": {
120 "deposit_type": "DIRECT_DEBIT",
121 "failure_details": {
122 "code": "insufficient_funds",
123 "iso_code": "AM04",
124 "provider_failure_details": {
125 "code": "R01",
126 "local_clearing_system": "US_ACH",
127 "message": "INSUFFICIENT FUNDS"
128 }
129 },
130 "failure_reason": "regulatory_reason",
131 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
132 "status": "FUNDED"
133 },
134 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
135 "lock_rate_on_create": false,
136 "metadata": {
137 "order_id": "0123456789"
138 },
139 "payer": {
140 "additional_info": {
141 "business_registration_number": "EU300503",
142 "business_registration_type": "Partnership",
143 "external_id": "1234567890",
144 "personal_email": "[email protected]",
145 "personal_id_number": "1234567890"
146 },
147 "address": {
148 "city": "Melbourne",
149 "country_code": "AU",
150 "postcode": "3000",
151 "state": "VIC",
152 "street_address": "15 William Street"
153 },
154 "company_name": "Complete Concrete Pty Ltd",
155 "date_of_birth": "1976-08-26",
156 "entity_type": "COMPANY",
157 "first_name": "James",
158 "last_name": "Smith"
159 },
160 "payer_id": "<uuid>",
161 "prepayment": {
162 "amount": 12.34,
163 "currency": "USD"
164 },
165 "reason": "travel",
166 "reference": "PMT1936398",
167 "remarks": "Any information",
168 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
169 "short_reference_id": "20170322-9F6ML2",
170 "source_amount": 10000,
171 "source_currency": "AUD",
172 "status": "PROCESSING",
173 "swift_charge_option": "SHARED",
174 "transfer_amount": 10000,
175 "transfer_currency": "AUD",
176 "transfer_date": "2017-03-24",
177 "transfer_method": "SWIFT",
178 "updated_at": "2017-03-24T18:00:02+1100"
179}
Was this section helpful?

Create a new transfer

POST /api/v1/transfers/create

Create a new transfer to a beneficiary. The transfer can either include an underlying conversion when the transfer currency varies from the source currency, or will not include a conversion when the transfer 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 transfer and the route it will take to reach that destination.

Transfer Fee

By default, payer is responsible for the transfer 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 transfer to be submitted for approval is available upon request. When a transfer including a conversion is submitted for approval, values for amount_beneficiary_receives, amount_payer_pays, fee_amount, transfer_amount and source_amount in the response are tentative based on the exchange rate at the time of creation until the transfer status changes to SCHEDULED, at which point the exchange rate is confirmed. When the transfer status transitions to SCHEDULED, if the transfer_date is a past date, its value will get updated.

Request body
application_fee_optionsarray

The application fee options applied to the transfer.

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 transfer request. If beneficiary_id provided in the transfer request then beneficiary should be empty

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

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

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_country_coderequiredstring

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

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

Fingerprint of current 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.cardobject

Beneficiary's card details where the payment will be credited

beneficiary.card.brandstring

Card brand

beneficiary.card.cardholder_namerequiredstring

Cardholder name

beneficiary.card.currencystring

Card currency

beneficiary.card.expiry_monthstring

Expiry month

beneficiary.card.expiry_yearstring

Expiry year

beneficiary.card.numberstring

Card number

beneficiary.card.tokenrequiredstring

Tokenised card number, which can be retrieved from Airwallex beneficiary component

beneficiary.company_namestring

Company name of the beneficiary

beneficiary.date_of_birthstring

beneficiary date of birth

beneficiary.digital_walletobject

Beneficiary's digital wallet details where the payment will be credited

beneficiary.digital_wallet.account_namerequiredstring

Account holder name of the beneficiary’s digital wallet

beneficiary.digital_wallet.country_codestring

Digital wallet country code (2-letter ISO 3166-2 country code)

beneficiary.digital_wallet.id_typerequiredstring

Account identifier type of the beneficiary’s digital wallet

beneficiary.digital_wallet.id_valuerequiredstring

Account identifier value of the beneficiary’s digital wallet

beneficiary.digital_wallet.providerrequiredstring

Service provider of the beneficiary's digital wallet

beneficiary.entity_typestring

Entity type of the beneficiary

beneficiary.first_namestring

First name of the beneficiary

beneficiary.last_namestring

Last name of the beneficiary

beneficiary.typestring

Type of the beneficiary, indicating the type of account or method through which the beneficiary receives funds

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 transfer

fee_paid_bystring

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

lock_rate_on_createboolean

Customers could choose whether to use confirmed rates for scheduled transfer with conversion. This field should only be specified when a conversion is involved.If customers do not specify this field, the default value is true. This field can either be specified to be TRUE when creating a transfer with currency conversions at a confirmed rate or FALSE if an unconfirmed rate is wanted.

metadataobject

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

payerobject

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

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

Payer's address details

payer.address.citystring

Payer's city

payer.address.country_coderequiredstring

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

payer.address.postcodestring

Payer's post code

payer.address.statestring

Payer's state

payer.address.street_addressstring

Payer's street address

payer.company_namestring

Company name of the payer

payer.date_of_birthstring

Payer's date of birth

payer.entity_typerequiredstring

Entity type of the payer

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

quote_idstring

quote id from a previously created lockfx quote

reasonrequiredstring

Reason for the transfer instruction

referencerequiredstring

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

remarksstring

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

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.

source_amountstring

Source amount in source_currency

source_currencystring

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

swift_charge_optionstring

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

transfer_amountstring

Transfer amount in transfer_currency

transfer_currencyrequiredstring

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

transfer_datestring

Date when transfer should be made

transfer_methodstring

Transfer method, i.e. SWIFT, LOCAL

Response body - 201 Created
amount_beneficiary_receivesnumber

The total amount (in transfer transfer_currency) the beneficiary receives for this transfer, 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 transfer_amount since payer is responsible for the transfer fee. Otherwise, beneficiary receives transfer_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 transfer. For example, if fee_paid_by is PAYER and FX conversion is not involved, then this is the sum of transfer_amount + fee as the payer is responsible for the fee. Otherwise this field is the same as transfer_amount

application_fee_optionsarray

The application fee options applied to this transfer.

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

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

beneficiaryobject

Details 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.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.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 Docs .

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_country_codestring

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

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

Fingerprint of current 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.cardobject

Beneficiary's card details where the payment will be credited

beneficiary.card.brandstring

Card brand

beneficiary.card.cardholder_namestring

Cardholder name

beneficiary.card.currencystring

Card currency

beneficiary.card.expiry_monthstring

Expiry month

beneficiary.card.expiry_yearstring

Expiry year

beneficiary.card.numberstring

Card number

beneficiary.card.tokenstring

Tokenised card number, which can be retrieved from Airwallex beneficiary component

beneficiary.company_namestring

Company name of the beneficiary

beneficiary.date_of_birthstring

beneficiary date of birth

beneficiary.digital_walletobject

Beneficiary's digital wallet details where the payment will be credited

beneficiary.digital_wallet.account_namestring

Account holder name of the beneficiary’s digital wallet

beneficiary.digital_wallet.country_codestring

Digital wallet country code (2-letter ISO 3166-2 country code)

beneficiary.digital_wallet.id_typestring

Account identifier type of the beneficiary’s digital wallet

beneficiary.digital_wallet.id_valuestring

Account identifier value of the beneficiary’s digital wallet

beneficiary.digital_wallet.providerstring

Service provider of the beneficiary's digital wallet

beneficiary.entity_typestring

Entity type of the beneficiary

beneficiary.first_namestring

First name of the beneficiary

beneficiary.last_namestring

Last name of the beneficiary

beneficiary.typestring

Type of the beneficiary, indicating the type of account or method through which the beneficiary receives funds

beneficiary_idstring

beneficiary_id of the beneficiary contact used to create this transfer

conversionobject

Conversion details of a transfer with currency conversions.

conversion.currency_pairstring

The currency pair of the conversion.

conversion.ratenumber

The rate of the conversion.

created_atstring

The time this transfer 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 transfer date.

dispatch_infoobject

Additional details populated after the transaction is sent to Airwallex's downstream for processing. Only available for some transfer methods - see Product Docs for details.

dispatch_info.external_referencestring

A reference unique identifier to track a transfer after it's dispatched from Airwallex

dispatch_info.external_reference_typestring

The definition of the external_reference in the payment system.

failureobject

Failure details if the transfer is in an error state

failure.codestring

Failure code

failure.messagestring

Failure message

failure.detailsobject

Additional failure details

failure.details.typestring

Failure type

failure.details.reason_codesarray

Detailed reason code

fee_amountnumber

The transfer fee (in source_currency) for sending this transfer

fee_currencystring

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

fee_paid_bystring

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

fundingobject

The funding information of this transfer.

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 here ).

funding.failure_details.iso_codestring

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

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.

funding.statusstring

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

idstring

Returned id that can be used to query the status of the transfer

lock_rate_on_createboolean

Denotes whether to lock the conversion rate for a scheduled transfer with value TRUE or FALSE.This field should only be specified when a conversion is involved. If not specified, the default value is TRUE.

metadataobject

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

payerobject

Details 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.addressobject

Payer's address details

payer.address.citystring

Payer's city

payer.address.country_codestring

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

payer.address.postcodestring

Payer's post code

payer.address.statestring

Payer's state

payer.address.street_addressstring

Payer's street address

payer.company_namestring

Company name of the payer

payer.date_of_birthstring

Payer's date of birth

payer.entity_typestring

Entity type of the payer

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 transfer

prepaymentobject

Prepayment details for a schedule transfer with currency conversions at a confirmed rate.

prepayment.amountnumber

The prepayment amount to be paid.

prepayment.currencystring

The prepayment currency.

reasonstring

Reason for the transfer instruction

referencestring

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

remarksstring

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

request_idstring

A unique request identifier specified in the transfer request

short_reference_idstring

Short transfer reference for support purposes

source_amountnumber

Amount to be received

source_currencystring

Copied from the request if specified

statusstring

The transfer status. Please see details in Transfer Statuses .

swift_charge_optionstring

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

transfer_amountnumber

Amount to be paid

transfer_currencystring

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

transfer_datestring

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

transfer_methodstring

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

updated_atstring

The time this transfer request was last updated

Errors
Error statusDescription
400

Possible errors: request_id_duplicate, declaration_required, amount_beneficiary_receives_below_limit, amount_below_transfer_method_limit, source_amount_below_account_limit, transfer_amount_below_account_limit, amount_beneficiary_receives_above_cumulative_limit, amount_above_transfer_method_limit, source_amount_above_account_limit, transfer_amount_above_account_limit, fee_unknown, service_unavailable, currency_pair_invalid, order_info_unsupported, order_reconciliation_failed, transfer_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, transfer_date_invalid

401

Possible errors: credentials_invalid, credentials_expired

409

Possible errors: request_pending

429

Too many requests

500

Service unavailable

POST /api/v1/transfers/create
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/transfers/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",
> "intermediary_bank_name": "National Australia Bank",
> "intermediary_bank_swift_code": "CTBAAU2S",
> "local_clearing_system": "ACH",
> "swift_code": "CTBAAU2S"
> },
> "card": {
> "brand": "VISA",
> "cardholder_name": "John Walker",
> "currency": "USD",
> "expiry_month": "10",
> "expiry_year": "2033",
> "number": "************1111",
> "token": "AKvN4TqxI04SNFZ+oYRXaECtDA=="
> },
> "company_name": "Complete Concrete Pty Ltd",
> "date_of_birth": "1976-08-26",
> "digital_wallet": {
> "account_name": "John Walker Corporation",
> "country_code": "US",
> "id_type": "account_number",
> "id_value": "1033106816639334",
> "provider": "AIRWALLEX"
> },
> "entity_type": "COMPANY",
> "first_name": "John",
> "last_name": "Walker",
> "type": "<string>"
> },
> "beneficiary_id": "8365ea88-2946-4877-abe1-e02a1015288d",
> "client_data": "string",
> "fee_paid_by": "PAYER",
> "lock_rate_on_create": false,
> "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",
> "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",
> "transfer_amount": "10000",
> "transfer_currency": "AUD",
> "transfer_date": "2017-03-20",
> "transfer_method": "SWIFT"
>}'
Response (201 Created)
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 "intermediary_bank_name": "National Australia Bank",
68 "intermediary_bank_swift_code": "CTBAAU2S",
69 "local_clearing_system": "ACH",
70 "swift_code": "CTBAAU2S"
71 },
72 "card": {
73 "brand": "VISA",
74 "cardholder_name": "John Walker",
75 "currency": "USD",
76 "expiry_month": "10",
77 "expiry_year": "2033",
78 "number": "************1111",
79 "token": "AKvN4TqxI04SNFZ+oYRXaECtDA=="
80 },
81 "company_name": "Complete Concrete Pty Ltd",
82 "date_of_birth": "1976-08-26",
83 "digital_wallet": {
84 "account_name": "John Walker Corporation",
85 "country_code": "US",
86 "id_type": "account_number",
87 "id_value": "1033106816639334",
88 "provider": "AIRWALLEX"
89 },
90 "entity_type": "COMPANY",
91 "first_name": "John",
92 "last_name": "Walker",
93 "type": "<string>"
94 },
95 "beneficiary_id": "<uuid>",
96 "conversion": {
97 "currency_pair": "USDEUR",
98 "rate": 0.761223
99 },
100 "created_at": "2017-03-22T16:08:02+1100",
101 "dispatch_date": "2017-03-29",
102 "dispatch_info": {
103 "external_reference": "CHK-100012345",
104 "external_reference_type": "PAPER_CHECK_NUMBER"
105 },
106 "failure": {
107 "code": "90502",
108 "message": "Unable to process due to risk concerns.",
109 "details": {
110 "type": "TM_SUSPEND",
111 "reason_codes": [
112 "EXPIRED_TRANSACTION_RFI"
113 ]
114 }
115 },
116 "fee_amount": 4,
117 "fee_currency": "AUD",
118 "fee_paid_by": "PAYER",
119 "funding": {
120 "deposit_type": "DIRECT_DEBIT",
121 "failure_details": {
122 "code": "insufficient_funds",
123 "iso_code": "AM04",
124 "provider_failure_details": {
125 "code": "R01",
126 "local_clearing_system": "US_ACH",
127 "message": "INSUFFICIENT FUNDS"
128 }
129 },
130 "failure_reason": "regulatory_reason",
131 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",
132 "status": "FUNDED"
133 },
134 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",
135 "lock_rate_on_create": false,
136 "metadata": {
137 "order_id": "0123456789"
138 },
139 "payer": {
140 "additional_info": {
141 "business_registration_number": "EU300503",
142 "business_registration_type": "Partnership",
143 "external_id": "1234567890",
144 "personal_email": "[email protected]",
145 "personal_id_number": "1234567890"
146 },
147 "address": {
148 "city": "Melbourne",
149 "country_code": "AU",
150 "postcode": "3000",
151 "state": "VIC",
152 "street_address": "15 William Street"
153 },
154 "company_name": "Complete Concrete Pty Ltd",
155 "date_of_birth": "1976-08-26",
156 "entity_type": "COMPANY",
157 "first_name": "James",
158 "last_name": "Smith"
159 },
160 "payer_id": "<uuid>",
161 "prepayment": {
162 "amount": 12.34,
163 "currency": "USD"
164 },
165 "reason": "travel",
166 "reference": "PMT1936398",
167 "remarks": "Any information",
168 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
169 "short_reference_id": "20170322-9F6ML2",
170 "source_amount": 10000,
171 "source_currency": "AUD",
172 "status": "PROCESSING",
173 "swift_charge_option": "SHARED",
174 "transfer_amount": 10000,
175 "transfer_currency": "AUD",
176 "transfer_date": "2017-03-24",
177 "transfer_method": "SWIFT",
178 "updated_at": "2017-03-24T18:00:02+1100"
179}
Was this section helpful?

Validate transfer

POST /api/v1/transfers/validate

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

Request body
application_fee_optionsarray

The application fee options applied to the transfer.

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 transfer request. If beneficiary_id provided in the transfer request then beneficiary should be empty

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

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

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_country_coderequiredstring

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

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

Fingerprint of current 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.cardobject

Beneficiary's card details where the payment will be credited

beneficiary.card.brandstring

Card brand

beneficiary.card.cardholder_namerequiredstring

Cardholder name

beneficiary.card.currencystring

Card currency

beneficiary.card.expiry_monthstring

Expiry month

beneficiary.card.expiry_yearstring

Expiry year

beneficiary.card.numberstring

Card number

beneficiary.card.tokenrequiredstring

Tokenised card number, which can be retrieved from Airwallex beneficiary component

beneficiary.company_namestring

Company name of the beneficiary

beneficiary.date_of_birthstring

beneficiary date of birth

beneficiary.digital_walletobject

Beneficiary's digital wallet details where the payment will be credited

beneficiary.digital_wallet.account_namerequiredstring

Account holder name of the beneficiary’s digital wallet

beneficiary.digital_wallet.country_codestring

Digital wallet country code (2-letter ISO 3166-2 country code)

beneficiary.digital_wallet.id_typerequiredstring

Account identifier type of the beneficiary’s digital wallet

beneficiary.digital_wallet.id_valuerequiredstring

Account identifier value of the beneficiary’s digital wallet

beneficiary.digital_wallet.providerrequiredstring

Service provider of the beneficiary's digital wallet

beneficiary.entity_typestring

Entity type of the beneficiary

beneficiary.first_namestring

First name of the beneficiary

beneficiary.last_namestring

Last name of the beneficiary

beneficiary.typestring

Type of the beneficiary, indicating the type of account or method through which the beneficiary receives funds

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 transfer

fee_paid_bystring

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

lock_rate_on_createboolean

Customers could choose whether to use confirmed rates for scheduled transfer with conversion. This field should only be specified when a conversion is involved.If customers do not specify this field, the default value is true. This field can either be specified to be TRUE when creating a transfer with currency conversions at a confirmed rate or FALSE if an unconfirmed rate is wanted.

metadataobject

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

payerobject

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

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

Payer's address details

payer.address.citystring

Payer's city

payer.address.country_coderequiredstring

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

payer.address.postcodestring

Payer's post code

payer.address.statestring

Payer's state

payer.address.street_addressstring

Payer's street address

payer.company_namestring

Company name of the payer

payer.date_of_birthstring

Payer's date of birth

payer.entity_typerequiredstring

Entity type of the payer

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

quote_idstring

quote id from a previously created lockfx quote

reasonrequiredstring

Reason for the transfer instruction

referencerequiredstring

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

remarksstring

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

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.

source_amountstring

Source amount in source_currency

source_currencystring

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

swift_charge_optionstring

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

transfer_amountstring

Transfer amount in transfer_currency

transfer_currencyrequiredstring

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

transfer_datestring

Date when transfer should be made

transfer_methodstring

Transfer method, i.e. SWIFT, LOCAL

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/transfers/validate
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/transfers/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",
> "intermediary_bank_name": "National Australia Bank",
> "intermediary_bank_swift_code": "CTBAAU2S",
> "local_clearing_system": "ACH",
> "swift_code": "CTBAAU2S"
> },
> "card": {
> "brand": "VISA",
> "cardholder_name": "John Walker",
> "currency": "USD",
> "expiry_month": "10",
> "expiry_year": "2033",
> "number": "************1111",
> "token": "AKvN4TqxI04SNFZ+oYRXaECtDA=="
> },
> "company_name": "Complete Concrete Pty Ltd",
> "date_of_birth": "1976-08-26",
> "digital_wallet": {
> "account_name": "John Walker Corporation",
> "country_code": "US",
> "id_type": "account_number",
> "id_value": "1033106816639334",
> "provider": "AIRWALLEX"
> },
> "entity_type": "COMPANY",
> "first_name": "John",
> "last_name": "Walker",
> "type": "<string>"
> },
> "beneficiary_id": "8365ea88-2946-4877-abe1-e02a1015288d",
> "client_data": "string",
> "fee_paid_by": "PAYER",
> "lock_rate_on_create": false,
> "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",
> "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",
> "transfer_amount": "10000",
> "transfer_currency": "AUD",
> "transfer_date": "2017-03-20",
> "transfer_method": "SWIFT"
>}'
Was this section helpful?