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
- Call Create a Customer API if it is a new customer and save the returned Customer ID.
Example request:
Example response:
- Create a PaymentConsent API with the Customer ID from Step 1, and save Consent ID for subsequent transactions.
Example request
Example response
- 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 Bacs 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
to get the supported banks.
Example request
Example response
Set the verification method to truelayer
using the payment_method.bacs_direct_debit.verification_method
field in Verify a Payment Consent API. 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
Example response
Micro-deposit verification
Airwallex will send the micro-deposit verification email to the shopper to complete the verification process.
Example request
Example response
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
to get the supported banks.
Example request
Example response
Set the verification method to truelayer
using the payment_method_options.bacs_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
Example response
Micro-deposit verification
Example request
Example response
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
- Create a PaymentIntent API with the corresponding Customer ID.
Example request:
Example response:
- Confirm a PaymentIntent API with
payment_consent_reference.id
to request payment with reference to the stored PaymentConsent.
Example request:
Example response:
- 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:
Example response: