Transfers
Simulate the transfer lifecycle scenarios in the sandbox environment.
POST /api/v1/simulation/transfers/{id}/transition
Transition transfer status
POST /api/v1/simulation/transfers/{id}/transition
You can use this endpoint to simulate the status transition of your transfer. This is only available in the Sandbox environment. Learn about the transfer status lifecycle .
Unique identifier of the transfer to transition the status of.
The next status to transition to. Status can be OVERDUE, PROCESSING, SENT, PAID, FAILED, and CANCELLED.
The type of failure to simulate.
ACCOUNT_CLOSED, ACCOUNT_CURRENCY_MISMATCH, ACCOUNT_INACTIVE_OR_DORMANT, ACCOUNT_UNDER_RESTRICTION, BENEFICIARY_BANK_RETURNED, BENEFICIARY_NAME_MISMATCH, BENEFICIARY_REQUESTED, CARD_ISSUER_ERROR, CHANNEL_POLICY, CHANNEL_TIMEOUT, CLIENT_REQUESTED, DUPLICATION_RETURN, EXCEEDED_TRANSACTION_AMOUNT_OR_LIMIT, INBOUND_2B_CARD_NOT_SUPPORTED, INBOUND_BENFICIARY_VALIDATION_ERROR, INBOUND_COMPANY_REGISTRATION_NUMBER_ERROR, INBOUND_ORDER_ERROR, INSUFFICIENT_FUNDS, INVALID_ACCOUNT_NAME_OR_NUMBER, INVALID_BANK_INFORMATION, INVALID_BANK_OR_BRANCH_CODE, INVALID_BENEFICIARY_DETAILS, INVALID_CORRESPONDENT_BANK_INFORMATION, INVALID_PAYMENT_PURPOSE, INVALID_SPECIAL_CHARACTER, INVALID_SWIFT_BIC_CODE, OTHER, RECALL_REQUESTED, SYSTEM_ERROR, TM_SUSPENDED, TRANSACTION_AMOUNT_NOT_COVERING_FEE, UNABLE_TO_APPLY
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
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
The application fee options applied to this transfer.
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.
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.
The metadata of the application fee. The value should be set in key:value format. (e.g., id:1).
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.
Specify type of the source transaction.
CONVERSION, TRANSFER
Define the type of fee calculation. If the source_type is CONVERSION, then the type must be PERCENTAGE.
FIXED, PERCENTAGE
Application fees in this transfer.
The application fee amount.
The currency of the application fee.
Specify the type of source transaction for this application fee.
CONVERSION, TRANSFER
Unique identifier of the batch containing the transfer.
Details of the beneficiary
Additional information about the beneficiary
Category of business activity
Business phone number
Business registration number
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
Legal representative's personal bank account number used for declaration purposes. No funds will be sent to this account number.
Legal representative first name in chinese
Legal representative id number
Legal representative last name in chinese
Legal representative’s mobile number associated with their bank account.
Personal email
Beneficiary's first name in Chinese
Personal unique identifier number
Personal unique identifier type
Beneficiary's last name in Chinese
Personal mobile number
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).
Security question. Required when the email address is not registered with Interac e-Transfer autodeposit.
Security question answer. Required when the email address is not registered with Interac e-Transfer autodeposit.
Beneficiary's address details
Beneficiary's city
Beneficiary's country code (2-letter ISO 3166-2 country code)
Beneficiary's post code
Beneficiary's state
Beneficiary's street address
Beneficiary's bank account details where the payment will be credited
Account Currency
Account holder name of the beneficiary’s bank account
Bank country code (2-letter ISO 3166-2 country code)
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 .
Account number, mostly for non-european countries, either account_number or iban should be filled
Routing code type
Routing code sub type
Routing code value
Routing code sub type value
bank account type
Specific branch of bank account
Bank name of the beneficiary's bank account
Bank State
Bank street address
The mobile number tied to the Beneficiary's bank account
Fingerprint of current beneficiary's bank account
International bank account number, mostly for european countries
Bank name of the beneficiary's intermediary bank
Intermediary bank SWIFT code / BIC,Should contain alphanumeric characters only, Should be a valid and supported SWIFT code / BIC
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).
Bank swift code
Company name of the beneficiary
beneficiary date of birth
Beneficiary's digital wallet details where the payment will be credited
Account holder name of the beneficiary’s digital wallet
Account identifier type of the beneficiary’s digital wallet
Account identifier value of the beneficiary’s digital wallet
Service provider of the beneficiary's digital wallet
Digital wallet country code (2-letter ISO 3166-2 country code)
Entity type of the beneficiary
First name of the beneficiary
Last name of the beneficiary
Type of the beneficiary, indicating the type of account or method through which the beneficiary receives funds
beneficiary_id of the beneficiary contact used to create this transfer
Conversion details of a transfer with currency conversions.
The currency pair of the conversion.
The rate of the conversion.
The time this transfer request was created
Actual payout dispatch date. Payouts are dispatched at this date in actual processing. This date could be later than the transfer date.
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.
A reference unique identifier to track a transfer after it's dispatched from Airwallex
The definition of the external_reference in the payment system.
Empty unless the transfer is in an error state
Empty unless the transfer is in an error state
The transfer fee (in source_currency) for sending this transfer
The transfer fee currency. This should always equal to the source_currency
Denotes whether PAYER / BENEFICIARY will be liable for the the transfer fee. Defaults to PAYER unless field is populated in the request
The funding information of this transfer.
The funding status of this payment. Please see details in Funding Statuses .
Can be one of: FASTER_DIRECT_DEBIT, DIRECT_DEBIT.
Details about why the funding has failed. Only present when the funding is in a failure state.
Error code (details can be found here ).
A set of original information received from the local clearing system.
The original error code received from the local clearing system.
The local clearing system used for the direct debit deposit. Possible values are AU_BECS, US_ACH, GB_BACS, EU_SEPA.
The original error message received from the local clearing system.
Empty unless the funding is in an error state.
The id of the funding source, it can be null if using a wallet.
Returned id that can be used to query the status of the transfer
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.
A set of key-value pairs for storing your own data together with the transfer.
Details of the payer
Payer's address details
Payer's country code (2-letter ISO 3166-2 country code)
Payer's city
Payer's post code
Payer's state
Payer's street address
Entity type of the payer
Additional information about the payer
Business registration number
Type of business as registered with the local government authority
Unique identifier of the person in your company
Personal email
Personal unique identifier number
Company name of the payer
Payer's date of birth
First name of the payer
Last name of the payer
payer_id of the payer contact used to create this transfer
Prepayment details for a schedule transfer with currency conversions at a confirmed rate.
The prepayment amount to be paid.
The prepayment currency.
Reason for the transfer instruction
Bank transfer reference to be shown on beneficiary's bank transaction history
Additional information about this transfer, which will not be passed to the beneficiary.
A unique request identifier specified in the transfer request
Short transfer reference for support purposes
Amount to be received
Copied from the request if specified
The transfer status. Please see details in Transfer Statuses .
(For SWIFT transfers only), specify who should bear SWIFT charges, either SHARED (default) or PAYER
Amount to be paid
Currency the transfer should be made in (3-letter ISO-4217 code)
Date when transfer should be made (Copied from the request if specified)
Copied from the request if specified. Otherwise the system will populate this field automatically
The time this transfer request was last updated
| Error status | Description |
|---|---|
| 400 | invalid_argument |
| 401 | credentials_invalid |
| 500 | service_unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/simulation/transfers/transfer_id/transition' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "failure_type": "INVALID_ACCOUNT_NAME_OR_NUMBER",> "next_status": "SENT">}'
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 "company_name": "Complete Concrete Pty Ltd",73 "date_of_birth": "1976-08-26",74 "digital_wallet": {75 "account_name": "John Walker Corporation",76 "country_code": "US",77 "id_type": "account_number",78 "id_value": "1033106816639334",79 "provider": "AIRWALLEX"80 },81 "entity_type": "COMPANY",82 "first_name": "John",83 "last_name": "Walker",84 "type": "<string>"85 },86 "beneficiary_id": "<uuid>",87 "conversion": {88 "currency_pair": "USDEUR",89 "rate": 0.76122390 },91 "created_at": "2017-03-22T16:08:02+1100",92 "dispatch_date": "2017-03-29",93 "dispatch_info": {94 "external_reference": "CHK-100012345",95 "external_reference_type": "PAPER_CHECK_NUMBER"96 },97 "failure_reason": "Insufficient funds",98 "failure_type": "UNKNOWN",99 "fee_amount": 4,100 "fee_currency": "AUD",101 "fee_paid_by": "PAYER",102 "funding": {103 "deposit_type": "DIRECT_DEBIT",104 "failure_details": {105 "code": "insufficient_funds",106 "iso_code": "AM04",107 "provider_failure_details": {108 "code": "R01",109 "local_clearing_system": "US_ACH",110 "message": "INSUFFICIENT FUNDS"111 }112 },113 "failure_reason": "regulatory_reason",114 "funding_source_id": "b3856846-31b0-44d8-855d-e0eedf532282",115 "status": "FUNDED"116 },117 "id": "d9af1614-a6a1-4d45-aae7-6858fc6d9ede",118 "lock_rate_on_create": false,119 "metadata": {120 "order_id": "0123456789"121 },122 "payer": {123 "additional_info": {124 "business_registration_number": "EU300503",125 "business_registration_type": "Partnership",126 "external_id": "1234567890",127 "personal_email": "[email protected]",128 "personal_id_number": "1234567890"129 },130 "address": {131 "city": "Melbourne",132 "country_code": "AU",133 "postcode": "3000",134 "state": "VIC",135 "street_address": "15 William Street"136 },137 "company_name": "Complete Concrete Pty Ltd",138 "date_of_birth": "1976-08-26",139 "entity_type": "COMPANY",140 "first_name": "James",141 "last_name": "Smith"142 },143 "payer_id": "<uuid>",144 "prepayment": {145 "amount": 12.34,146 "currency": "USD"147 },148 "reason": "travel",149 "reference": "PMT1936398",150 "remarks": "Any information",151 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",152 "short_reference_id": "20170322-9F6ML2",153 "source_amount": 10000,154 "source_currency": "AUD",155 "status": "PROCESSING",156 "swift_charge_option": "SHARED",157 "transfer_amount": 10000,158 "transfer_currency": "AUD",159 "transfer_date": "2017-03-24",160 "transfer_method": "SWIFT",161 "updated_at": "2017-03-24T18:00:02+1100"162}