Log inGet started
Airwallex logo
Home
Online Payments
Treasury
Transactional FX
Payouts
Issuing
Scale
Open Banking
Developer Tools
API Reference
Home
Online Payments
Overview
Starting with paymentsAirwallex platform overviewOnline payments modelPricing model
Integration options
Pay by LinkHosted Payment PageEmbedded ElementsDrop-in ElementMobile SDKNative API
API VersioningPaymentCaptureCancellationRefundManagement of payment credentials3D Secure authenticationError response codes
Plugins

Error response codes

Airwallex uses conventional HTTP response codes to indicate the success or failure of an API request.

HTTP response codes

HTTP Response Codes and description

CodeDescription
200OK - The request was processed successfully
201Created - The request was processed successfully
400Error - The request was invalid, or an error occurred in Airwallex or downstream provider
401Unauthorized - Please verify that the authentication token is provided and is valid
404Not found - The requested endpoint does not exist

Error response structure

When we send an error response, the body will generally contain the following fields:

NameTypeDescriptionExample
codeStringError codevalidation_error
sourceStringName of the request parameter that caused the error (This attribute is only for code validation_error)merchant_order_id
messageStringError messagemerchant_order_id must be provided
provider_original_response_codeStringOriginal response code from downstream provider (This attribute is only for code provider_declined or issuer_declined)01

Error response examples for HTTP response code 400

validation_error

{   
    "code":"validation_error",
    "source":"merchant_order_id",
    "message":"merchant_order_id must be provided."
}

resource_not_found

{   
    "code":"resource_not_found",
    "message":"The resource with ID int_n3fXc5NDzgVE9DLx3zGhMibdSlx cannot be found"
}

internal_error

{   
    "code":"internal_error",
    "message":"An internal error was encountered. Please try again later."
}

issuer_declined

{   
    "code":"issuer_declined",
    "message":"The card issuer declined this transaction. Please refer to the original response code.",
    "provider_original_response_code": "01"
}

Error codes for 401, 404

Error Codes for HTTP Response code 401 and 404

Http response codeCodeMessage
401unauthorizedAccess denied
404not_foundThe requested endpoint does not exist

Error codes for 400

Error Codes for HTTP Response code 400

CodeMessage (subject to change)
internal_errorAn internal error was encountered. Please try again later.
validation_error{message varies by validation rules}
configuration_errorInvalid request against merchant configuration. Please contact your account manager.
provider_unavailableThe payment provider is temporarily unavailable. Please try again later.
issuer_unavailableThe card issuer is temporarily unavailable. Please try again later.
provider_declinedThe payment provider declined this transaction. Please refer to the original response code.
issuer_declinedThe card issuer declined this transaction. Please refer to the original response code.
risk_declinedThe transaction is blocked because of risk concern.
authentication_declinedThe user failed authentication.
quote_expiredThe quote has expired. Please create new quote and try again.
amount_above_limitThe operating amount $amount is above the limit $limit.
amount_below_limitThe operating amount $amount is below the limit $limit.
frequency_above_limitThe frequency limit of $resource is reached for operation $operation.
resource_not_foundThe $resource with ID $id cannot be found.
resource_already_existsThe $resource with ID $id already exists.
duplicate_requestThe request ID $id has been used previously.
invalid_status_for_operationThe $resource status $status is invalid for operation $operation.
operation_not_supportedThe operation $operation is not supported.
currency_not_supportedThe currency $currency is not supported.
card_brand_not_supportedThe card brand $card_brand is not supported.
no_3ds_liability_shiftTransaction declined since Liability shift couldn't not be acheived due to network outage or Issuer unavailibility.