Search...
Log inGet started
Airwallex logo
Home
Core API
Payments
Transactional FX
Payouts
Issuing
Back to home
OverviewChoose your payments solutionGet started with payments
Supported currencies
Online payments
Invoice integrations
Payment methods
Payment Methods OverviewGlobal
EU & UK
Bacs Direct Debit - BETA
Bancontact
BLIK
eps
Estonian Banks
iDEAL
Latvian Banks
Lithuanian Banks
Maxima
MyBank
Multibanco
Narvesen
Pay by Bank app (PbBa)
Paysafecard
Paysafecash
Paysera
PayU
Perlas Terminals
Przelewy24 | P24
Satispay
SEPA Direct Debit - BETA
Desktop / Mobile Website BrowserSave bank details for future payments
Micro-deposit verification
Sofort.
Trustly
TWINT - BETA
APAC
NORTH AMERICA & LATAM

Save bank details for future payments

This guide describes how to save shopper's bank details and use it for subsequent payments.

Save bank details for the first time

  1. Call Create a Customer API if it is a new customer and save the returned Customer ID.

Example request:

Shell

Example response:

JSON
  1. Create a PaymentConsent API with the Customer ID from Step 1, and save Consent ID for subsequent transactions.

Example request

Shell

Example response

JSON
  1. Verify a PaymentConsent through a transaction authorization or verification. You have two options to get the PaymentConsent verified.

Option 1: Save bank account details without a payment

The shopper only attaches the bank account details for future payments. Airwallex offers two verification methods for SEPA Direct Debit: TrueLayer and micro-deposit verification.

TrueLayer verification

TrueLayer is an open banking solution that helps you verify bank accounts instantly and securely.

TrueLayer requires bank_name when confirming the PaymentIntent. You can call Get available bank names API with payment_method_type and country_code to get the supported banks.

Example request

Shell

Set the verification method to truelayer using thepayment_method_options.sepa_direct_debit.verification_method field. You can also provide owner_name and owner_email in the request so that the shopper will see these fields pre-filled on the confirmation page.

Example request

Shell

Example response

JSON

Micro-deposit verification

Airwallex will send the micro-deposit verification email to the shopper to complete the verification process.

Example request

Shell

Example response

JSON

Option 2: Save bank account details during payment

The shopper pays for the first order and attaches the bank account details for future payments. You can Create a PaymentIntent API and Confirm a PaymentIntent API with payment_consent_reference from Step 2. This will return SUCCEEDED status for the first payment if the verification is successfull.

TrueLayer verification

TrueLayer requires bank_name when confirming the PaymentIntent. You can call Get available bank names API with payment_method_type and country_code to get the supported banks.

Example request

Shell

Set the verification method to truelayer using thepayment_method_options.sepa_direct_debit.verification_method field. You can also provide owner_name and owner_email in the request so that the shopper will see these fields pre-filled on the confirmation page.

Example request

Shell

Example response

JSON

Micro-deposit verification

Example request

Shell

Example response

JSON

Successful verification will change the status of PaymentConsent to VERIFIED. If the PaymentConsent is not verified, the status will remain as PENDING_VERIFICATION, and next_action will appear in the response.

Initiate a subsequent transaction using stored bank account details

  1. Create a PaymentIntent API with the corresponding Customer ID.

Example request:

Shell

Example response:

JSON
  1. Confirm a PaymentIntent API with payment_consent_reference.id to request payment with reference to the stored PaymentConsent.

Example request:

Shell

Example response:

JSON
  1. You can also get a list of PaymentConsents API with the corresponding Customer ID to render the list of shopper’s payment methods they previously saved.

Example request:

Shell

Example response:

JSON
On this page