Skip to main content
Take an ALLOW from Attesso and execute it on Airwallex as a PaymentIntent, then report the outcome. This is the Airwallex recipe for the pattern in Bind an authorization to your PSP. Sandbox host: api.sandbox.airwallex.com (live: api.airwallex.com).

Authenticate

Exchange your Client ID and API key for a Bearer token:

Execute the approved action

A return_url on the PaymentIntent is required when the card may trigger 3D Secure; without it the confirm fails (Missing 'return_url' for 3DS verification).

Report the outcome to Attesso

  • status: 'SUCCEEDED': definite acceptance; commit with provider_transaction_reference: confirmed.id.
  • An error at confirm (risk_declined, issuer_declined, and similar): definite non-acceptance; cancel with reason: EXECUTOR_REJECTED.
  • REQUIRES_CUSTOMER_ACTION (3D Secure; the response carries the next_action redirect) or REQUIRES_CAPTURE (pre-authorisation): not final; do not commit or cancel yet.
  • A timeout or lost response: reconcile before deciding (below).

Reconcile a lost response

  • Retry the identical request with the same request_id. Airwallex refuses the duplicate (duplicate_request), which proves the original request was recorded.
  • Find the payment by its merchant_order_id, or retrieve it by its id.
The full decision table is in Reconcile authorization outcomes.

Sandbox testing

Cards such as 4035501000000008 always succeed in the sandbox.