Airwallex logo
Airwallex logoAirwallex logo

Payment Consents

Copy for LLMView as Markdown

PaymentConsent is an API resource to represent the agreement between merchant and Customer of making subsequent payments using the provided PaymentMethod. In general, we can categorize the usages of PaymentConsent into two groups.

  • Merchant can initiate the payment without customer's presence (MIT). For example, membership subscription and utilities.
  • Customer can initiate the payment without having to input payment method information again (CIT). For example, fast checkout with saved method.

To make payments, you can confirm a PaymentIntent with the reference of PaymentConsent, which must be in the status of VERIFIED, REQUIRES_PAYMENT_METHOD or REQUIRES_CUSTOMER_ACTION. The latter two are only allowed for card and direct debit payment methods as they can be verified directly by the success of the initial payment.

Endpoints
POST /api/v1/pa/payment_consents/create
POST /api/v1/pa/payment_consents/{id}/update
POST /api/v1/pa/payment_consents/{id}/verify
POST /api/v1/pa/payment_consents/{id}/verify_continue
POST /api/v1/pa/payment_consents/{id}/disable
GET /api/v1/pa/payment_consents/{id}
GET /api/v1/pa/payment_consents

Create a PaymentConsent

POST /api/v1/pa/payment_consents/create

Create a PaymentConsent.

Request body
connected_account_idstring

Airwallex assigned account identifier of the connected entity(another account which is linked with platform). It is to be used by the platform to indicate the connected entity in the transaction where platform is the owner of transaction. Notice: This can not be used with x-on-behalf-of header together.

customer_idrequiredstring

Unique identifier from Airwallex of the customer who will make the payment with this PaymentConsent

merchant_trigger_reasonstring

Indicate whether the subsequent payments are scheduled. Only applicable when next_triggered_by is merchant. One of scheduled, unscheduled, installments.

Default: unscheduled

metadataobject

A set of key-value pairs that can be attached to this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

next_triggered_byrequiredstring

The party to trigger subsequent payments. One of merchant, customer.

request_idrequiredstring

Unique request identifier specified by the merchant. Maximum length is 64.

terms_of_useobject

Terms to specify how this Payment Consent will be used.

terms_of_use.billing_cycle_charge_dayinteger

The granularity per billing cycle. Required when payment_schedule.period_unit is WEEK, MONTH, or YEAR. (e.g. charge_day_per_billing_cycle= 5, payment_schedule.period_unit = MONTH, payment_schedule.period = 1 if collect payment on the 5th of each month).

terms_of_use.end_datestring

End date to expect payment request.

terms_of_use.first_payment_amountnumber

The first payment. It could include the costs associated with the first debited amount.Optional if payment agreement type is VARIABLE.

terms_of_use.fixed_payment_amountnumber

The fixed payment amount that can be charged for a single payment.Required if payment agreement type is FIXED.

terms_of_use.max_payment_amountnumber

The maximum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.min_payment_amountnumber

The minimum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.payment_amount_typerequiredstring

The agreed type of amounts for subsequent payment. Should be one of FIXED, VARIABLE.

  • FIXED: payment amount is fixed. A specific amount is required.
  • VARIABLE: payment amount is variable at each collection. A max limit is recommended.
terms_of_use.payment_currencystring

The currency of this payment. Please refer to supported currencies .

terms_of_use.payment_scheduleobject
terms_of_use.payment_schedule.periodinteger

The number of period units between billing cycles. For example, the payment cycle is one month if period=1 and period_unit=MONTH. Required when merchant_trigger_reason = scheduled

terms_of_use.payment_schedule.period_unitstring

Specifies billing frequency. One of DAY, WEEK, MONTH, and YEAR. Required when merchant_trigger_reason = scheduled

terms_of_use.start_datestring

Start date to expect payment request.

terms_of_use.total_billing_cyclesinteger

The total number of billing cycles. For example, the mandate will last for 1 year if total_billing_cycles=12, payment_schedule.period=1 and payment_schedule.period_unit=MONTH if the merchant_trigger_reason is scheduled. Merchant can bill customers 12 times when total_billing_cycles=12 if the merchant_trigger_reason is unscheduledThe mandate will continue indefinitely if total_billing_cycles is null.

Response body - 201 Created
client_secretstring

PaymentConsent's client secret for browser or app. Only returned by PaymentConsent create API.

The provided client_secret is valid for 60 minutes

connected_account_idstring

Account identifier of the connected account.

created_atstring

Time at which this PaymentConsent was created

customer_idstring

Unique identifier from Airwallex of the customer who will make the payment with this PaymentConsent

disable_reasonstring

Disable reason. Only applicable when status is DISABLED

failure_reasonobject

Verification failure reason. Only applicable when status is REQUIRES_PAYMENT_METHOD and REQUIRES_CUSTOMER_ACTION.

failure_reason.codestring

The failure code returned by Airwallex

failure_reason.detailsobject

The verification failure details.

failure_reason.messagestring

Consent verification failed. Please retry the consent verification or select a different payment method.

idstring

Unique identifier of this PaymentConsent

initial_payment_intent_idstring

Unique identifier of the initial PaymentIntent confirmed with this PaymentConsent

mandateobject

An authorization from shopper to merchant to debit payments from their bank account.

mandate.accepted_atstring

The time at which shopper accepts the mandate.

mandate.bacs_direct_debitobject

BACS Direct Debit mandate information.

mandate.bacs_direct_debit.ddi_referencestring

Reference of the Direct Debit instrument.

mandate.bacs_direct_debit.service_user_numberstring

A unique six-digit number used to identify a business paying or receiving money through a Bacs Direct Debit transaction.

mandate.sepa_direct_debitobject

SEPA Direct Debit mandate information.

mandate.sepa_direct_debit.creditor_identifierstring

A unique number used to identify a business paying or receiving money through a SEPA Direct Debit transaction.

mandate.sepa_direct_debit.referencestring

Reference of the Direct Debit mandate.

mandate.typestring

The payment method type of the mandate. Can be ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

mandate.versionstring

The version of the mandate.

merchant_trigger_reasonstring

Only applicable when next_triggered_by is merchant. One of scheduled, unscheduled, installments.

metadataobject

A set of key-value pairs that can be attached to this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

next_actionobject

Next action for merchant

next_action.content_typestring

The content type of the request when method is POST. If not provided, the content type should be application/json

next_action.dataobject

The additional data that can be used to complete this action

next_action.emailstring

Email address to send the MicroDeposit verification link. Appears if type is notify_micro_deposits

next_action.fallback_urlstring

Fallback url to redirect the shopper to the web page if the redirection to the app fails. Returned only if the flow is mobile_app.

next_action.methodstring

The redirect method if the action type is redirect. One of GET, POST

next_action.micro_deposit_countinteger

Number of funds that will be deposited into shopper account. Appears if type is notify_micro_deposits

next_action.package_namestring

Android package name. Returned only if the flow is mobile_app and the os_type is android.

next_action.qrcodestring

QR Code text representation if the action type is redirect, only applicable to wechatpay.

next_action.remaining_attemptsinteger

the remaining attempts to verify micro_deposit or retry micro_debit.

next_action.stagestring

Stage of the request flow

next_action.typestring

Type of next action can be either redirect, redirect_iframe, notify_micro_deposits or retry_micro_debit

next_action.urlstring

The redirect url

next_triggered_bystring

The party to trigger subsequent payments. One of merchant, customer

payment_methodobject

PaymentMethod information attached for subsequent payments

payment_method.ach_direct_debitobject

ACH Direct Debit information. Only provided when type is ach_direct_debit.

payment_method.ach_direct_debit.aba_routing_numberstring

9-digit number to identify a bank in the US.

payment_method.ach_direct_debit.account_numberstring

4-17 digits number to identify a bank account in the US.

payment_method.ach_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.ach_direct_debit.micro_debitobject

The result of micro debit.

payment_method.ach_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.ach_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.ach_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.ach_direct_debit.owner_emailstring

Email of the account holder.

payment_method.ach_direct_debit.owner_namestring

Name of the account holder.

payment_method.alipaycnobject

Alipay CN information. Only provided when type is alipaycn.

payment_method.alipaycn.flowstring

One of qrcode, mobile_web, mobile_app, mini_program

payment_method.alipaycn.os_typestring

ios, android

payment_method.alipaycn.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipaycn.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.alipayhkobject

Alipay HK information. Only provided when type is alipayhk.

payment_method.alipayhk.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.alipayhk.os_typestring

ios, android

payment_method.alipayhk.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipayhk.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.applepayobject

Apple pay information. Only provided when type is applepay.

payment_method.applepay.billingobject

Billing information

payment_method.applepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.applepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.applepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.applepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.applepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.applepay.billing.emailstring

Email address of the customer

payment_method.applepay.billing.first_namestring

First name of the customer

payment_method.applepay.billing.last_namestring

Last name of the customer

payment_method.applepay.billing.phone_numberstring

Phone number of the customer

payment_method.applepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.applepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.applepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.applepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.applepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.applepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.applepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.applepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.applepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.applepay.tokenized_card.binstring

Bank identify number of this card

payment_method.applepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.applepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.applepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.applepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.applepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.applepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.applepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.applepay.tokenized_card.issuer_namestring

Issuer name

payment_method.applepay.tokenized_card.last4string

Last four digits of the card number

payment_method.applepay.tokenized_card.namestring

Cardholder name

payment_method.applepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.bacs_direct_debitobject

BACS Direct Debit information. Only provided when type is bacs_direct_debit.

payment_method.bacs_direct_debit.account_numberstring

8 digits number to identify a bank account in the UK.

payment_method.bacs_direct_debit.addressobject

Account holder's address.

payment_method.bacs_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes. One of GB, US. Default to GB if not provided

payment_method.bacs_direct_debit.address.line1string

House number and street name, e.g., 777 Casino Drive

payment_method.bacs_direct_debit.address.line2string

Locality name, e.g., Apartment 123

payment_method.bacs_direct_debit.address.postcodestring

Postcode of the address.

payment_method.bacs_direct_debit.address.statestring

State or province of the address. Should be provided if country code is US. Use the two-character ISO3166-2:US state code.

payment_method.bacs_direct_debit.address.townstring

Post town.

payment_method.bacs_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.bacs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.bacs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.bacs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.bacs_direct_debit.owner_emailstring

Email of the account holder.

payment_method.bacs_direct_debit.owner_namestring

Name of the account holder.

payment_method.bacs_direct_debit.sort_codestring

6-digit number to identify a bank in the UK.

payment_method.becs_direct_debitobject

BECS Direct Debit information. Only provided when type is becs_direct_debit.

payment_method.becs_direct_debit.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.becs_direct_debit.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.becs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.becs_direct_debit.micro_debitobject

The result of micro debit.

payment_method.becs_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.becs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.becs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.becs_direct_debit.owner_emailstring

Account holder's email.

payment_method.becs_direct_debit.owner_namestring

Account holder name.

payment_method.cardobject

Card information. Only provided when type is card.

payment_method.card.additional_infoobject

Additional information of external network token requestor. Would return when number_type is EXTERNAL_NETWORK_TOKEN

payment_method.card.additional_info.merchant_verification_valuestring

Merchant Verification Value (Provided by VISA during onboarding) or MasterCard Assigned ID (Provided by MasterCard during onboarding)

payment_method.card.additional_info.token_requestor_idstring

Token requestor unique identifier (Provided by card schemes during onboarding)

payment_method.card.billingobject

Billing information

payment_method.card.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.card.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.card.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.card.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.card.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.card.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.card.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.card.billing.emailstring

Email address of the customer

payment_method.card.billing.first_namestring

First name of the customer

payment_method.card.billing.last_namestring

Last name of the customer

payment_method.card.billing.phone_numberstring

Phone number of the customer

payment_method.card.binstring

Bank identify number of this card

payment_method.card.brandstring

Brand of the card. One of mastercard, visa, union pay, american express, jcb, discover, diners club international.

payment_method.card.card_typestring

Funding type of the card

payment_method.card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.card.fingerprintstring

Fingerprint of the card

payment_method.card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.card.issuer_country_codestring

Country code of the card issuer

payment_method.card.issuer_namestring

Issuer name

payment_method.card.korean_cardobject

Information for Korean Card

payment_method.card.korean_card.business_numberstring

A 10-digit business number of the company.

payment_method.card.korean_card.date_of_birthstring

A 6-digit date of birth in the format of YYMMDD.

payment_method.card.korean_card.password_first2string

Card password first 2 digits.

payment_method.card.last4string

Last four digits of the card number

payment_method.card.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.card.namestring

Card holder name

payment_method.card.number_typestring

Type of the number. One of PAN, EXTERNAL_NETWORK_TOKEN, AIRWALLEX_NETWORK_TOKEN.

payment_method.danaobject

DANA information. Only provided when type is dana.

payment_method.dana.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.dana.os_typestring

ios, android

payment_method.dana.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.dana.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.eft_direct_debitobject

EFT Direct Debit information. Only provided when type is eft_direct_debit.

payment_method.eft_direct_debit.account_numberstring

4-17 digits number to identify a bank account in Canada.

payment_method.eft_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.eft_direct_debit.institution_numberstring

3-digit number to identify a bank institution in Canada.

payment_method.eft_direct_debit.micro_debitobject

The result of micro debit.

payment_method.eft_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.eft_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.eft_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.eft_direct_debit.owner_emailstring

Email of the account holder.

payment_method.eft_direct_debit.owner_namestring

Name of the account holder.

payment_method.eft_direct_debit.transit_numberstring

Identify a bank branch transit in Canada.

payment_method.gcashobject

GCASH information. Only provided when type is gcash.

payment_method.gcash.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.gcash.os_typestring

ios, android

payment_method.gcash.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.gcash.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.googlepayobject

Google pay information. Only provided when type is googlepay.

payment_method.googlepay.billingobject

Billing information

payment_method.googlepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.googlepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.googlepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.googlepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.googlepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.googlepay.billing.emailstring

Email address of the customer

payment_method.googlepay.billing.first_namestring

First name of the customer

payment_method.googlepay.billing.last_namestring

Last name of the customer

payment_method.googlepay.billing.phone_numberstring

Phone number of the customer

payment_method.googlepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.googlepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.googlepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.googlepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.googlepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.googlepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.googlepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.googlepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.googlepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.googlepay.tokenized_card.binstring

Bank identify number of this card

payment_method.googlepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.googlepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.googlepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.googlepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.googlepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.googlepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.googlepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.googlepay.tokenized_card.issuer_namestring

Issuer name

payment_method.googlepay.tokenized_card.last4string

Last four digits of the card number

payment_method.googlepay.tokenized_card.namestring

Cardholder name

payment_method.googlepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.idstring

Unique identifier of the PaymentMethod attached for subsequent payments. Only provided when type is card.

payment_method.kakaopayobject

KAKAOPAY information. Only provided when type is kakaopay.

payment_method.kakaopay.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.kakaopay.os_typestring

ios, android

payment_method.kakaopay.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.kakaopay.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.paytoobject

Payto information. Only provided when type is payto.

payment_method.payto.bsbobject
payment_method.payto.bsb.account_namestring

The account name.

payment_method.payto.bsb.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.payto.bsb.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.payto.pay_idobject

The PayID of the recipient.

payment_method.payto.pay_id.australian_business_numberstring

11 digits number to identify the PayId. Required when phone_number, owner_email, and organisation_id is null.

payment_method.payto.pay_id.organisation_idstring

The organisation id of the recipient. The PayID must be in the format of payid:airwallex.com.

payment_method.payto.pay_id.owner_emailstring

owner email to identify the PayId. Required when phone_number, australian_business_number, and organisation_id is null.

payment_method.payto.pay_id.phone_numberstring

The phone number of the PayId. Required when owner_email, australian_business_number, and organisation_id is null.

payment_method.sepa_direct_debitobject

SEPA Direct Debit information. Only provided when type is sepa_direct_debit.

payment_method.sepa_direct_debit.addressobject

Account holder's address.

payment_method.sepa_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes.

payment_method.sepa_direct_debit.address.postcodestring

Postcode of the address.

payment_method.sepa_direct_debit.address.streetstring

street of the address.

payment_method.sepa_direct_debit.address.townstring

town of the address.

payment_method.sepa_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.sepa_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.sepa_direct_debit.country_codestring

The 2-letter ISO country/region code from which the consumer will be paying.

payment_method.sepa_direct_debit.ibanstring

15–34 characters to identify a bank account.

payment_method.sepa_direct_debit.micro_debitobject

The result of micro debit.

payment_method.sepa_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.sepa_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.sepa_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.sepa_direct_debit.owner_emailstring

Email of the account holder.

payment_method.sepa_direct_debit.owner_namestring

Name of the account holder.

payment_method.typestring

Type of the PaymentMethod. One of card, googlepay, applepay, alipayhk, truemoney, gcash, dana, kakaopay, tng, alipaycn, rabbit_line_pay, wechatpay, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

request_idstring

Unique request identifier specified by the merchant

statusstring
  • REQUIRES_PAYMENT_METHOD: Populate payment_method when calling verify.
    • This value is returned if payment_method is either null, or the payment_method has failed during verify, and a different payment_method should be provided.
  • REQUIRES_CUSTOMER_ACTION: Pending customer action, see next_action for details.
  • PENDING: The mandate of the PaymentConsent has been submitted. It only occurs when payment method type is bacs_direct_debit. You need to wait for the final result. The status will become DISABLED if the mandate is rejected or VERIFIED if the mandate is accepted.
  • PAUSED: The active mandate of the PaymentConsent has been paused. The PaymentConsent can be paused only when the previous status was VERIFIED. It only occurs when payment method type is payto. The status will become DISABLED if the mandate is canceled or VERIFIED if the mandate is resumed.
  • VERIFIED: The PaymentConsent has been verified and it can be used for subsequent payments.
  • DISABLED: The PaymentConsent is disabled. You cannot verify it again.
terms_of_useobject

The terms of this consent.

terms_of_use.billing_cycle_charge_dayinteger

The granularity per billing cycle. Required when payment_schedule.period_unit is WEEK, MONTH, or YEAR. (e.g. charge_day_per_billing_cycle= 5, payment_schedule.period_unit = MONTH, payment_schedule.period = 1 if collect payment on the 5th of each month).

terms_of_use.end_datestring

End date to expect payment request.

terms_of_use.first_payment_amountnumber

The first payment. It could include the costs associated with the first debited amount.Optional if payment agreement type is VARIABLE.

terms_of_use.fixed_payment_amountnumber

The fixed payment amount that can be charged for a single payment.Required if payment agreement type is FIXED.

terms_of_use.max_payment_amountnumber

The maximum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.min_payment_amountnumber

The minimum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.payment_amount_typestring

The agreed type of amounts for subsequent payment. Should be one of FIXED, VARIABLE.

  • FIXED: payment amount is fixed. A specific amount is required.
  • VARIABLE: payment amount is variable at each collection. A max limit is recommended.
terms_of_use.payment_currencystring

The currency of this payment. Please refer to supported currencies .

terms_of_use.payment_scheduleobject
terms_of_use.payment_schedule.periodinteger

The number of period units between billing cycles. For example, the payment cycle is one month if period=1 and period_unit=MONTH. Required when merchant_trigger_reason = scheduled

terms_of_use.payment_schedule.period_unitstring

Specifies billing frequency. One of DAY, WEEK, MONTH, and YEAR. Required when merchant_trigger_reason = scheduled

terms_of_use.start_datestring

Start date to expect payment request.

terms_of_use.total_billing_cyclesinteger

The total number of billing cycles. For example, the mandate will last for 1 year if total_billing_cycles=12, payment_schedule.period=1 and payment_schedule.period_unit=MONTH if the merchant_trigger_reason is scheduled. Merchant can bill customers 12 times when total_billing_cycles=12 if the merchant_trigger_reason is unscheduledThe mandate will continue indefinitely if total_billing_cycles is null.

updated_atstring

Time at which this PaymentConsent was last updated

Errors
Error statusDescription
400

Bad Request. Possible error codes: validation_error, duplicate_request, suspended_from_online_payments, resource_not_found(invalid customer_id)

401

Unauthorized. Possible error codes: unauthorized

403

Forbidden

404

Not Found. Possible error codes: not_found(invalid url)

500

Server Error. Possible error codes: internal_error

POST /api/v1/pa/payment_consents/create
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/pa/payment_consents/create' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "customer_id": "cus_hkpdsjz4vg1x3uscdj",
> "metadata": {
> "subscriptionNumber": "2025040700000001"
> },
> "next_triggered_by": "merchant",
> "merchant_trigger_reason": "scheduled",
> "request_id": "0a0753bb-ec35-4a29-34bf-1fa712bc162d"
>}'
Response (201 Created)
1{
2 "id": "cst_hkpdsjz1vg0x1uscdj",
3 "request_id": "0a0753bb-ec35-4a29-34bf-1fa712bc162d",
4 "customer_id": "cus_hkpdsjz4vg1x3uscdj",
5 "status": "REQUIRES_PAYMENT_METHOD",
6 "next_triggered_by": "merchant",
7 "merchant_trigger_reason": "scheduled",
8 "metadata": {
9 "subscriptionNumber": "2025040700000001"
10 },
11 "client_secret": "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MzgzMDY2MzAsImV4cCI6MTczODMxMDIzMCwidHlwZSI6ImNsaWVudC1zZWNyZXQiLCJwYWRjIjoiSEsiLCJhY2NvdW50X2lkIjoiN2EwYzQ3YzctNzM0Zi00NzdmLTk1OWItMzIxNTQyNzgxYTgyIiwiY29uc2VudF9pZCI6ImNzdF9oa3Bkc2p6MXZnMHgxdXNjZGoiLCJjdXN0b21lcl9pZCI6ImN1c19oa3Bkc2p6NHZnMXgzdXNjZGoifQ.c8zs0QlpUy_NwWy_JsHqHSiRpbtpGnIVWNsVHsSvJQ0",
12 "created_at": "2021-08-31T06:57:15+00:00",
13 "updated_at": "2021-08-31T06:57:15+00:00"
14}
Was this section helpful?

Update a PaymentConsent

POST /api/v1/pa/payment_consents/{id}/update

Update the metadata of a PaymentConsent.

Parameters
idrequiredstring

PaymentConsent unique identifier

Request body
metadataobject

A set of key-value pairs that will be updated for this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

request_idrequiredstring

Unique request identifier specified by the merchant. Maximum length is 64.

Response body - 200 OK
client_secretstring

PaymentConsent's client secret for browser or app. Only returned by PaymentConsent create API.

The provided client_secret is valid for 60 minutes

connected_account_idstring

Account identifier of the connected account.

created_atstring

Time at which this PaymentConsent was created

customer_idstring

Unique identifier from Airwallex of the customer who will make the payment with this PaymentConsent

disable_reasonstring

Disable reason. Only applicable when status is DISABLED

failure_reasonobject

Verification failure reason. Only applicable when status is REQUIRES_PAYMENT_METHOD and REQUIRES_CUSTOMER_ACTION.

failure_reason.codestring

The failure code returned by Airwallex

failure_reason.detailsobject

The verification failure details.

failure_reason.messagestring

Consent verification failed. Please retry the consent verification or select a different payment method.

idstring

Unique identifier of this PaymentConsent

initial_payment_intent_idstring

Unique identifier of the initial PaymentIntent confirmed with this PaymentConsent

mandateobject

An authorization from shopper to merchant to debit payments from their bank account.

mandate.accepted_atstring

The time at which shopper accepts the mandate.

mandate.bacs_direct_debitobject

BACS Direct Debit mandate information.

mandate.bacs_direct_debit.ddi_referencestring

Reference of the Direct Debit instrument.

mandate.bacs_direct_debit.service_user_numberstring

A unique six-digit number used to identify a business paying or receiving money through a Bacs Direct Debit transaction.

mandate.sepa_direct_debitobject

SEPA Direct Debit mandate information.

mandate.sepa_direct_debit.creditor_identifierstring

A unique number used to identify a business paying or receiving money through a SEPA Direct Debit transaction.

mandate.sepa_direct_debit.referencestring

Reference of the Direct Debit mandate.

mandate.typestring

The payment method type of the mandate. Can be ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

mandate.versionstring

The version of the mandate.

merchant_trigger_reasonstring

Only applicable when next_triggered_by is merchant. One of scheduled, unscheduled, installments.

metadataobject

A set of key-value pairs that can be attached to this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

next_actionobject

Next action for merchant

next_action.content_typestring

The content type of the request when method is POST. If not provided, the content type should be application/json

next_action.dataobject

The additional data that can be used to complete this action

next_action.emailstring

Email address to send the MicroDeposit verification link. Appears if type is notify_micro_deposits

next_action.fallback_urlstring

Fallback url to redirect the shopper to the web page if the redirection to the app fails. Returned only if the flow is mobile_app.

next_action.methodstring

The redirect method if the action type is redirect. One of GET, POST

next_action.micro_deposit_countinteger

Number of funds that will be deposited into shopper account. Appears if type is notify_micro_deposits

next_action.package_namestring

Android package name. Returned only if the flow is mobile_app and the os_type is android.

next_action.qrcodestring

QR Code text representation if the action type is redirect, only applicable to wechatpay.

next_action.remaining_attemptsinteger

the remaining attempts to verify micro_deposit or retry micro_debit.

next_action.stagestring

Stage of the request flow

next_action.typestring

Type of next action can be either redirect, redirect_iframe, notify_micro_deposits or retry_micro_debit

next_action.urlstring

The redirect url

next_triggered_bystring

The party to trigger subsequent payments. One of merchant, customer

payment_methodobject

PaymentMethod information attached for subsequent payments

payment_method.ach_direct_debitobject

ACH Direct Debit information. Only provided when type is ach_direct_debit.

payment_method.ach_direct_debit.aba_routing_numberstring

9-digit number to identify a bank in the US.

payment_method.ach_direct_debit.account_numberstring

4-17 digits number to identify a bank account in the US.

payment_method.ach_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.ach_direct_debit.micro_debitobject

The result of micro debit.

payment_method.ach_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.ach_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.ach_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.ach_direct_debit.owner_emailstring

Email of the account holder.

payment_method.ach_direct_debit.owner_namestring

Name of the account holder.

payment_method.alipaycnobject

Alipay CN information. Only provided when type is alipaycn.

payment_method.alipaycn.flowstring

One of qrcode, mobile_web, mobile_app, mini_program

payment_method.alipaycn.os_typestring

ios, android

payment_method.alipaycn.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipaycn.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.alipayhkobject

Alipay HK information. Only provided when type is alipayhk.

payment_method.alipayhk.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.alipayhk.os_typestring

ios, android

payment_method.alipayhk.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipayhk.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.applepayobject

Apple pay information. Only provided when type is applepay.

payment_method.applepay.billingobject

Billing information

payment_method.applepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.applepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.applepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.applepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.applepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.applepay.billing.emailstring

Email address of the customer

payment_method.applepay.billing.first_namestring

First name of the customer

payment_method.applepay.billing.last_namestring

Last name of the customer

payment_method.applepay.billing.phone_numberstring

Phone number of the customer

payment_method.applepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.applepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.applepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.applepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.applepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.applepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.applepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.applepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.applepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.applepay.tokenized_card.binstring

Bank identify number of this card

payment_method.applepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.applepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.applepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.applepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.applepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.applepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.applepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.applepay.tokenized_card.issuer_namestring

Issuer name

payment_method.applepay.tokenized_card.last4string

Last four digits of the card number

payment_method.applepay.tokenized_card.namestring

Cardholder name

payment_method.applepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.bacs_direct_debitobject

BACS Direct Debit information. Only provided when type is bacs_direct_debit.

payment_method.bacs_direct_debit.account_numberstring

8 digits number to identify a bank account in the UK.

payment_method.bacs_direct_debit.addressobject

Account holder's address.

payment_method.bacs_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes. One of GB, US. Default to GB if not provided

payment_method.bacs_direct_debit.address.line1string

House number and street name, e.g., 777 Casino Drive

payment_method.bacs_direct_debit.address.line2string

Locality name, e.g., Apartment 123

payment_method.bacs_direct_debit.address.postcodestring

Postcode of the address.

payment_method.bacs_direct_debit.address.statestring

State or province of the address. Should be provided if country code is US. Use the two-character ISO3166-2:US state code.

payment_method.bacs_direct_debit.address.townstring

Post town.

payment_method.bacs_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.bacs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.bacs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.bacs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.bacs_direct_debit.owner_emailstring

Email of the account holder.

payment_method.bacs_direct_debit.owner_namestring

Name of the account holder.

payment_method.bacs_direct_debit.sort_codestring

6-digit number to identify a bank in the UK.

payment_method.becs_direct_debitobject

BECS Direct Debit information. Only provided when type is becs_direct_debit.

payment_method.becs_direct_debit.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.becs_direct_debit.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.becs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.becs_direct_debit.micro_debitobject

The result of micro debit.

payment_method.becs_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.becs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.becs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.becs_direct_debit.owner_emailstring

Account holder's email.

payment_method.becs_direct_debit.owner_namestring

Account holder name.

payment_method.cardobject

Card information. Only provided when type is card.

payment_method.card.additional_infoobject

Additional information of external network token requestor. Would return when number_type is EXTERNAL_NETWORK_TOKEN

payment_method.card.additional_info.merchant_verification_valuestring

Merchant Verification Value (Provided by VISA during onboarding) or MasterCard Assigned ID (Provided by MasterCard during onboarding)

payment_method.card.additional_info.token_requestor_idstring

Token requestor unique identifier (Provided by card schemes during onboarding)

payment_method.card.billingobject

Billing information

payment_method.card.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.card.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.card.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.card.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.card.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.card.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.card.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.card.billing.emailstring

Email address of the customer

payment_method.card.billing.first_namestring

First name of the customer

payment_method.card.billing.last_namestring

Last name of the customer

payment_method.card.billing.phone_numberstring

Phone number of the customer

payment_method.card.binstring

Bank identify number of this card

payment_method.card.brandstring

Brand of the card. One of mastercard, visa, union pay, american express, jcb, discover, diners club international.

payment_method.card.card_typestring

Funding type of the card

payment_method.card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.card.fingerprintstring

Fingerprint of the card

payment_method.card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.card.issuer_country_codestring

Country code of the card issuer

payment_method.card.issuer_namestring

Issuer name

payment_method.card.korean_cardobject

Information for Korean Card

payment_method.card.korean_card.business_numberstring

A 10-digit business number of the company.

payment_method.card.korean_card.date_of_birthstring

A 6-digit date of birth in the format of YYMMDD.

payment_method.card.korean_card.password_first2string

Card password first 2 digits.

payment_method.card.last4string

Last four digits of the card number

payment_method.card.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.card.namestring

Card holder name

payment_method.card.number_typestring

Type of the number. One of PAN, EXTERNAL_NETWORK_TOKEN, AIRWALLEX_NETWORK_TOKEN.

payment_method.danaobject

DANA information. Only provided when type is dana.

payment_method.dana.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.dana.os_typestring

ios, android

payment_method.dana.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.dana.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.eft_direct_debitobject

EFT Direct Debit information. Only provided when type is eft_direct_debit.

payment_method.eft_direct_debit.account_numberstring

4-17 digits number to identify a bank account in Canada.

payment_method.eft_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.eft_direct_debit.institution_numberstring

3-digit number to identify a bank institution in Canada.

payment_method.eft_direct_debit.micro_debitobject

The result of micro debit.

payment_method.eft_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.eft_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.eft_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.eft_direct_debit.owner_emailstring

Email of the account holder.

payment_method.eft_direct_debit.owner_namestring

Name of the account holder.

payment_method.eft_direct_debit.transit_numberstring

Identify a bank branch transit in Canada.

payment_method.gcashobject

GCASH information. Only provided when type is gcash.

payment_method.gcash.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.gcash.os_typestring

ios, android

payment_method.gcash.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.gcash.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.googlepayobject

Google pay information. Only provided when type is googlepay.

payment_method.googlepay.billingobject

Billing information

payment_method.googlepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.googlepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.googlepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.googlepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.googlepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.googlepay.billing.emailstring

Email address of the customer

payment_method.googlepay.billing.first_namestring

First name of the customer

payment_method.googlepay.billing.last_namestring

Last name of the customer

payment_method.googlepay.billing.phone_numberstring

Phone number of the customer

payment_method.googlepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.googlepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.googlepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.googlepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.googlepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.googlepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.googlepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.googlepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.googlepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.googlepay.tokenized_card.binstring

Bank identify number of this card

payment_method.googlepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.googlepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.googlepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.googlepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.googlepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.googlepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.googlepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.googlepay.tokenized_card.issuer_namestring

Issuer name

payment_method.googlepay.tokenized_card.last4string

Last four digits of the card number

payment_method.googlepay.tokenized_card.namestring

Cardholder name

payment_method.googlepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.idstring

Unique identifier of the PaymentMethod attached for subsequent payments. Only provided when type is card.

payment_method.kakaopayobject

KAKAOPAY information. Only provided when type is kakaopay.

payment_method.kakaopay.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.kakaopay.os_typestring

ios, android

payment_method.kakaopay.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.kakaopay.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.paytoobject

Payto information. Only provided when type is payto.

payment_method.payto.bsbobject
payment_method.payto.bsb.account_namestring

The account name.

payment_method.payto.bsb.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.payto.bsb.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.payto.pay_idobject

The PayID of the recipient.

payment_method.payto.pay_id.australian_business_numberstring

11 digits number to identify the PayId. Required when phone_number, owner_email, and organisation_id is null.

payment_method.payto.pay_id.organisation_idstring

The organisation id of the recipient. The PayID must be in the format of payid:airwallex.com.

payment_method.payto.pay_id.owner_emailstring

owner email to identify the PayId. Required when phone_number, australian_business_number, and organisation_id is null.

payment_method.payto.pay_id.phone_numberstring

The phone number of the PayId. Required when owner_email, australian_business_number, and organisation_id is null.

payment_method.sepa_direct_debitobject

SEPA Direct Debit information. Only provided when type is sepa_direct_debit.

payment_method.sepa_direct_debit.addressobject

Account holder's address.

payment_method.sepa_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes.

payment_method.sepa_direct_debit.address.postcodestring

Postcode of the address.

payment_method.sepa_direct_debit.address.streetstring

street of the address.

payment_method.sepa_direct_debit.address.townstring

town of the address.

payment_method.sepa_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.sepa_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.sepa_direct_debit.country_codestring

The 2-letter ISO country/region code from which the consumer will be paying.

payment_method.sepa_direct_debit.ibanstring

15–34 characters to identify a bank account.

payment_method.sepa_direct_debit.micro_debitobject

The result of micro debit.

payment_method.sepa_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.sepa_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.sepa_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.sepa_direct_debit.owner_emailstring

Email of the account holder.

payment_method.sepa_direct_debit.owner_namestring

Name of the account holder.

payment_method.typestring

Type of the PaymentMethod. One of card, googlepay, applepay, alipayhk, truemoney, gcash, dana, kakaopay, tng, alipaycn, rabbit_line_pay, wechatpay, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

request_idstring

Unique request identifier specified by the merchant

statusstring
  • REQUIRES_PAYMENT_METHOD: Populate payment_method when calling verify.
    • This value is returned if payment_method is either null, or the payment_method has failed during verify, and a different payment_method should be provided.
  • REQUIRES_CUSTOMER_ACTION: Pending customer action, see next_action for details.
  • PENDING: The mandate of the PaymentConsent has been submitted. It only occurs when payment method type is bacs_direct_debit. You need to wait for the final result. The status will become DISABLED if the mandate is rejected or VERIFIED if the mandate is accepted.
  • PAUSED: The active mandate of the PaymentConsent has been paused. The PaymentConsent can be paused only when the previous status was VERIFIED. It only occurs when payment method type is payto. The status will become DISABLED if the mandate is canceled or VERIFIED if the mandate is resumed.
  • VERIFIED: The PaymentConsent has been verified and it can be used for subsequent payments.
  • DISABLED: The PaymentConsent is disabled. You cannot verify it again.
terms_of_useobject

The terms of this consent.

terms_of_use.billing_cycle_charge_dayinteger

The granularity per billing cycle. Required when payment_schedule.period_unit is WEEK, MONTH, or YEAR. (e.g. charge_day_per_billing_cycle= 5, payment_schedule.period_unit = MONTH, payment_schedule.period = 1 if collect payment on the 5th of each month).

terms_of_use.end_datestring

End date to expect payment request.

terms_of_use.first_payment_amountnumber

The first payment. It could include the costs associated with the first debited amount.Optional if payment agreement type is VARIABLE.

terms_of_use.fixed_payment_amountnumber

The fixed payment amount that can be charged for a single payment.Required if payment agreement type is FIXED.

terms_of_use.max_payment_amountnumber

The maximum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.min_payment_amountnumber

The minimum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.payment_amount_typestring

The agreed type of amounts for subsequent payment. Should be one of FIXED, VARIABLE.

  • FIXED: payment amount is fixed. A specific amount is required.
  • VARIABLE: payment amount is variable at each collection. A max limit is recommended.
terms_of_use.payment_currencystring

The currency of this payment. Please refer to supported currencies .

terms_of_use.payment_scheduleobject
terms_of_use.payment_schedule.periodinteger

The number of period units between billing cycles. For example, the payment cycle is one month if period=1 and period_unit=MONTH. Required when merchant_trigger_reason = scheduled

terms_of_use.payment_schedule.period_unitstring

Specifies billing frequency. One of DAY, WEEK, MONTH, and YEAR. Required when merchant_trigger_reason = scheduled

terms_of_use.start_datestring

Start date to expect payment request.

terms_of_use.total_billing_cyclesinteger

The total number of billing cycles. For example, the mandate will last for 1 year if total_billing_cycles=12, payment_schedule.period=1 and payment_schedule.period_unit=MONTH if the merchant_trigger_reason is scheduled. Merchant can bill customers 12 times when total_billing_cycles=12 if the merchant_trigger_reason is unscheduledThe mandate will continue indefinitely if total_billing_cycles is null.

updated_atstring

Time at which this PaymentConsent was last updated

Errors
Error statusDescription
400

Bad Request. Possible error codes: validation_error, duplicate_request, suspended_from_online_payments, invalid_status_for_operation

401

Unauthorized. Possible error codes: unauthorized

403

Forbidden

404

Not Found. Possible error codes: not_found(invalid url), resource_not_found

500

Server Error. Possible error codes: internal_error

POST /api/v1/pa/payment_consents/{id}/update
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/pa/payment_consents/cst_hkpdsjz1vg0x1uscdj/update' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "request_id": "60ee1700-fdc4-48b2-87e4-0cf21cd2de5e",
> "metadata": {
> "foo": "bar"
> }
>}'
Response (200 OK)
1{
2 "id": "cst_hkpdsjz1vg0x1uscdj",
3 "request_id": "60ee1700-fdc4-48b2-87e4-0cf21cd2de5e",
4 "customer_id": "cus_hkpdsjz4vg1x3uscdj",
5 "status": "VERIFIED",
6 "next_triggered_by": "merchant",
7 "merchant_trigger_reason": "scheduled",
8 "initial_payment_intent_id": "int_hkpdskz7vg1xc7uscdj",
9 "payment_method": {
10 "type": "card",
11 "id": "mtd_hkpds1z4zh00i2eb1h"
12 },
13 "metadata": {
14 "amount": "10",
15 "subscriptionNumber": "2025040700000001"
16 },
17 "mandate": {},
18 "created_at": "2021-08-31T06:57:15+00:00",
19 "updated_at": "2021-08-31T07:01:15+00:00"
20}
Was this section helpful?

Verify a PaymentConsent

POST /api/v1/pa/payment_consents/{id}/verify

Verify the PaymentConsent with the payment_method details (or payment_method.id if reusing an existing one) when the customer is ready to store payment credentials into the PaymentConsent for subsequent payments.

Additional customer actions might be required to complete the verification for some payment methods. In that case, next_action will be returned to guide you through the process and the PaymentConsent status will be updated to REQUIRES_CUSTOMER_ACTION.

Once the status becomes VERIFIED, the PaymentConsent is ready for making subsequent payments.

When verifying a PaymentConsent initiated by customer, if an existing VERIFIED PaymentConsent already references the provided card or bank account number, the request will be declined with resource_already_exists to avoid generating multiple identical PaymentConsents.

Parameters
idrequiredstring

PaymentConsent unique identifier

Request body
descriptorstring

Descriptor that may be displayed to the customer during the verification.

device_dataobject

Client device information. It is recommended to provide this data to increase the odds of having frictionless 3DS.

device_data.accept_headerstring

Accept header value

device_data.browserobject

Browser specific data

device_data.browser.java_enabledboolean

Is Java enabled?

device_data.browser.javascript_enabledboolean

Is JavaScript enabled?

device_data.browser.user_agentstring

User Agent header value

device_data.device_idstring

Device unique identifier or Advertisement unique identifier or IMEI

device_data.ip_addressstring

Public IP address, both IPv4 and IPv6 are supported.

device_data.languagestring

Language or locale

device_data.locationobject

Location data

device_data.location.latstring

Latitude

device_data.location.lonstring

Longitude

device_data.mobileobject

Mobile specific data

device_data.mobile.device_modelstring

Device model

device_data.mobile.os_typestring

OS type

device_data.mobile.os_versionstring

OS version

device_data.screen_color_depthinteger

Screen color depth in bits

device_data.screen_heightinteger

Screen height in pixels

device_data.screen_widthinteger

Screen width in pixels

device_data.timezonestring

Timezone offset to UTC in hours, with added minutes if necessary

payment_methodobject

PaymentMethod information that will be used for subsequent payments.

When payment_method.type is set to card, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit, googlepay, applepay, caller must provide either the payment_method.id of an existing PaymentMethod or the full payload of payment method information with which we will generate a new PaymentMethod.

payment_method.ach_direct_debitobject

ACH Direct Debit information.

payment_method.ach_direct_debit.aba_routing_numberstring

9-digit number to identify a bank in the US. Required when verification method is micro_deposit. Should not be set when verification method is plaid

payment_method.ach_direct_debit.account_numberstring

4-17 digits number to identify a bank account in the US. Required when verification method is micro_deposit. Should not be set when verification method is plaid

payment_method.ach_direct_debit.business_accountboolean

Indicate whether the account is a business account. Default to false.

payment_method.ach_direct_debit.mandate_versionstring

The version of mandate language. Custom mandate version if you render your own mandate document to the payer instead of the default version provided by Airwallex.

payment_method.ach_direct_debit.owner_emailstring

Account holder's email. Required when verification method is micro_deposit.

payment_method.ach_direct_debit.owner_namestring

Account holder name. Required when verification method is micro_deposit.

payment_method.ach_direct_debit.verification_methodstring

Verification method. Can be plaid or micro_deposit. Default: micro_deposit

payment_method.alipaycnobject

Alipaycn information. flow can be one of qrcode, mobile_web, mobile_app

payment_method.alipaycn.flowrequiredstring

Refer to the specification above.

payment_method.alipaycn.os_typestring

One of ios, android. os_type must be set when flow is mobile_web, mobile_app.

payment_method.alipayhkobject

Alipayhk information. flow can be one of qrcode, mobile_web, mobile_app

payment_method.alipayhk.flowrequiredstring

Refer to the specification above.

payment_method.alipayhk.os_typestring

One of ios, android. os_type must be set when flow is mobile_web, mobile_app.

payment_method.applepayobject

Apple pay information.

payment_method.applepay.billingobject

Billing information

payment_method.applepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.applepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.country_coderequiredstring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.applepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.applepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.applepay.billing.emailstring

Email address of the customer

payment_method.applepay.billing.first_namestring

First name of the customer. Maximum length is 128.

payment_method.applepay.billing.last_namestring

Last name of the customer. Maximum length is 128.

payment_method.applepay.billing.phone_numberstring

Phone number of the customer

payment_method.applepay.encrypted_payment_tokenstring

Payment data from ApplePayPaymentToken

payment_method.applepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.applepay.tokenized_cardobject

Payment data with the tokenized card details

payment_method.applepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.applepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.applepay.tokenized_card.authentication_method.emv.emv_datarequiredstring

Output from the Secure Element

payment_method.applepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.applepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.applepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramrequiredstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.typerequiredstring

The authentication method type. One of emv or three_ds.

payment_method.applepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.applepay.tokenized_card.expiry_monthrequiredstring

Two digit number representing the card’s expiration month

payment_method.applepay.tokenized_card.expiry_yearrequiredstring

Four digit number representing the card’s expiration year

payment_method.applepay.tokenized_card.namestring

Cardholder name

payment_method.applepay.tokenized_card.numberrequiredstring

Card number

payment_method.bacs_direct_debitobject

BACS Direct Debit information.

payment_method.bacs_direct_debit.account_numberstring

Required when verification method is micro_deposit. Should not be set when verification method is truelayer

payment_method.bacs_direct_debit.addressobject

Account holder's address. Required when verification method is micro_deposit.

payment_method.bacs_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes. One of GB, US. Default to GB if not provided

payment_method.bacs_direct_debit.address.line1requiredstring

House number and street name, e.g., 777 Casino Drive

payment_method.bacs_direct_debit.address.line2string

Locality name, e.g., Apartment 123

payment_method.bacs_direct_debit.address.postcoderequiredstring

Postcode of the address.

payment_method.bacs_direct_debit.address.statestring

State or province of the address. Should be provided if country code is US. Use the two-character ISO3166-2:US state code.

payment_method.bacs_direct_debit.address.townrequiredstring

Post town.

payment_method.bacs_direct_debit.bank_namestring

Bank of the account. Required when verification method is truelayer. Should not be set when verification method is micro_deposit

payment_method.bacs_direct_debit.business_accountboolean

Indicate whether the account is a business account. Default to false.

payment_method.bacs_direct_debit.mandate_versionstring

The version of mandate language. Custom mandate version if you render your own mandate document to the payer instead of the default version provided by Airwallex.

payment_method.bacs_direct_debit.owner_emailstring

Account holder's email. Required when verification method is micro_deposit.

payment_method.bacs_direct_debit.owner_namestring

Account holder name. Required when verification method is micro_deposit.

payment_method.bacs_direct_debit.sort_codestring

6-digit number to identify a bank in the UK. Required when verification method is micro_deposit. Should not be set when verification method is truelayer

payment_method.bacs_direct_debit.verification_methodstring

Verification method. Can be truelayer or micro_deposit. Default: micro_deposit

payment_method.becs_direct_debitobject

BECS Direct Debit information.

payment_method.becs_direct_debit.account_numberrequiredstring

4-9 digits number to identify a bank account in Australia.

payment_method.becs_direct_debit.bsb_numberrequiredstring

6-digit Bank-State-Branch number.

payment_method.becs_direct_debit.business_accountboolean

Indicate whether the account is a business account. Default to false.

payment_method.becs_direct_debit.mandate_versionstring

The version of mandate language. Custom mandate version if you render your own mandate document to the payer instead of the default version provided by Airwallex.

payment_method.becs_direct_debit.owner_emailrequiredstring

Account holder's email.

payment_method.becs_direct_debit.owner_namerequiredstring

Account holder name.

payment_method.cardobject

Card information.

payment_method.card.additional_infoobject

Additional information of external network token requestor. Should be provided when number_type is EXTERNAL_NETWORK_TOKEN

payment_method.card.additional_info.merchant_verification_valuestring

Merchant Verification Value (Provided by VISA during onboarding) or MasterCard Assigned ID (Provided by MasterCard during onboarding)

payment_method.card.additional_info.token_requestor_idstring

Token requestor unique identifier (Provided by card schemes during onboarding)

payment_method.card.billingobject

Billing information

payment_method.card.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.card.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.card.billing.address.country_coderequiredstring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.card.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.card.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.card.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.card.billing.emailstring

Email address of the customer

payment_method.card.billing.first_namestring

First name of the customer. Maximum length is 128.

payment_method.card.billing.last_namestring

Last name of the customer. Maximum length is 128.

payment_method.card.billing.phone_numberstring

Phone number of the customer

payment_method.card.cryptogramstring

The cryptogram value. Must be provided if card.number_type is EXTERNAL_NETWORK_TOKEN. Maximum length is 28.

payment_method.card.cvcstring

CVC of this card. Required except using external network tokenized

payment_method.card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.card.external_three_dsobject

Authentication data from an external 3D-Secure provider (3RI for MIT subsequent transaction)

payment_method.card.external_three_ds.authentication_valuestring

Authentication value, will be used to provide proof of authentication for 3DS v2

payment_method.card.external_three_ds.ds_transaction_idstring

UUID assigned by the Directory Server to identify a single transaction for 3DS v2

payment_method.card.external_three_ds.ecistring

Electronic Commerce Indicator provided by the ACS or DS to indicate the results of the attempt to authenticate the Cardholder

payment_method.card.external_three_ds.three_ds_exemptionstring

Add the SCA exemptions if your 3DS provider decides any exemptions are applicable. One of TRA, LVP, ANONYMOUS

payment_method.card.external_three_ds.three_ds_server_transaction_idstring

UUID assigned by the 3DS server to identify a single transaction for 3DS v2

payment_method.card.external_three_ds.versionstring

3DS version in the format major.minor.patch

payment_method.card.namestring

Card holder name. Maximum length is 128.

payment_method.card.numberstring

Card number

payment_method.card.number_typestring

Type of the number. One of PAN, EXTERNAL_NETWORK_TOKEN. Default: PAN

payment_method.card.three_ds_actionstring

Set it to FORCE_3DS if you want to enforce 3DS with our 3DS provider. Set it to EXTERNAL_3DS if you want to use your own 3DS provider, in this case payment_method_options.card.external_three_ds should be provided in the confirm request. Set it to SKIP_3DS if you want to skip 3DS regardless of the risk score. null by default

payment_method.danaobject

Dana information. flow can be one of qrcode, mobile_web

payment_method.dana.flowrequiredstring

Refer to the specification above.

payment_method.dana.os_typestring

One of ios, android. os_type must be set when flow is mobile_web, mobile_app.

payment_method.eft_direct_debitobject

EFT Direct Debit information.

payment_method.eft_direct_debit.account_numberstring

4-17 digits number to identify a bank account in Canada. Required when verification method is micro_deposit or micro_deposit_and_debit. Should not be set when verification method is plaid

payment_method.eft_direct_debit.business_accountboolean

Indicate whether the account is a business account. Default to false.

payment_method.eft_direct_debit.institution_numberstring

3-digit number to identify a institution in Canada. Required when verification method is micro_deposit or micro_deposit_and_debit.Should not be set when verification method is plaid

payment_method.eft_direct_debit.mandate_versionstring

The version of mandate language. Custom mandate version if you render your own mandate document to the payer instead of the default version provided by Airwallex.

payment_method.eft_direct_debit.owner_emailstring

Account holder's email. Required when verification method is micro_deposit or micro_deposit_and_debit.

payment_method.eft_direct_debit.owner_namestring

Account holder name. Required when verification method is micro_deposit or micro_deposit_and_debit.

payment_method.eft_direct_debit.transit_numberstring

5-digit number to identify a bank in Canada. Required when verification method is micro_deposit or micro_deposit_and_debit. Should not be set when verification method is plaid

payment_method.eft_direct_debit.verification_methodstring

Verification method. Can be micro_deposit or micro_deposit_and_debit. Default: micro_deposit.

payment_method.gcashobject

Gcash information. flow can be one of qrcode, mobile_web, mobile_app

payment_method.gcash.flowrequiredstring

Refer to the specification above.

payment_method.gcash.os_typestring

One of ios, android. os_type must be set when flow is mobile_web, mobile_app.

payment_method.googlepayobject

Google pay information.

payment_method.googlepay.billingobject

Billing information

payment_method.googlepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.googlepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.country_coderequiredstring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.googlepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.googlepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.googlepay.billing.emailstring

Email address of the customer

payment_method.googlepay.billing.first_namestring

First name of the customer. Maximum length is 128.

payment_method.googlepay.billing.last_namestring

Last name of the customer. Maximum length is 128.

payment_method.googlepay.billing.phone_numberstring

Phone number of the customer

payment_method.googlepay.encrypted_payment_tokenstring

A UTF-8 encoded, serialized JSON object with the keys specified.

payment_method.googlepay.external_three_dsobject

Authentication data from an external 3D-Secure provider. Only applicable when Google Pay PAN_ONLY authentication method is used.

payment_method.googlepay.external_three_ds.authentication_valuestring

Authentication value, will be used to provide proof of authentication for 3DS v2

payment_method.googlepay.external_three_ds.ds_transaction_idstring

UUID assigned by the Directory Server to identify a single transaction for 3DS v2

payment_method.googlepay.external_three_ds.ecistring

Electronic Commerce Indicator provided by the ACS or DS to indicate the results of the attempt to authenticate the Cardholder

payment_method.googlepay.external_three_ds.three_ds_exemptionstring

Add the SCA exemptions if your 3DS provider decides any exemptions are applicable. One of TRA, LVP, ANONYMOUS

payment_method.googlepay.external_three_ds.three_ds_server_transaction_idstring

UUID assigned by the 3DS server to identify a single transaction for 3DS v2

payment_method.googlepay.external_three_ds.versionstring

3DS version in the format major.minor.patch

payment_method.googlepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.googlepay.tokenized_cardobject

Payment data with the tokenized card details

payment_method.googlepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.googlepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.googlepay.tokenized_card.authentication_method.emv.emv_datarequiredstring

Output from the Secure Element

payment_method.googlepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.googlepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.googlepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramrequiredstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.typerequiredstring

The authentication method type. One of emv or three_ds.

payment_method.googlepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.googlepay.tokenized_card.expiry_monthrequiredstring

Two digit number representing the card’s expiration month

payment_method.googlepay.tokenized_card.expiry_yearrequiredstring

Four digit number representing the card’s expiration year

payment_method.googlepay.tokenized_card.namestring

Cardholder name

payment_method.googlepay.tokenized_card.numberrequiredstring

Card number

payment_method.idstring

Unique identifier of the PaymentMethod attached for subsequent payments.

payment_method.kakaopayobject

Kakaopay information. flow can be one of qrcode, mobile_web, mobile_app

payment_method.kakaopay.flowrequiredstring

Refer to the specification above.

payment_method.kakaopay.os_typestring

One of ios, android. os_type must be set when flow is mobile_web, mobile_app.

payment_method.paytoobject

Payto information.

payment_method.payto.bsbobject
payment_method.payto.bsb.account_namerequiredstring

The account name.

payment_method.payto.bsb.account_numberrequiredstring

4-9 digits number to identify a bank account in Australia.

payment_method.payto.bsb.bsb_numberrequiredstring

6-digit Bank-State-Branch number.

payment_method.payto.pay_idobject
payment_method.payto.pay_id.australian_business_numberstring

11 digits number to identify the PayId. Required when phone_number, owner_email, and organisation_id is null.

payment_method.payto.pay_id.organisation_idstring

The organisation id of the recipient. The PayID must be in the format of payid:airwallex.com.

payment_method.payto.pay_id.owner_emailstring

owner email to identify the PayId. Required when phone_number, australian_business_number, and organisation_id is null.

payment_method.payto.pay_id.payer_namestring

Payer name of the PayId.

payment_method.payto.pay_id.phone_numberstring

The phone number of the PayId. Required when owner_email, australian_business_number, and organisation_id is null.

payment_method.rabbit_line_payobject

Rabbit LINE Pay information. flow can be one of qrcode, mobile_web, mobile_app

payment_method.rabbit_line_pay.flowrequiredstring

Refer to the specification above.

payment_method.rabbit_line_pay.os_typestring

One of ios, android. os_type must be set when flow is mobile_web, mobile_app.

payment_method.sepa_direct_debitobject

SEPA Direct Debit information.

payment_method.sepa_direct_debit.addressobject

Account holder's address.

payment_method.sepa_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes.

payment_method.sepa_direct_debit.address.postcoderequiredstring

Postcode of the address.

payment_method.sepa_direct_debit.address.streetrequiredstring

street of the address.

payment_method.sepa_direct_debit.address.townrequiredstring

town of the address.

payment_method.sepa_direct_debit.bank_namestring

Bank of the account. Required when verification method is truelayer. You can call API to retrieve the available bank names.

payment_method.sepa_direct_debit.business_accountboolean

Indicate whether the account is a business account. Default to false.

payment_method.sepa_direct_debit.country_codestring

The 2-letter ISO country/region code of the bank account. Required when verification method is truelayer. One of GB, AT, BE, DE, ES, FI, FR, IE, IT, LT, NL, PL, PT, SE.

payment_method.sepa_direct_debit.ibanstring

IBAN of the bank account. Required when verification method is micro_deposit. Should not be set when verification method is truelayer

payment_method.sepa_direct_debit.mandate_versionstring

The version of mandate language. Custom mandate version if you render your own mandate document to the payer instead of the default version provided by Airwallex.

payment_method.sepa_direct_debit.owner_emailstring

Account holder's email. Required when verification method is micro_deposit.

payment_method.sepa_direct_debit.owner_namestring

Account holder name. Required when verification method is micro_deposit.

payment_method.sepa_direct_debit.verification_methodstring

Verification method. Can be truelayer or micro_deposit. Default: micro_deposit

payment_method.tngobject

Tng information. flow can be one of qrcode, mobile_web, mobile_app

payment_method.tng.flowrequiredstring

Refer to the specification above.

payment_method.tng.os_typestring

One of ios, android. os_type must be set when flow is mobile_web, mobile_app.

payment_method.truemoneyobject

Truemoney information. flow can be one of qrcode, mobile_web, mobile_app

payment_method.truemoney.flowrequiredstring

Refer to the specification above.

payment_method.truemoney.os_typestring

One of ios, android. os_type must be set when flow is mobile_web, mobile_app.

payment_method.typerequiredstring

Type of the PaymentMethod. One of card, googlepay, applepay, alipayhk, truemoney, gcash, dana, kakaopay, tng, alipaycn, rabbit_line_pay, wechatpay, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

payment_method.wechatpayobject

Wechat information.

payment_method.wechatpay.channelstring

Payment channel. Use pos for POS transactions.

payment_method.wechatpay.flowrequiredstring

The specific WeChat Pay flow to use. One of qrcode, official_account, mini_program, mobile_app, mobile_web

payment_method.wechatpay.open_idstring

Required when flow is mini_program

request_idrequiredstring

Unique request identifier specified by the merchant. Maximum length is 64.

return_urlstring

The web page URL or application scheme URI to redirect the customer after PaymentConsent verification.

risk_control_optionsobject

Risk Control Options

risk_control_options.skip_risk_processingboolean

Set it to true if you want to skip fraud processing. Please contact your account manager to enable the feature to take effect. Defaults to false.

risk_control_options.tra_applicableboolean

Set it to 'true' if you want to use TRA exemption when create payment intent, only applicable when you skip risk processing

verification_optionsobject

Additional information needed to verify a PaymentConsent

verification_options.applepayobject

Apple pay information for verifying PaymentConsent

verification_options.applepay.amountnumber

The alternative amount of verification if zero amount is not acceptable for the provider. The transaction of this amount should be reverted once the verification process finished. Must be greater than 0. Please refer to supported currencies for supported minor units.

verification_options.applepay.currencyrequiredstring

Currency of the initial PaymentIntent to verify the PaymentConsent. Three-letter ISO 4217 currency code. Must be a supported currency

verification_options.cardobject

Card information for verifying PaymentConsent

verification_options.card.amountnumber

The alternative amount of verification if zero amount is not acceptable for the provider. The transaction of this amount should be reverted once the verification process finished. Must be greater than 0. Please refer to supported currencies for supported minor units.

verification_options.card.currencyrequiredstring

Currency of the initial PaymentIntent to verify the PaymentConsent. Three-letter ISO currency code. Must be a supported currency

verification_options.googlepayobject

Google pay information for verifying PaymentConsent

verification_options.googlepay.amountnumber

The alternative amount of verification if zero amount is not acceptable for the provider. The transaction of this amount should be reverted once the verification process finished. Must be greater than 0. Please refer to supported currencies for supported minor units.

verification_options.googlepay.currencyrequiredstring

Currency of the initial PaymentIntent to verify the PaymentConsent. Three-letter ISO currency code. Must be a supported currency .

verification_options.googlepay.external_three_dsobject

Authentication data from an external 3D-Secure provider (3RI for MIT subsequent transaction)

verification_options.googlepay.external_three_ds.authentication_valuestring

Authentication value, will be used to provide proof of authentication for 3DS v2

verification_options.googlepay.external_three_ds.ds_transaction_idstring

UUID assigned by the Directory Server to identify a single transaction for 3DS v2

verification_options.googlepay.external_three_ds.ecistring

Electronic Commerce Indicator provided by the ACS or DS to indicate the results of the attempt to authenticate the Cardholder

verification_options.googlepay.external_three_ds.three_ds_exemptionstring

Add the SCA exemptions if your 3DS provider decides any exemptions are applicable. One of TRA, LVP, ANONYMOUS

verification_options.googlepay.external_three_ds.three_ds_server_transaction_idstring

UUID assigned by the 3DS server to identify a single transaction for 3DS v2

verification_options.googlepay.external_three_ds.versionstring

3DS version in the format major.minor.patch

verification_options.googlepay.three_ds_actionstring

Set it to FORCE_3DS if you want to enforce 3DS with our 3DS provider. Set it to EXTERNAL_3DS if you want to use your own 3DS provider, in this case payment_method_options.card.external_three_ds should be provided in the confirm request. Set it to SKIP_3DS if you want to skip 3DS regardless of the risk score. null by default

verification_options.wechatpayobject

WeChat Pay information for verifying PaymentConsent

verification_options.wechatpay.currencystring

Indicates the currency of subsequent PaymentIntent that will be processed with this PaymentConsent. Please refer to supported currencies .

Response body - 200 OK
client_secretstring

PaymentConsent's client secret for browser or app. Only returned by PaymentConsent create API.

The provided client_secret is valid for 60 minutes

connected_account_idstring

Account identifier of the connected account.

created_atstring

Time at which this PaymentConsent was created

customer_idstring

Unique identifier from Airwallex of the customer who will make the payment with this PaymentConsent

disable_reasonstring

Disable reason. Only applicable when status is DISABLED

failure_reasonobject

Verification failure reason. Only applicable when status is REQUIRES_PAYMENT_METHOD and REQUIRES_CUSTOMER_ACTION.

failure_reason.codestring

The failure code returned by Airwallex

failure_reason.detailsobject

The verification failure details.

failure_reason.messagestring

Consent verification failed. Please retry the consent verification or select a different payment method.

idstring

Unique identifier of this PaymentConsent

initial_payment_intent_idstring

Unique identifier of the initial PaymentIntent confirmed with this PaymentConsent

mandateobject

An authorization from shopper to merchant to debit payments from their bank account.

mandate.accepted_atstring

The time at which shopper accepts the mandate.

mandate.bacs_direct_debitobject

BACS Direct Debit mandate information.

mandate.bacs_direct_debit.ddi_referencestring

Reference of the Direct Debit instrument.

mandate.bacs_direct_debit.service_user_numberstring

A unique six-digit number used to identify a business paying or receiving money through a Bacs Direct Debit transaction.

mandate.sepa_direct_debitobject

SEPA Direct Debit mandate information.

mandate.sepa_direct_debit.creditor_identifierstring

A unique number used to identify a business paying or receiving money through a SEPA Direct Debit transaction.

mandate.sepa_direct_debit.referencestring

Reference of the Direct Debit mandate.

mandate.typestring

The payment method type of the mandate. Can be ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

mandate.versionstring

The version of the mandate.

merchant_trigger_reasonstring

Only applicable when next_triggered_by is merchant. One of scheduled, unscheduled, installments.

metadataobject

A set of key-value pairs that can be attached to this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

next_actionobject

Next action for merchant

next_action.content_typestring

The content type of the request when method is POST. If not provided, the content type should be application/json

next_action.dataobject

The additional data that can be used to complete this action

next_action.emailstring

Email address to send the MicroDeposit verification link. Appears if type is notify_micro_deposits

next_action.fallback_urlstring

Fallback url to redirect the shopper to the web page if the redirection to the app fails. Returned only if the flow is mobile_app.

next_action.methodstring

The redirect method if the action type is redirect. One of GET, POST

next_action.micro_deposit_countinteger

Number of funds that will be deposited into shopper account. Appears if type is notify_micro_deposits

next_action.package_namestring

Android package name. Returned only if the flow is mobile_app and the os_type is android.

next_action.qrcodestring

QR Code text representation if the action type is redirect, only applicable to wechatpay.

next_action.remaining_attemptsinteger

the remaining attempts to verify micro_deposit or retry micro_debit.

next_action.stagestring

Stage of the request flow

next_action.typestring

Type of next action can be either redirect, redirect_iframe, notify_micro_deposits or retry_micro_debit

next_action.urlstring

The redirect url

next_triggered_bystring

The party to trigger subsequent payments. One of merchant, customer

payment_methodobject

PaymentMethod information attached for subsequent payments

payment_method.ach_direct_debitobject

ACH Direct Debit information. Only provided when type is ach_direct_debit.

payment_method.ach_direct_debit.aba_routing_numberstring

9-digit number to identify a bank in the US.

payment_method.ach_direct_debit.account_numberstring

4-17 digits number to identify a bank account in the US.

payment_method.ach_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.ach_direct_debit.micro_debitobject

The result of micro debit.

payment_method.ach_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.ach_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.ach_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.ach_direct_debit.owner_emailstring

Email of the account holder.

payment_method.ach_direct_debit.owner_namestring

Name of the account holder.

payment_method.alipaycnobject

Alipay CN information. Only provided when type is alipaycn.

payment_method.alipaycn.flowstring

One of qrcode, mobile_web, mobile_app, mini_program

payment_method.alipaycn.os_typestring

ios, android

payment_method.alipaycn.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipaycn.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.alipayhkobject

Alipay HK information. Only provided when type is alipayhk.

payment_method.alipayhk.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.alipayhk.os_typestring

ios, android

payment_method.alipayhk.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipayhk.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.applepayobject

Apple pay information. Only provided when type is applepay.

payment_method.applepay.billingobject

Billing information

payment_method.applepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.applepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.applepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.applepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.applepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.applepay.billing.emailstring

Email address of the customer

payment_method.applepay.billing.first_namestring

First name of the customer

payment_method.applepay.billing.last_namestring

Last name of the customer

payment_method.applepay.billing.phone_numberstring

Phone number of the customer

payment_method.applepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.applepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.applepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.applepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.applepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.applepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.applepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.applepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.applepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.applepay.tokenized_card.binstring

Bank identify number of this card

payment_method.applepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.applepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.applepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.applepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.applepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.applepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.applepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.applepay.tokenized_card.issuer_namestring

Issuer name

payment_method.applepay.tokenized_card.last4string

Last four digits of the card number

payment_method.applepay.tokenized_card.namestring

Cardholder name

payment_method.applepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.bacs_direct_debitobject

BACS Direct Debit information. Only provided when type is bacs_direct_debit.

payment_method.bacs_direct_debit.account_numberstring

8 digits number to identify a bank account in the UK.

payment_method.bacs_direct_debit.addressobject

Account holder's address.

payment_method.bacs_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes. One of GB, US. Default to GB if not provided

payment_method.bacs_direct_debit.address.line1string

House number and street name, e.g., 777 Casino Drive

payment_method.bacs_direct_debit.address.line2string

Locality name, e.g., Apartment 123

payment_method.bacs_direct_debit.address.postcodestring

Postcode of the address.

payment_method.bacs_direct_debit.address.statestring

State or province of the address. Should be provided if country code is US. Use the two-character ISO3166-2:US state code.

payment_method.bacs_direct_debit.address.townstring

Post town.

payment_method.bacs_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.bacs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.bacs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.bacs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.bacs_direct_debit.owner_emailstring

Email of the account holder.

payment_method.bacs_direct_debit.owner_namestring

Name of the account holder.

payment_method.bacs_direct_debit.sort_codestring

6-digit number to identify a bank in the UK.

payment_method.becs_direct_debitobject

BECS Direct Debit information. Only provided when type is becs_direct_debit.

payment_method.becs_direct_debit.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.becs_direct_debit.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.becs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.becs_direct_debit.micro_debitobject

The result of micro debit.

payment_method.becs_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.becs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.becs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.becs_direct_debit.owner_emailstring

Account holder's email.

payment_method.becs_direct_debit.owner_namestring

Account holder name.

payment_method.cardobject

Card information. Only provided when type is card.

payment_method.card.additional_infoobject

Additional information of external network token requestor. Would return when number_type is EXTERNAL_NETWORK_TOKEN

payment_method.card.additional_info.merchant_verification_valuestring

Merchant Verification Value (Provided by VISA during onboarding) or MasterCard Assigned ID (Provided by MasterCard during onboarding)

payment_method.card.additional_info.token_requestor_idstring

Token requestor unique identifier (Provided by card schemes during onboarding)

payment_method.card.billingobject

Billing information

payment_method.card.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.card.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.card.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.card.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.card.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.card.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.card.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.card.billing.emailstring

Email address of the customer

payment_method.card.billing.first_namestring

First name of the customer

payment_method.card.billing.last_namestring

Last name of the customer

payment_method.card.billing.phone_numberstring

Phone number of the customer

payment_method.card.binstring

Bank identify number of this card

payment_method.card.brandstring

Brand of the card. One of mastercard, visa, union pay, american express, jcb, discover, diners club international.

payment_method.card.card_typestring

Funding type of the card

payment_method.card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.card.fingerprintstring

Fingerprint of the card

payment_method.card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.card.issuer_country_codestring

Country code of the card issuer

payment_method.card.issuer_namestring

Issuer name

payment_method.card.korean_cardobject

Information for Korean Card

payment_method.card.korean_card.business_numberstring

A 10-digit business number of the company.

payment_method.card.korean_card.date_of_birthstring

A 6-digit date of birth in the format of YYMMDD.

payment_method.card.korean_card.password_first2string

Card password first 2 digits.

payment_method.card.last4string

Last four digits of the card number

payment_method.card.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.card.namestring

Card holder name

payment_method.card.number_typestring

Type of the number. One of PAN, EXTERNAL_NETWORK_TOKEN, AIRWALLEX_NETWORK_TOKEN.

payment_method.danaobject

DANA information. Only provided when type is dana.

payment_method.dana.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.dana.os_typestring

ios, android

payment_method.dana.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.dana.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.eft_direct_debitobject

EFT Direct Debit information. Only provided when type is eft_direct_debit.

payment_method.eft_direct_debit.account_numberstring

4-17 digits number to identify a bank account in Canada.

payment_method.eft_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.eft_direct_debit.institution_numberstring

3-digit number to identify a bank institution in Canada.

payment_method.eft_direct_debit.micro_debitobject

The result of micro debit.

payment_method.eft_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.eft_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.eft_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.eft_direct_debit.owner_emailstring

Email of the account holder.

payment_method.eft_direct_debit.owner_namestring

Name of the account holder.

payment_method.eft_direct_debit.transit_numberstring

Identify a bank branch transit in Canada.

payment_method.gcashobject

GCASH information. Only provided when type is gcash.

payment_method.gcash.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.gcash.os_typestring

ios, android

payment_method.gcash.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.gcash.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.googlepayobject

Google pay information. Only provided when type is googlepay.

payment_method.googlepay.billingobject

Billing information

payment_method.googlepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.googlepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.googlepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.googlepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.googlepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.googlepay.billing.emailstring

Email address of the customer

payment_method.googlepay.billing.first_namestring

First name of the customer

payment_method.googlepay.billing.last_namestring

Last name of the customer

payment_method.googlepay.billing.phone_numberstring

Phone number of the customer

payment_method.googlepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.googlepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.googlepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.googlepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.googlepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.googlepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.googlepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.googlepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.googlepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.googlepay.tokenized_card.binstring

Bank identify number of this card

payment_method.googlepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.googlepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.googlepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.googlepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.googlepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.googlepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.googlepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.googlepay.tokenized_card.issuer_namestring

Issuer name

payment_method.googlepay.tokenized_card.last4string

Last four digits of the card number

payment_method.googlepay.tokenized_card.namestring

Cardholder name

payment_method.googlepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.idstring

Unique identifier of the PaymentMethod attached for subsequent payments. Only provided when type is card.

payment_method.kakaopayobject

KAKAOPAY information. Only provided when type is kakaopay.

payment_method.kakaopay.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.kakaopay.os_typestring

ios, android

payment_method.kakaopay.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.kakaopay.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.paytoobject

Payto information. Only provided when type is payto.

payment_method.payto.bsbobject
payment_method.payto.bsb.account_namestring

The account name.

payment_method.payto.bsb.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.payto.bsb.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.payto.pay_idobject

The PayID of the recipient.

payment_method.payto.pay_id.australian_business_numberstring

11 digits number to identify the PayId. Required when phone_number, owner_email, and organisation_id is null.

payment_method.payto.pay_id.organisation_idstring

The organisation id of the recipient. The PayID must be in the format of payid:airwallex.com.

payment_method.payto.pay_id.owner_emailstring

owner email to identify the PayId. Required when phone_number, australian_business_number, and organisation_id is null.

payment_method.payto.pay_id.phone_numberstring

The phone number of the PayId. Required when owner_email, australian_business_number, and organisation_id is null.

payment_method.sepa_direct_debitobject

SEPA Direct Debit information. Only provided when type is sepa_direct_debit.

payment_method.sepa_direct_debit.addressobject

Account holder's address.

payment_method.sepa_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes.

payment_method.sepa_direct_debit.address.postcodestring

Postcode of the address.

payment_method.sepa_direct_debit.address.streetstring

street of the address.

payment_method.sepa_direct_debit.address.townstring

town of the address.

payment_method.sepa_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.sepa_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.sepa_direct_debit.country_codestring

The 2-letter ISO country/region code from which the consumer will be paying.

payment_method.sepa_direct_debit.ibanstring

15–34 characters to identify a bank account.

payment_method.sepa_direct_debit.micro_debitobject

The result of micro debit.

payment_method.sepa_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.sepa_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.sepa_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.sepa_direct_debit.owner_emailstring

Email of the account holder.

payment_method.sepa_direct_debit.owner_namestring

Name of the account holder.

payment_method.typestring

Type of the PaymentMethod. One of card, googlepay, applepay, alipayhk, truemoney, gcash, dana, kakaopay, tng, alipaycn, rabbit_line_pay, wechatpay, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

request_idstring

Unique request identifier specified by the merchant

statusstring
  • REQUIRES_PAYMENT_METHOD: Populate payment_method when calling verify.
    • This value is returned if payment_method is either null, or the payment_method has failed during verify, and a different payment_method should be provided.
  • REQUIRES_CUSTOMER_ACTION: Pending customer action, see next_action for details.
  • PENDING: The mandate of the PaymentConsent has been submitted. It only occurs when payment method type is bacs_direct_debit. You need to wait for the final result. The status will become DISABLED if the mandate is rejected or VERIFIED if the mandate is accepted.
  • PAUSED: The active mandate of the PaymentConsent has been paused. The PaymentConsent can be paused only when the previous status was VERIFIED. It only occurs when payment method type is payto. The status will become DISABLED if the mandate is canceled or VERIFIED if the mandate is resumed.
  • VERIFIED: The PaymentConsent has been verified and it can be used for subsequent payments.
  • DISABLED: The PaymentConsent is disabled. You cannot verify it again.
terms_of_useobject

The terms of this consent.

terms_of_use.billing_cycle_charge_dayinteger

The granularity per billing cycle. Required when payment_schedule.period_unit is WEEK, MONTH, or YEAR. (e.g. charge_day_per_billing_cycle= 5, payment_schedule.period_unit = MONTH, payment_schedule.period = 1 if collect payment on the 5th of each month).

terms_of_use.end_datestring

End date to expect payment request.

terms_of_use.first_payment_amountnumber

The first payment. It could include the costs associated with the first debited amount.Optional if payment agreement type is VARIABLE.

terms_of_use.fixed_payment_amountnumber

The fixed payment amount that can be charged for a single payment.Required if payment agreement type is FIXED.

terms_of_use.max_payment_amountnumber

The maximum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.min_payment_amountnumber

The minimum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.payment_amount_typestring

The agreed type of amounts for subsequent payment. Should be one of FIXED, VARIABLE.

  • FIXED: payment amount is fixed. A specific amount is required.
  • VARIABLE: payment amount is variable at each collection. A max limit is recommended.
terms_of_use.payment_currencystring

The currency of this payment. Please refer to supported currencies .

terms_of_use.payment_scheduleobject
terms_of_use.payment_schedule.periodinteger

The number of period units between billing cycles. For example, the payment cycle is one month if period=1 and period_unit=MONTH. Required when merchant_trigger_reason = scheduled

terms_of_use.payment_schedule.period_unitstring

Specifies billing frequency. One of DAY, WEEK, MONTH, and YEAR. Required when merchant_trigger_reason = scheduled

terms_of_use.start_datestring

Start date to expect payment request.

terms_of_use.total_billing_cyclesinteger

The total number of billing cycles. For example, the mandate will last for 1 year if total_billing_cycles=12, payment_schedule.period=1 and payment_schedule.period_unit=MONTH if the merchant_trigger_reason is scheduled. Merchant can bill customers 12 times when total_billing_cycles=12 if the merchant_trigger_reason is unscheduledThe mandate will continue indefinitely if total_billing_cycles is null.

updated_atstring

Time at which this PaymentConsent was last updated

Errors
Error statusDescription
400

Bad Request. Possible error codes: validation_error, duplicate_request, suspended_from_online_payments, frequency_above_limit, invalid_status_for_operation, provider_unavailable, configuration_error, authentication_declined, risk_declined, resource_already_exists, provider_declined, quote_expired, payment_method_not_allowed, card_brand_not_supported, issuer_declined, no_3ds_liability_shift, 3ds_not_supported, rejected_by_routing_rules

401

Unauthorized. Possible error codes: unauthorized

403

Forbidden

404

Not Found. Possible error codes: not_found(invalid url), resource_not_found

500

Server Error. Possible error codes: internal_error

POST /api/v1/pa/payment_consents/{id}/verify
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/pa/payment_consents/cst_hkpdsjz1vg0x1uscdj/verify' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "request_id": "3a3bafab-79ac-4e75-a966-01cf6c62056f",
> "device_data": {
> "device_id": "59ec5db9-399c-4043-9a6c-fcd1a48d99aa",
> "language": "en-AU",
> "screen_color_depth": 32,
> "screen_height": 800,
> "screen_width": 390
> },
> "payment_method": {
> "type": "card",
> "card": {
> "number": "4035501000000008",
> "expiry_month": "03",
> "expiry_year": "2030",
> "name": "John Doe",
> "cvc": "737"
> }
> },
> "verification_options": {
> "card": {
> "amount": 0.01,
> "currency": "USD"
> }
> },
> "return_url": "https://www.airwallex.com",
> "should_check_duplicate_cit_consent": false
>}'
Response (200 OK)
1{
2 "id": "cst_hkpdsjz1vg0x1uscdj",
3 "request_id": "3a3bafab-79ac-4e75-a966-01cf6c62056f",
4 "customer_id": "cus_hkpdsjz4vg1x3uscdj",
5 "status": "REQUIRES_CUSTOMER_ACTION",
6 "next_triggered_by": "merchant",
7 "merchant_trigger_reason": "scheduled",
8 "initial_payment_intent_id": "int_hkpdskz7vg1xc7uscdj",
9 "payment_method": {
10 "type": "card",
11 "id": "mtd_hkpds1z4zh00i2eb1h",
12 "card": {
13 "expiry_month": "03",
14 "expiry_year": "2030",
15 "name": "John Doe",
16 "bin": "403550",
17 "last4": "0008",
18 "brand": "visa",
19 "issuer_country_code": "US",
20 "card_type": "CREDIT",
21 "fingerprint": "AKvN4TqxI04SNFZ+oYRXaECtDA==",
22 "billing": {
23 "first_name": "John",
24 "last_name": "Doe",
25 "email": "[email protected]",
26 "phone_number": "+1 1234567890",
27 "address": {
28 "country_code": "US",
29 "state": "CA",
30 "city": "San Francisco",
31 "street": "1460 Mission St.#02W101",
32 "postcode": "94103"
33 }
34 },
35 "issuer_name": "JPMorgan Chase",
36 "is_commercial": false,
37 "number_type": "PAN"
38 }
39 },
40 "metadata": {
41 "amount": "10",
42 "subscriptionNumber": "2025040700000001"
43 },
44 "mandate": {},
45 "next_action": {
46 "type": "redirect_iframe",
47 "method": "GET",
48 "url": "https://www.example.com/redirect",
49 "stage": "WAITING_DEVICE_DATA_COLLECTION"
50 },
51 "created_at": "2021-08-31T06:57:15+00:00",
52 "updated_at": "2021-08-31T07:01:15+00:00"
53}
Was this section helpful?

Continue to verify a PaymentConsent

POST /api/v1/pa/payment_consents/{id}/verify_continue

Continue verify a paymentConsent, required when verification method is micro-deposit. Merchants can use this api to verify the amount of micro-deposit if the payment consent wait for the verification result of micro-deposit. Micro-debit is triggered when micro-deposit is triggered, micro-debit is not part of micro-deposit verification. If micro-deposit is success and micro-debit failed, merchants can use this api to retry micro-debit.

Parameters
idrequiredstring

PaymentConsent unique identifier

Request body
micro_depositobject

The verification request of micro-deposit, required only if type is verify_micro_deposits

micro_deposit.amountsarray

The amounts of the micro-deposit in the shopper’s bank statement. Please refer to supported currencies for supported minor units.

request_idrequiredstring

Unique request identifier specified by the merchant

typestring

Type of the continue type. One of verify_micro_deposits, retry_micro_debit.

Response body - 200 OK
client_secretstring

PaymentConsent's client secret for browser or app. Only returned by PaymentConsent create API.

The provided client_secret is valid for 60 minutes

connected_account_idstring

Account identifier of the connected account.

created_atstring

Time at which this PaymentConsent was created

customer_idstring

Unique identifier from Airwallex of the customer who will make the payment with this PaymentConsent

disable_reasonstring

Disable reason. Only applicable when status is DISABLED

failure_reasonobject

Verification failure reason. Only applicable when status is REQUIRES_PAYMENT_METHOD and REQUIRES_CUSTOMER_ACTION.

failure_reason.codestring

The failure code returned by Airwallex

failure_reason.detailsobject

The verification failure details.

failure_reason.messagestring

Consent verification failed. Please retry the consent verification or select a different payment method.

idstring

Unique identifier of this PaymentConsent

initial_payment_intent_idstring

Unique identifier of the initial PaymentIntent confirmed with this PaymentConsent

mandateobject

An authorization from shopper to merchant to debit payments from their bank account.

mandate.accepted_atstring

The time at which shopper accepts the mandate.

mandate.bacs_direct_debitobject

BACS Direct Debit mandate information.

mandate.bacs_direct_debit.ddi_referencestring

Reference of the Direct Debit instrument.

mandate.bacs_direct_debit.service_user_numberstring

A unique six-digit number used to identify a business paying or receiving money through a Bacs Direct Debit transaction.

mandate.sepa_direct_debitobject

SEPA Direct Debit mandate information.

mandate.sepa_direct_debit.creditor_identifierstring

A unique number used to identify a business paying or receiving money through a SEPA Direct Debit transaction.

mandate.sepa_direct_debit.referencestring

Reference of the Direct Debit mandate.

mandate.typestring

The payment method type of the mandate. Can be ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

mandate.versionstring

The version of the mandate.

merchant_trigger_reasonstring

Only applicable when next_triggered_by is merchant. One of scheduled, unscheduled, installments.

metadataobject

A set of key-value pairs that can be attached to this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

next_actionobject

Next action for merchant

next_action.content_typestring

The content type of the request when method is POST. If not provided, the content type should be application/json

next_action.dataobject

The additional data that can be used to complete this action

next_action.emailstring

Email address to send the MicroDeposit verification link. Appears if type is notify_micro_deposits

next_action.fallback_urlstring

Fallback url to redirect the shopper to the web page if the redirection to the app fails. Returned only if the flow is mobile_app.

next_action.methodstring

The redirect method if the action type is redirect. One of GET, POST

next_action.micro_deposit_countinteger

Number of funds that will be deposited into shopper account. Appears if type is notify_micro_deposits

next_action.package_namestring

Android package name. Returned only if the flow is mobile_app and the os_type is android.

next_action.qrcodestring

QR Code text representation if the action type is redirect, only applicable to wechatpay.

next_action.remaining_attemptsinteger

the remaining attempts to verify micro_deposit or retry micro_debit.

next_action.stagestring

Stage of the request flow

next_action.typestring

Type of next action can be either redirect, redirect_iframe, notify_micro_deposits or retry_micro_debit

next_action.urlstring

The redirect url

next_triggered_bystring

The party to trigger subsequent payments. One of merchant, customer

payment_methodobject

PaymentMethod information attached for subsequent payments

payment_method.ach_direct_debitobject

ACH Direct Debit information. Only provided when type is ach_direct_debit.

payment_method.ach_direct_debit.aba_routing_numberstring

9-digit number to identify a bank in the US.

payment_method.ach_direct_debit.account_numberstring

4-17 digits number to identify a bank account in the US.

payment_method.ach_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.ach_direct_debit.micro_debitobject

The result of micro debit.

payment_method.ach_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.ach_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.ach_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.ach_direct_debit.owner_emailstring

Email of the account holder.

payment_method.ach_direct_debit.owner_namestring

Name of the account holder.

payment_method.alipaycnobject

Alipay CN information. Only provided when type is alipaycn.

payment_method.alipaycn.flowstring

One of qrcode, mobile_web, mobile_app, mini_program

payment_method.alipaycn.os_typestring

ios, android

payment_method.alipaycn.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipaycn.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.alipayhkobject

Alipay HK information. Only provided when type is alipayhk.

payment_method.alipayhk.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.alipayhk.os_typestring

ios, android

payment_method.alipayhk.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipayhk.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.applepayobject

Apple pay information. Only provided when type is applepay.

payment_method.applepay.billingobject

Billing information

payment_method.applepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.applepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.applepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.applepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.applepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.applepay.billing.emailstring

Email address of the customer

payment_method.applepay.billing.first_namestring

First name of the customer

payment_method.applepay.billing.last_namestring

Last name of the customer

payment_method.applepay.billing.phone_numberstring

Phone number of the customer

payment_method.applepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.applepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.applepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.applepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.applepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.applepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.applepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.applepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.applepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.applepay.tokenized_card.binstring

Bank identify number of this card

payment_method.applepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.applepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.applepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.applepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.applepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.applepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.applepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.applepay.tokenized_card.issuer_namestring

Issuer name

payment_method.applepay.tokenized_card.last4string

Last four digits of the card number

payment_method.applepay.tokenized_card.namestring

Cardholder name

payment_method.applepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.bacs_direct_debitobject

BACS Direct Debit information. Only provided when type is bacs_direct_debit.

payment_method.bacs_direct_debit.account_numberstring

8 digits number to identify a bank account in the UK.

payment_method.bacs_direct_debit.addressobject

Account holder's address.

payment_method.bacs_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes. One of GB, US. Default to GB if not provided

payment_method.bacs_direct_debit.address.line1string

House number and street name, e.g., 777 Casino Drive

payment_method.bacs_direct_debit.address.line2string

Locality name, e.g., Apartment 123

payment_method.bacs_direct_debit.address.postcodestring

Postcode of the address.

payment_method.bacs_direct_debit.address.statestring

State or province of the address. Should be provided if country code is US. Use the two-character ISO3166-2:US state code.

payment_method.bacs_direct_debit.address.townstring

Post town.

payment_method.bacs_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.bacs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.bacs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.bacs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.bacs_direct_debit.owner_emailstring

Email of the account holder.

payment_method.bacs_direct_debit.owner_namestring

Name of the account holder.

payment_method.bacs_direct_debit.sort_codestring

6-digit number to identify a bank in the UK.

payment_method.becs_direct_debitobject

BECS Direct Debit information. Only provided when type is becs_direct_debit.

payment_method.becs_direct_debit.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.becs_direct_debit.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.becs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.becs_direct_debit.micro_debitobject

The result of micro debit.

payment_method.becs_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.becs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.becs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.becs_direct_debit.owner_emailstring

Account holder's email.

payment_method.becs_direct_debit.owner_namestring

Account holder name.

payment_method.cardobject

Card information. Only provided when type is card.

payment_method.card.additional_infoobject

Additional information of external network token requestor. Would return when number_type is EXTERNAL_NETWORK_TOKEN

payment_method.card.additional_info.merchant_verification_valuestring

Merchant Verification Value (Provided by VISA during onboarding) or MasterCard Assigned ID (Provided by MasterCard during onboarding)

payment_method.card.additional_info.token_requestor_idstring

Token requestor unique identifier (Provided by card schemes during onboarding)

payment_method.card.billingobject

Billing information

payment_method.card.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.card.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.card.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.card.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.card.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.card.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.card.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.card.billing.emailstring

Email address of the customer

payment_method.card.billing.first_namestring

First name of the customer

payment_method.card.billing.last_namestring

Last name of the customer

payment_method.card.billing.phone_numberstring

Phone number of the customer

payment_method.card.binstring

Bank identify number of this card

payment_method.card.brandstring

Brand of the card. One of mastercard, visa, union pay, american express, jcb, discover, diners club international.

payment_method.card.card_typestring

Funding type of the card

payment_method.card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.card.fingerprintstring

Fingerprint of the card

payment_method.card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.card.issuer_country_codestring

Country code of the card issuer

payment_method.card.issuer_namestring

Issuer name

payment_method.card.korean_cardobject

Information for Korean Card

payment_method.card.korean_card.business_numberstring

A 10-digit business number of the company.

payment_method.card.korean_card.date_of_birthstring

A 6-digit date of birth in the format of YYMMDD.

payment_method.card.korean_card.password_first2string

Card password first 2 digits.

payment_method.card.last4string

Last four digits of the card number

payment_method.card.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.card.namestring

Card holder name

payment_method.card.number_typestring

Type of the number. One of PAN, EXTERNAL_NETWORK_TOKEN, AIRWALLEX_NETWORK_TOKEN.

payment_method.danaobject

DANA information. Only provided when type is dana.

payment_method.dana.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.dana.os_typestring

ios, android

payment_method.dana.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.dana.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.eft_direct_debitobject

EFT Direct Debit information. Only provided when type is eft_direct_debit.

payment_method.eft_direct_debit.account_numberstring

4-17 digits number to identify a bank account in Canada.

payment_method.eft_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.eft_direct_debit.institution_numberstring

3-digit number to identify a bank institution in Canada.

payment_method.eft_direct_debit.micro_debitobject

The result of micro debit.

payment_method.eft_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.eft_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.eft_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.eft_direct_debit.owner_emailstring

Email of the account holder.

payment_method.eft_direct_debit.owner_namestring

Name of the account holder.

payment_method.eft_direct_debit.transit_numberstring

Identify a bank branch transit in Canada.

payment_method.gcashobject

GCASH information. Only provided when type is gcash.

payment_method.gcash.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.gcash.os_typestring

ios, android

payment_method.gcash.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.gcash.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.googlepayobject

Google pay information. Only provided when type is googlepay.

payment_method.googlepay.billingobject

Billing information

payment_method.googlepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.googlepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.googlepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.googlepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.googlepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.googlepay.billing.emailstring

Email address of the customer

payment_method.googlepay.billing.first_namestring

First name of the customer

payment_method.googlepay.billing.last_namestring

Last name of the customer

payment_method.googlepay.billing.phone_numberstring

Phone number of the customer

payment_method.googlepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.googlepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.googlepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.googlepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.googlepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.googlepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.googlepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.googlepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.googlepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.googlepay.tokenized_card.binstring

Bank identify number of this card

payment_method.googlepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.googlepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.googlepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.googlepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.googlepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.googlepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.googlepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.googlepay.tokenized_card.issuer_namestring

Issuer name

payment_method.googlepay.tokenized_card.last4string

Last four digits of the card number

payment_method.googlepay.tokenized_card.namestring

Cardholder name

payment_method.googlepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.idstring

Unique identifier of the PaymentMethod attached for subsequent payments. Only provided when type is card.

payment_method.kakaopayobject

KAKAOPAY information. Only provided when type is kakaopay.

payment_method.kakaopay.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.kakaopay.os_typestring

ios, android

payment_method.kakaopay.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.kakaopay.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.paytoobject

Payto information. Only provided when type is payto.

payment_method.payto.bsbobject
payment_method.payto.bsb.account_namestring

The account name.

payment_method.payto.bsb.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.payto.bsb.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.payto.pay_idobject

The PayID of the recipient.

payment_method.payto.pay_id.australian_business_numberstring

11 digits number to identify the PayId. Required when phone_number, owner_email, and organisation_id is null.

payment_method.payto.pay_id.organisation_idstring

The organisation id of the recipient. The PayID must be in the format of payid:airwallex.com.

payment_method.payto.pay_id.owner_emailstring

owner email to identify the PayId. Required when phone_number, australian_business_number, and organisation_id is null.

payment_method.payto.pay_id.phone_numberstring

The phone number of the PayId. Required when owner_email, australian_business_number, and organisation_id is null.

payment_method.sepa_direct_debitobject

SEPA Direct Debit information. Only provided when type is sepa_direct_debit.

payment_method.sepa_direct_debit.addressobject

Account holder's address.

payment_method.sepa_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes.

payment_method.sepa_direct_debit.address.postcodestring

Postcode of the address.

payment_method.sepa_direct_debit.address.streetstring

street of the address.

payment_method.sepa_direct_debit.address.townstring

town of the address.

payment_method.sepa_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.sepa_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.sepa_direct_debit.country_codestring

The 2-letter ISO country/region code from which the consumer will be paying.

payment_method.sepa_direct_debit.ibanstring

15–34 characters to identify a bank account.

payment_method.sepa_direct_debit.micro_debitobject

The result of micro debit.

payment_method.sepa_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.sepa_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.sepa_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.sepa_direct_debit.owner_emailstring

Email of the account holder.

payment_method.sepa_direct_debit.owner_namestring

Name of the account holder.

payment_method.typestring

Type of the PaymentMethod. One of card, googlepay, applepay, alipayhk, truemoney, gcash, dana, kakaopay, tng, alipaycn, rabbit_line_pay, wechatpay, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

request_idstring

Unique request identifier specified by the merchant

statusstring
  • REQUIRES_PAYMENT_METHOD: Populate payment_method when calling verify.
    • This value is returned if payment_method is either null, or the payment_method has failed during verify, and a different payment_method should be provided.
  • REQUIRES_CUSTOMER_ACTION: Pending customer action, see next_action for details.
  • PENDING: The mandate of the PaymentConsent has been submitted. It only occurs when payment method type is bacs_direct_debit. You need to wait for the final result. The status will become DISABLED if the mandate is rejected or VERIFIED if the mandate is accepted.
  • PAUSED: The active mandate of the PaymentConsent has been paused. The PaymentConsent can be paused only when the previous status was VERIFIED. It only occurs when payment method type is payto. The status will become DISABLED if the mandate is canceled or VERIFIED if the mandate is resumed.
  • VERIFIED: The PaymentConsent has been verified and it can be used for subsequent payments.
  • DISABLED: The PaymentConsent is disabled. You cannot verify it again.
terms_of_useobject

The terms of this consent.

terms_of_use.billing_cycle_charge_dayinteger

The granularity per billing cycle. Required when payment_schedule.period_unit is WEEK, MONTH, or YEAR. (e.g. charge_day_per_billing_cycle= 5, payment_schedule.period_unit = MONTH, payment_schedule.period = 1 if collect payment on the 5th of each month).

terms_of_use.end_datestring

End date to expect payment request.

terms_of_use.first_payment_amountnumber

The first payment. It could include the costs associated with the first debited amount.Optional if payment agreement type is VARIABLE.

terms_of_use.fixed_payment_amountnumber

The fixed payment amount that can be charged for a single payment.Required if payment agreement type is FIXED.

terms_of_use.max_payment_amountnumber

The maximum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.min_payment_amountnumber

The minimum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.payment_amount_typestring

The agreed type of amounts for subsequent payment. Should be one of FIXED, VARIABLE.

  • FIXED: payment amount is fixed. A specific amount is required.
  • VARIABLE: payment amount is variable at each collection. A max limit is recommended.
terms_of_use.payment_currencystring

The currency of this payment. Please refer to supported currencies .

terms_of_use.payment_scheduleobject
terms_of_use.payment_schedule.periodinteger

The number of period units between billing cycles. For example, the payment cycle is one month if period=1 and period_unit=MONTH. Required when merchant_trigger_reason = scheduled

terms_of_use.payment_schedule.period_unitstring

Specifies billing frequency. One of DAY, WEEK, MONTH, and YEAR. Required when merchant_trigger_reason = scheduled

terms_of_use.start_datestring

Start date to expect payment request.

terms_of_use.total_billing_cyclesinteger

The total number of billing cycles. For example, the mandate will last for 1 year if total_billing_cycles=12, payment_schedule.period=1 and payment_schedule.period_unit=MONTH if the merchant_trigger_reason is scheduled. Merchant can bill customers 12 times when total_billing_cycles=12 if the merchant_trigger_reason is unscheduledThe mandate will continue indefinitely if total_billing_cycles is null.

updated_atstring

Time at which this PaymentConsent was last updated

Errors
Error statusDescription
400

Bad Request. Possible error codes: validation_error, duplicate_request, suspended_from_online_payments, frequency_above_limit, invalid_status_for_operation, provider_unavailable, configuration_error, authentication_declined, risk_declined, resource_already_exists, provider_declined, quote_expired, payment_method_not_allowed, card_brand_not_supported, issuer_declined, no_3ds_liability_shift, 3ds_not_supported, rejected_by_routing_rules

401

Unauthorized. Possible error codes: unauthorized

403

Forbidden

404

Not Found. Possible error codes: not_found(invalid url), resource_not_found

500

Server Error. Possible error codes: internal_error

POST /api/v1/pa/payment_consents/{id}/verify_continue
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/pa/payment_consents/cst_hkpdsjz1vg0x1uscdj/verify_continue' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "request_id": "a1b6d685-ce24-4214-afda-71922546c57a",
> "type": "verify_micro_deposits",
> "micro_deposit": {
> "amounts": [
> 0.01,
> 0.02
> ]
> }
>}'
Response (200 OK)
1{
2 "id": "cst_hkpdsjz1vg0x1uscdj",
3 "request_id": "a1b6d685-ce24-4214-afda-71922546c57a",
4 "customer_id": "cus_hkpdsjz4vg1x3uscdj",
5 "status": "PENDING",
6 "next_triggered_by": "merchant",
7 "merchant_trigger_reason": "scheduled",
8 "metadata": {
9 "foo": "bar"
10 },
11 "client_secret": "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MzgzMDY2MzAsImV4cCI6MTczODMxMDIzMCwidHlwZSI6ImNsaWVudC1zZWNyZXQiLCJwYWRjIjoiSEsiLCJhY2NvdW50X2lkIjoiN2EwYzQ3YzctNzM0Zi00NzdmLTk1OWItMzIxNTQyNzgxYTgyIiwiY29uc2VudF9pZCI6ImNzdF9oa3Bkc2p6MXZnMHgxdXNjZGoiLCJjdXN0b21lcl9pZCI6ImN1c19oa3Bkc2p6NHZnMXgzdXNjZGoifQ.c8zs0QlpUy_NwWy_JsHqHSiRpbtpGnIVWNsVHsSvJQ0",
12 "mandate": {
13 "type": "verify_micro_deposits",
14 "sepa_direct_debit": {
15 "creditor_identifier": "DE123456789",
16 "reference": "REF123456789"
17 },
18 "version": "1.0",
19 "accepted_at": "2021-08-31T07:01:15+00:00"
20 },
21 "created_at": "2021-08-31T06:57:15+00:00",
22 "updated_at": "2021-08-31T07:01:15+00:00"
23}
Was this section helpful?

Disable a PaymentConsent

POST /api/v1/pa/payment_consents/{id}/disable

Disable a PaymentConsent by unique identifier. After a PaymentConsent is disabled, the status will become DISABLED and the PaymentConsent cannot be used or updated.

Parameters
idrequiredstring

PaymentConsent unique identifier

Request body
request_idrequiredstring

Unique request identifier specified by the merchant. Maximum length is 64.

Response body - 200 OK
client_secretstring

PaymentConsent's client secret for browser or app. Only returned by PaymentConsent create API.

The provided client_secret is valid for 60 minutes

connected_account_idstring

Account identifier of the connected account.

created_atstring

Time at which this PaymentConsent was created

customer_idstring

Unique identifier from Airwallex of the customer who will make the payment with this PaymentConsent

disable_reasonstring

Disable reason. Only applicable when status is DISABLED

failure_reasonobject

Verification failure reason. Only applicable when status is REQUIRES_PAYMENT_METHOD and REQUIRES_CUSTOMER_ACTION.

failure_reason.codestring

The failure code returned by Airwallex

failure_reason.detailsobject

The verification failure details.

failure_reason.messagestring

Consent verification failed. Please retry the consent verification or select a different payment method.

idstring

Unique identifier of this PaymentConsent

initial_payment_intent_idstring

Unique identifier of the initial PaymentIntent confirmed with this PaymentConsent

mandateobject

An authorization from shopper to merchant to debit payments from their bank account.

mandate.accepted_atstring

The time at which shopper accepts the mandate.

mandate.bacs_direct_debitobject

BACS Direct Debit mandate information.

mandate.bacs_direct_debit.ddi_referencestring

Reference of the Direct Debit instrument.

mandate.bacs_direct_debit.service_user_numberstring

A unique six-digit number used to identify a business paying or receiving money through a Bacs Direct Debit transaction.

mandate.sepa_direct_debitobject

SEPA Direct Debit mandate information.

mandate.sepa_direct_debit.creditor_identifierstring

A unique number used to identify a business paying or receiving money through a SEPA Direct Debit transaction.

mandate.sepa_direct_debit.referencestring

Reference of the Direct Debit mandate.

mandate.typestring

The payment method type of the mandate. Can be ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

mandate.versionstring

The version of the mandate.

merchant_trigger_reasonstring

Only applicable when next_triggered_by is merchant. One of scheduled, unscheduled, installments.

metadataobject

A set of key-value pairs that can be attached to this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

next_actionobject

Next action for merchant

next_action.content_typestring

The content type of the request when method is POST. If not provided, the content type should be application/json

next_action.dataobject

The additional data that can be used to complete this action

next_action.emailstring

Email address to send the MicroDeposit verification link. Appears if type is notify_micro_deposits

next_action.fallback_urlstring

Fallback url to redirect the shopper to the web page if the redirection to the app fails. Returned only if the flow is mobile_app.

next_action.methodstring

The redirect method if the action type is redirect. One of GET, POST

next_action.micro_deposit_countinteger

Number of funds that will be deposited into shopper account. Appears if type is notify_micro_deposits

next_action.package_namestring

Android package name. Returned only if the flow is mobile_app and the os_type is android.

next_action.qrcodestring

QR Code text representation if the action type is redirect, only applicable to wechatpay.

next_action.remaining_attemptsinteger

the remaining attempts to verify micro_deposit or retry micro_debit.

next_action.stagestring

Stage of the request flow

next_action.typestring

Type of next action can be either redirect, redirect_iframe, notify_micro_deposits or retry_micro_debit

next_action.urlstring

The redirect url

next_triggered_bystring

The party to trigger subsequent payments. One of merchant, customer

payment_methodobject

PaymentMethod information attached for subsequent payments

payment_method.ach_direct_debitobject

ACH Direct Debit information. Only provided when type is ach_direct_debit.

payment_method.ach_direct_debit.aba_routing_numberstring

9-digit number to identify a bank in the US.

payment_method.ach_direct_debit.account_numberstring

4-17 digits number to identify a bank account in the US.

payment_method.ach_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.ach_direct_debit.micro_debitobject

The result of micro debit.

payment_method.ach_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.ach_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.ach_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.ach_direct_debit.owner_emailstring

Email of the account holder.

payment_method.ach_direct_debit.owner_namestring

Name of the account holder.

payment_method.alipaycnobject

Alipay CN information. Only provided when type is alipaycn.

payment_method.alipaycn.flowstring

One of qrcode, mobile_web, mobile_app, mini_program

payment_method.alipaycn.os_typestring

ios, android

payment_method.alipaycn.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipaycn.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.alipayhkobject

Alipay HK information. Only provided when type is alipayhk.

payment_method.alipayhk.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.alipayhk.os_typestring

ios, android

payment_method.alipayhk.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipayhk.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.applepayobject

Apple pay information. Only provided when type is applepay.

payment_method.applepay.billingobject

Billing information

payment_method.applepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.applepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.applepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.applepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.applepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.applepay.billing.emailstring

Email address of the customer

payment_method.applepay.billing.first_namestring

First name of the customer

payment_method.applepay.billing.last_namestring

Last name of the customer

payment_method.applepay.billing.phone_numberstring

Phone number of the customer

payment_method.applepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.applepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.applepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.applepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.applepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.applepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.applepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.applepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.applepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.applepay.tokenized_card.binstring

Bank identify number of this card

payment_method.applepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.applepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.applepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.applepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.applepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.applepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.applepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.applepay.tokenized_card.issuer_namestring

Issuer name

payment_method.applepay.tokenized_card.last4string

Last four digits of the card number

payment_method.applepay.tokenized_card.namestring

Cardholder name

payment_method.applepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.bacs_direct_debitobject

BACS Direct Debit information. Only provided when type is bacs_direct_debit.

payment_method.bacs_direct_debit.account_numberstring

8 digits number to identify a bank account in the UK.

payment_method.bacs_direct_debit.addressobject

Account holder's address.

payment_method.bacs_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes. One of GB, US. Default to GB if not provided

payment_method.bacs_direct_debit.address.line1string

House number and street name, e.g., 777 Casino Drive

payment_method.bacs_direct_debit.address.line2string

Locality name, e.g., Apartment 123

payment_method.bacs_direct_debit.address.postcodestring

Postcode of the address.

payment_method.bacs_direct_debit.address.statestring

State or province of the address. Should be provided if country code is US. Use the two-character ISO3166-2:US state code.

payment_method.bacs_direct_debit.address.townstring

Post town.

payment_method.bacs_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.bacs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.bacs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.bacs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.bacs_direct_debit.owner_emailstring

Email of the account holder.

payment_method.bacs_direct_debit.owner_namestring

Name of the account holder.

payment_method.bacs_direct_debit.sort_codestring

6-digit number to identify a bank in the UK.

payment_method.becs_direct_debitobject

BECS Direct Debit information. Only provided when type is becs_direct_debit.

payment_method.becs_direct_debit.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.becs_direct_debit.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.becs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.becs_direct_debit.micro_debitobject

The result of micro debit.

payment_method.becs_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.becs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.becs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.becs_direct_debit.owner_emailstring

Account holder's email.

payment_method.becs_direct_debit.owner_namestring

Account holder name.

payment_method.cardobject

Card information. Only provided when type is card.

payment_method.card.additional_infoobject

Additional information of external network token requestor. Would return when number_type is EXTERNAL_NETWORK_TOKEN

payment_method.card.additional_info.merchant_verification_valuestring

Merchant Verification Value (Provided by VISA during onboarding) or MasterCard Assigned ID (Provided by MasterCard during onboarding)

payment_method.card.additional_info.token_requestor_idstring

Token requestor unique identifier (Provided by card schemes during onboarding)

payment_method.card.billingobject

Billing information

payment_method.card.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.card.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.card.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.card.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.card.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.card.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.card.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.card.billing.emailstring

Email address of the customer

payment_method.card.billing.first_namestring

First name of the customer

payment_method.card.billing.last_namestring

Last name of the customer

payment_method.card.billing.phone_numberstring

Phone number of the customer

payment_method.card.binstring

Bank identify number of this card

payment_method.card.brandstring

Brand of the card. One of mastercard, visa, union pay, american express, jcb, discover, diners club international.

payment_method.card.card_typestring

Funding type of the card

payment_method.card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.card.fingerprintstring

Fingerprint of the card

payment_method.card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.card.issuer_country_codestring

Country code of the card issuer

payment_method.card.issuer_namestring

Issuer name

payment_method.card.korean_cardobject

Information for Korean Card

payment_method.card.korean_card.business_numberstring

A 10-digit business number of the company.

payment_method.card.korean_card.date_of_birthstring

A 6-digit date of birth in the format of YYMMDD.

payment_method.card.korean_card.password_first2string

Card password first 2 digits.

payment_method.card.last4string

Last four digits of the card number

payment_method.card.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.card.namestring

Card holder name

payment_method.card.number_typestring

Type of the number. One of PAN, EXTERNAL_NETWORK_TOKEN, AIRWALLEX_NETWORK_TOKEN.

payment_method.danaobject

DANA information. Only provided when type is dana.

payment_method.dana.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.dana.os_typestring

ios, android

payment_method.dana.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.dana.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.eft_direct_debitobject

EFT Direct Debit information. Only provided when type is eft_direct_debit.

payment_method.eft_direct_debit.account_numberstring

4-17 digits number to identify a bank account in Canada.

payment_method.eft_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.eft_direct_debit.institution_numberstring

3-digit number to identify a bank institution in Canada.

payment_method.eft_direct_debit.micro_debitobject

The result of micro debit.

payment_method.eft_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.eft_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.eft_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.eft_direct_debit.owner_emailstring

Email of the account holder.

payment_method.eft_direct_debit.owner_namestring

Name of the account holder.

payment_method.eft_direct_debit.transit_numberstring

Identify a bank branch transit in Canada.

payment_method.gcashobject

GCASH information. Only provided when type is gcash.

payment_method.gcash.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.gcash.os_typestring

ios, android

payment_method.gcash.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.gcash.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.googlepayobject

Google pay information. Only provided when type is googlepay.

payment_method.googlepay.billingobject

Billing information

payment_method.googlepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.googlepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.googlepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.googlepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.googlepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.googlepay.billing.emailstring

Email address of the customer

payment_method.googlepay.billing.first_namestring

First name of the customer

payment_method.googlepay.billing.last_namestring

Last name of the customer

payment_method.googlepay.billing.phone_numberstring

Phone number of the customer

payment_method.googlepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.googlepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.googlepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.googlepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.googlepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.googlepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.googlepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.googlepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.googlepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.googlepay.tokenized_card.binstring

Bank identify number of this card

payment_method.googlepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.googlepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.googlepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.googlepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.googlepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.googlepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.googlepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.googlepay.tokenized_card.issuer_namestring

Issuer name

payment_method.googlepay.tokenized_card.last4string

Last four digits of the card number

payment_method.googlepay.tokenized_card.namestring

Cardholder name

payment_method.googlepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.idstring

Unique identifier of the PaymentMethod attached for subsequent payments. Only provided when type is card.

payment_method.kakaopayobject

KAKAOPAY information. Only provided when type is kakaopay.

payment_method.kakaopay.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.kakaopay.os_typestring

ios, android

payment_method.kakaopay.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.kakaopay.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.paytoobject

Payto information. Only provided when type is payto.

payment_method.payto.bsbobject
payment_method.payto.bsb.account_namestring

The account name.

payment_method.payto.bsb.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.payto.bsb.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.payto.pay_idobject

The PayID of the recipient.

payment_method.payto.pay_id.australian_business_numberstring

11 digits number to identify the PayId. Required when phone_number, owner_email, and organisation_id is null.

payment_method.payto.pay_id.organisation_idstring

The organisation id of the recipient. The PayID must be in the format of payid:airwallex.com.

payment_method.payto.pay_id.owner_emailstring

owner email to identify the PayId. Required when phone_number, australian_business_number, and organisation_id is null.

payment_method.payto.pay_id.phone_numberstring

The phone number of the PayId. Required when owner_email, australian_business_number, and organisation_id is null.

payment_method.sepa_direct_debitobject

SEPA Direct Debit information. Only provided when type is sepa_direct_debit.

payment_method.sepa_direct_debit.addressobject

Account holder's address.

payment_method.sepa_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes.

payment_method.sepa_direct_debit.address.postcodestring

Postcode of the address.

payment_method.sepa_direct_debit.address.streetstring

street of the address.

payment_method.sepa_direct_debit.address.townstring

town of the address.

payment_method.sepa_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.sepa_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.sepa_direct_debit.country_codestring

The 2-letter ISO country/region code from which the consumer will be paying.

payment_method.sepa_direct_debit.ibanstring

15–34 characters to identify a bank account.

payment_method.sepa_direct_debit.micro_debitobject

The result of micro debit.

payment_method.sepa_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.sepa_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.sepa_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.sepa_direct_debit.owner_emailstring

Email of the account holder.

payment_method.sepa_direct_debit.owner_namestring

Name of the account holder.

payment_method.typestring

Type of the PaymentMethod. One of card, googlepay, applepay, alipayhk, truemoney, gcash, dana, kakaopay, tng, alipaycn, rabbit_line_pay, wechatpay, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

request_idstring

Unique request identifier specified by the merchant

statusstring
  • REQUIRES_PAYMENT_METHOD: Populate payment_method when calling verify.
    • This value is returned if payment_method is either null, or the payment_method has failed during verify, and a different payment_method should be provided.
  • REQUIRES_CUSTOMER_ACTION: Pending customer action, see next_action for details.
  • PENDING: The mandate of the PaymentConsent has been submitted. It only occurs when payment method type is bacs_direct_debit. You need to wait for the final result. The status will become DISABLED if the mandate is rejected or VERIFIED if the mandate is accepted.
  • PAUSED: The active mandate of the PaymentConsent has been paused. The PaymentConsent can be paused only when the previous status was VERIFIED. It only occurs when payment method type is payto. The status will become DISABLED if the mandate is canceled or VERIFIED if the mandate is resumed.
  • VERIFIED: The PaymentConsent has been verified and it can be used for subsequent payments.
  • DISABLED: The PaymentConsent is disabled. You cannot verify it again.
terms_of_useobject

The terms of this consent.

terms_of_use.billing_cycle_charge_dayinteger

The granularity per billing cycle. Required when payment_schedule.period_unit is WEEK, MONTH, or YEAR. (e.g. charge_day_per_billing_cycle= 5, payment_schedule.period_unit = MONTH, payment_schedule.period = 1 if collect payment on the 5th of each month).

terms_of_use.end_datestring

End date to expect payment request.

terms_of_use.first_payment_amountnumber

The first payment. It could include the costs associated with the first debited amount.Optional if payment agreement type is VARIABLE.

terms_of_use.fixed_payment_amountnumber

The fixed payment amount that can be charged for a single payment.Required if payment agreement type is FIXED.

terms_of_use.max_payment_amountnumber

The maximum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.min_payment_amountnumber

The minimum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.payment_amount_typestring

The agreed type of amounts for subsequent payment. Should be one of FIXED, VARIABLE.

  • FIXED: payment amount is fixed. A specific amount is required.
  • VARIABLE: payment amount is variable at each collection. A max limit is recommended.
terms_of_use.payment_currencystring

The currency of this payment. Please refer to supported currencies .

terms_of_use.payment_scheduleobject
terms_of_use.payment_schedule.periodinteger

The number of period units between billing cycles. For example, the payment cycle is one month if period=1 and period_unit=MONTH. Required when merchant_trigger_reason = scheduled

terms_of_use.payment_schedule.period_unitstring

Specifies billing frequency. One of DAY, WEEK, MONTH, and YEAR. Required when merchant_trigger_reason = scheduled

terms_of_use.start_datestring

Start date to expect payment request.

terms_of_use.total_billing_cyclesinteger

The total number of billing cycles. For example, the mandate will last for 1 year if total_billing_cycles=12, payment_schedule.period=1 and payment_schedule.period_unit=MONTH if the merchant_trigger_reason is scheduled. Merchant can bill customers 12 times when total_billing_cycles=12 if the merchant_trigger_reason is unscheduledThe mandate will continue indefinitely if total_billing_cycles is null.

updated_atstring

Time at which this PaymentConsent was last updated

Errors
Error statusDescription
400

Bad Request. Possible error codes: validation_error, duplicate_request, invalid_status_for_operation, provider_declined, provider_unavailable

401

Unauthorized. Possible error codes: unauthorized

403

Forbidden

404

Not Found. Possible error codes: not_found(invalid url), resource_not_found

500

Server Error. Possible error codes: internal_error

POST /api/v1/pa/payment_consents/{id}/disable
$curl --request POST \
> --url 'https://api-demo.airwallex.com/api/v1/pa/payment_consents/cst_hkpdsjz1vg0x1uscdj/disable' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "request_id": "43c4e930-1130-43ae-bfb2-b60cbfe1297f"
>}'
Response (200 OK)
1{
2 "id": "cst_hkpdsjz1vg0x1uscdj",
3 "request_id": "43c4e930-1130-43ae-bfb2-b60cbfe1297f",
4 "customer_id": "cus_hkpdsjz4vg1x3uscdj",
5 "status": "DISABLED",
6 "next_triggered_by": "merchant",
7 "merchant_trigger_reason": "scheduled",
8 "initial_payment_intent_id": "int_hkpdskz7vg1xc7uscdj",
9 "payment_method": {
10 "type": "card",
11 "id": "mtd_hkpds1z4zh00i2eb1h",
12 "card": {
13 "expiry_month": "03",
14 "expiry_year": "2030",
15 "name": "John Doe",
16 "bin": "403550",
17 "last4": "0008",
18 "brand": "visa",
19 "issuer_country_code": "US",
20 "card_type": "CREDIT",
21 "fingerprint": "AKvN4TqxI04SNFZ+oYRXaECtDA==",
22 "billing": {
23 "first_name": "John",
24 "last_name": "Doe",
25 "email": "[email protected]",
26 "phone_number": "+1 1234567890",
27 "address": {
28 "country_code": "US",
29 "state": "CA",
30 "city": "San Francisco",
31 "street": "1460 Mission St.#02W101",
32 "postcode": "94103"
33 }
34 },
35 "issuer_name": "JPMorgan Chase",
36 "is_commercial": false,
37 "number_type": "PAN"
38 }
39 },
40 "metadata": {
41 "amount": "10",
42 "subscriptionNumber": "2025040700000001"
43 },
44 "mandate": {},
45 "created_at": "2021-08-31T06:57:15+00:00",
46 "updated_at": "2021-08-31T07:01:15+00:00"
47}
Was this section helpful?

Retrieve a PaymentConsent

GET /api/v1/pa/payment_consents/{id}

Retrieve a PaymentConsent by unique identifier

Parameters
idrequiredstring

PaymentConsent unique identifier

Response body - 200 OK
client_secretstring

PaymentConsent's client secret for browser or app. Only returned by PaymentConsent create API.

The provided client_secret is valid for 60 minutes

connected_account_idstring

Account identifier of the connected account.

created_atstring

Time at which this PaymentConsent was created

customer_idstring

Unique identifier from Airwallex of the customer who will make the payment with this PaymentConsent

disable_reasonstring

Disable reason. Only applicable when status is DISABLED

failure_reasonobject

Verification failure reason. Only applicable when status is REQUIRES_PAYMENT_METHOD and REQUIRES_CUSTOMER_ACTION.

failure_reason.codestring

The failure code returned by Airwallex

failure_reason.detailsobject

The verification failure details.

failure_reason.messagestring

Consent verification failed. Please retry the consent verification or select a different payment method.

idstring

Unique identifier of this PaymentConsent

initial_payment_intent_idstring

Unique identifier of the initial PaymentIntent confirmed with this PaymentConsent

mandateobject

An authorization from shopper to merchant to debit payments from their bank account.

mandate.accepted_atstring

The time at which shopper accepts the mandate.

mandate.bacs_direct_debitobject

BACS Direct Debit mandate information.

mandate.bacs_direct_debit.ddi_referencestring

Reference of the Direct Debit instrument.

mandate.bacs_direct_debit.service_user_numberstring

A unique six-digit number used to identify a business paying or receiving money through a Bacs Direct Debit transaction.

mandate.sepa_direct_debitobject

SEPA Direct Debit mandate information.

mandate.sepa_direct_debit.creditor_identifierstring

A unique number used to identify a business paying or receiving money through a SEPA Direct Debit transaction.

mandate.sepa_direct_debit.referencestring

Reference of the Direct Debit mandate.

mandate.typestring

The payment method type of the mandate. Can be ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

mandate.versionstring

The version of the mandate.

merchant_trigger_reasonstring

Only applicable when next_triggered_by is merchant. One of scheduled, unscheduled, installments.

metadataobject

A set of key-value pairs that can be attached to this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

next_actionobject

Next action for merchant

next_action.content_typestring

The content type of the request when method is POST. If not provided, the content type should be application/json

next_action.dataobject

The additional data that can be used to complete this action

next_action.emailstring

Email address to send the MicroDeposit verification link. Appears if type is notify_micro_deposits

next_action.fallback_urlstring

Fallback url to redirect the shopper to the web page if the redirection to the app fails. Returned only if the flow is mobile_app.

next_action.methodstring

The redirect method if the action type is redirect. One of GET, POST

next_action.micro_deposit_countinteger

Number of funds that will be deposited into shopper account. Appears if type is notify_micro_deposits

next_action.package_namestring

Android package name. Returned only if the flow is mobile_app and the os_type is android.

next_action.qrcodestring

QR Code text representation if the action type is redirect, only applicable to wechatpay.

next_action.remaining_attemptsinteger

the remaining attempts to verify micro_deposit or retry micro_debit.

next_action.stagestring

Stage of the request flow

next_action.typestring

Type of next action can be either redirect, redirect_iframe, notify_micro_deposits or retry_micro_debit

next_action.urlstring

The redirect url

next_triggered_bystring

The party to trigger subsequent payments. One of merchant, customer

payment_methodobject

PaymentMethod information attached for subsequent payments

payment_method.ach_direct_debitobject

ACH Direct Debit information. Only provided when type is ach_direct_debit.

payment_method.ach_direct_debit.aba_routing_numberstring

9-digit number to identify a bank in the US.

payment_method.ach_direct_debit.account_numberstring

4-17 digits number to identify a bank account in the US.

payment_method.ach_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.ach_direct_debit.micro_debitobject

The result of micro debit.

payment_method.ach_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.ach_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.ach_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.ach_direct_debit.owner_emailstring

Email of the account holder.

payment_method.ach_direct_debit.owner_namestring

Name of the account holder.

payment_method.alipaycnobject

Alipay CN information. Only provided when type is alipaycn.

payment_method.alipaycn.flowstring

One of qrcode, mobile_web, mobile_app, mini_program

payment_method.alipaycn.os_typestring

ios, android

payment_method.alipaycn.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipaycn.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.alipayhkobject

Alipay HK information. Only provided when type is alipayhk.

payment_method.alipayhk.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.alipayhk.os_typestring

ios, android

payment_method.alipayhk.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.alipayhk.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.applepayobject

Apple pay information. Only provided when type is applepay.

payment_method.applepay.billingobject

Billing information

payment_method.applepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.applepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.applepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.applepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.applepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.applepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.applepay.billing.emailstring

Email address of the customer

payment_method.applepay.billing.first_namestring

First name of the customer

payment_method.applepay.billing.last_namestring

Last name of the customer

payment_method.applepay.billing.phone_numberstring

Phone number of the customer

payment_method.applepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.applepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.applepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.applepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.applepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.applepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.applepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.applepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.applepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.applepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.applepay.tokenized_card.binstring

Bank identify number of this card

payment_method.applepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.applepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.applepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.applepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.applepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.applepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.applepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.applepay.tokenized_card.issuer_namestring

Issuer name

payment_method.applepay.tokenized_card.last4string

Last four digits of the card number

payment_method.applepay.tokenized_card.namestring

Cardholder name

payment_method.applepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.bacs_direct_debitobject

BACS Direct Debit information. Only provided when type is bacs_direct_debit.

payment_method.bacs_direct_debit.account_numberstring

8 digits number to identify a bank account in the UK.

payment_method.bacs_direct_debit.addressobject

Account holder's address.

payment_method.bacs_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes. One of GB, US. Default to GB if not provided

payment_method.bacs_direct_debit.address.line1string

House number and street name, e.g., 777 Casino Drive

payment_method.bacs_direct_debit.address.line2string

Locality name, e.g., Apartment 123

payment_method.bacs_direct_debit.address.postcodestring

Postcode of the address.

payment_method.bacs_direct_debit.address.statestring

State or province of the address. Should be provided if country code is US. Use the two-character ISO3166-2:US state code.

payment_method.bacs_direct_debit.address.townstring

Post town.

payment_method.bacs_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.bacs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.bacs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.bacs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.bacs_direct_debit.owner_emailstring

Email of the account holder.

payment_method.bacs_direct_debit.owner_namestring

Name of the account holder.

payment_method.bacs_direct_debit.sort_codestring

6-digit number to identify a bank in the UK.

payment_method.becs_direct_debitobject

BECS Direct Debit information. Only provided when type is becs_direct_debit.

payment_method.becs_direct_debit.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.becs_direct_debit.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.becs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.becs_direct_debit.micro_debitobject

The result of micro debit.

payment_method.becs_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.becs_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.becs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.becs_direct_debit.owner_emailstring

Account holder's email.

payment_method.becs_direct_debit.owner_namestring

Account holder name.

payment_method.cardobject

Card information. Only provided when type is card.

payment_method.card.additional_infoobject

Additional information of external network token requestor. Would return when number_type is EXTERNAL_NETWORK_TOKEN

payment_method.card.additional_info.merchant_verification_valuestring

Merchant Verification Value (Provided by VISA during onboarding) or MasterCard Assigned ID (Provided by MasterCard during onboarding)

payment_method.card.additional_info.token_requestor_idstring

Token requestor unique identifier (Provided by card schemes during onboarding)

payment_method.card.billingobject

Billing information

payment_method.card.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.card.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.card.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.card.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.card.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.card.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.card.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.card.billing.emailstring

Email address of the customer

payment_method.card.billing.first_namestring

First name of the customer

payment_method.card.billing.last_namestring

Last name of the customer

payment_method.card.billing.phone_numberstring

Phone number of the customer

payment_method.card.binstring

Bank identify number of this card

payment_method.card.brandstring

Brand of the card. One of mastercard, visa, union pay, american express, jcb, discover, diners club international.

payment_method.card.card_typestring

Funding type of the card

payment_method.card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.card.fingerprintstring

Fingerprint of the card

payment_method.card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.card.issuer_country_codestring

Country code of the card issuer

payment_method.card.issuer_namestring

Issuer name

payment_method.card.korean_cardobject

Information for Korean Card

payment_method.card.korean_card.business_numberstring

A 10-digit business number of the company.

payment_method.card.korean_card.date_of_birthstring

A 6-digit date of birth in the format of YYMMDD.

payment_method.card.korean_card.password_first2string

Card password first 2 digits.

payment_method.card.last4string

Last four digits of the card number

payment_method.card.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.card.namestring

Card holder name

payment_method.card.number_typestring

Type of the number. One of PAN, EXTERNAL_NETWORK_TOKEN, AIRWALLEX_NETWORK_TOKEN.

payment_method.danaobject

DANA information. Only provided when type is dana.

payment_method.dana.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.dana.os_typestring

ios, android

payment_method.dana.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.dana.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.eft_direct_debitobject

EFT Direct Debit information. Only provided when type is eft_direct_debit.

payment_method.eft_direct_debit.account_numberstring

4-17 digits number to identify a bank account in Canada.

payment_method.eft_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.eft_direct_debit.institution_numberstring

3-digit number to identify a bank institution in Canada.

payment_method.eft_direct_debit.micro_debitobject

The result of micro debit.

payment_method.eft_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.eft_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.eft_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.eft_direct_debit.owner_emailstring

Email of the account holder.

payment_method.eft_direct_debit.owner_namestring

Name of the account holder.

payment_method.eft_direct_debit.transit_numberstring

Identify a bank branch transit in Canada.

payment_method.gcashobject

GCASH information. Only provided when type is gcash.

payment_method.gcash.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.gcash.os_typestring

ios, android

payment_method.gcash.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.gcash.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.googlepayobject

Google pay information. Only provided when type is googlepay.

payment_method.googlepay.billingobject

Billing information

payment_method.googlepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

payment_method.googlepay.billing.address.citystring

City of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

payment_method.googlepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

payment_method.googlepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

payment_method.googlepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

payment_method.googlepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

payment_method.googlepay.billing.emailstring

Email address of the customer

payment_method.googlepay.billing.first_namestring

First name of the customer

payment_method.googlepay.billing.last_namestring

Last name of the customer

payment_method.googlepay.billing.phone_numberstring

Phone number of the customer

payment_method.googlepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

payment_method.googlepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

payment_method.googlepay.tokenized_cardobject

Payment data with the tokenized card details.

payment_method.googlepay.tokenized_card.authentication_methodobject

Authentication method

payment_method.googlepay.tokenized_card.authentication_method.emvobject

EMV data

payment_method.googlepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

payment_method.googlepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

payment_method.googlepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

payment_method.googlepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

payment_method.googlepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

payment_method.googlepay.tokenized_card.binstring

Bank identify number of this card

payment_method.googlepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

payment_method.googlepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

payment_method.googlepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

payment_method.googlepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

payment_method.googlepay.tokenized_card.fingerprintstring

Fingerprint of the card

payment_method.googlepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

payment_method.googlepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

payment_method.googlepay.tokenized_card.issuer_namestring

Issuer name

payment_method.googlepay.tokenized_card.last4string

Last four digits of the card number

payment_method.googlepay.tokenized_card.namestring

Cardholder name

payment_method.googlepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

payment_method.idstring

Unique identifier of the PaymentMethod attached for subsequent payments. Only provided when type is card.

payment_method.kakaopayobject

KAKAOPAY information. Only provided when type is kakaopay.

payment_method.kakaopay.flowstring

One of qrcode, mobile_web, mobile_app

payment_method.kakaopay.os_typestring

ios, android

payment_method.kakaopay.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

payment_method.kakaopay.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

payment_method.paytoobject

Payto information. Only provided when type is payto.

payment_method.payto.bsbobject
payment_method.payto.bsb.account_namestring

The account name.

payment_method.payto.bsb.account_numberstring

4-9 digits number to identify a bank account in Australia.

payment_method.payto.bsb.bsb_numberstring

6-digit Bank-State-Branch number.

payment_method.payto.pay_idobject

The PayID of the recipient.

payment_method.payto.pay_id.australian_business_numberstring

11 digits number to identify the PayId. Required when phone_number, owner_email, and organisation_id is null.

payment_method.payto.pay_id.organisation_idstring

The organisation id of the recipient. The PayID must be in the format of payid:airwallex.com.

payment_method.payto.pay_id.owner_emailstring

owner email to identify the PayId. Required when phone_number, australian_business_number, and organisation_id is null.

payment_method.payto.pay_id.phone_numberstring

The phone number of the PayId. Required when owner_email, australian_business_number, and organisation_id is null.

payment_method.sepa_direct_debitobject

SEPA Direct Debit information. Only provided when type is sepa_direct_debit.

payment_method.sepa_direct_debit.addressobject

Account holder's address.

payment_method.sepa_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes.

payment_method.sepa_direct_debit.address.postcodestring

Postcode of the address.

payment_method.sepa_direct_debit.address.streetstring

street of the address.

payment_method.sepa_direct_debit.address.townstring

town of the address.

payment_method.sepa_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

payment_method.sepa_direct_debit.business_accountboolean

Indicate whether the account is a business account.

payment_method.sepa_direct_debit.country_codestring

The 2-letter ISO country/region code from which the consumer will be paying.

payment_method.sepa_direct_debit.ibanstring

15–34 characters to identify a bank account.

payment_method.sepa_direct_debit.micro_debitobject

The result of micro debit.

payment_method.sepa_direct_debit.micro_debit.statusstring

The status of micro_debit.

payment_method.sepa_direct_debit.micro_depositobject

The result of micro deposit.

payment_method.sepa_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

payment_method.sepa_direct_debit.owner_emailstring

Email of the account holder.

payment_method.sepa_direct_debit.owner_namestring

Name of the account holder.

payment_method.typestring

Type of the PaymentMethod. One of card, googlepay, applepay, alipayhk, truemoney, gcash, dana, kakaopay, tng, alipaycn, rabbit_line_pay, wechatpay, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

request_idstring

Unique request identifier specified by the merchant

statusstring
  • REQUIRES_PAYMENT_METHOD: Populate payment_method when calling verify.
    • This value is returned if payment_method is either null, or the payment_method has failed during verify, and a different payment_method should be provided.
  • REQUIRES_CUSTOMER_ACTION: Pending customer action, see next_action for details.
  • PENDING: The mandate of the PaymentConsent has been submitted. It only occurs when payment method type is bacs_direct_debit. You need to wait for the final result. The status will become DISABLED if the mandate is rejected or VERIFIED if the mandate is accepted.
  • PAUSED: The active mandate of the PaymentConsent has been paused. The PaymentConsent can be paused only when the previous status was VERIFIED. It only occurs when payment method type is payto. The status will become DISABLED if the mandate is canceled or VERIFIED if the mandate is resumed.
  • VERIFIED: The PaymentConsent has been verified and it can be used for subsequent payments.
  • DISABLED: The PaymentConsent is disabled. You cannot verify it again.
terms_of_useobject

The terms of this consent.

terms_of_use.billing_cycle_charge_dayinteger

The granularity per billing cycle. Required when payment_schedule.period_unit is WEEK, MONTH, or YEAR. (e.g. charge_day_per_billing_cycle= 5, payment_schedule.period_unit = MONTH, payment_schedule.period = 1 if collect payment on the 5th of each month).

terms_of_use.end_datestring

End date to expect payment request.

terms_of_use.first_payment_amountnumber

The first payment. It could include the costs associated with the first debited amount.Optional if payment agreement type is VARIABLE.

terms_of_use.fixed_payment_amountnumber

The fixed payment amount that can be charged for a single payment.Required if payment agreement type is FIXED.

terms_of_use.max_payment_amountnumber

The maximum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.min_payment_amountnumber

The minimum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

terms_of_use.payment_amount_typestring

The agreed type of amounts for subsequent payment. Should be one of FIXED, VARIABLE.

  • FIXED: payment amount is fixed. A specific amount is required.
  • VARIABLE: payment amount is variable at each collection. A max limit is recommended.
terms_of_use.payment_currencystring

The currency of this payment. Please refer to supported currencies .

terms_of_use.payment_scheduleobject
terms_of_use.payment_schedule.periodinteger

The number of period units between billing cycles. For example, the payment cycle is one month if period=1 and period_unit=MONTH. Required when merchant_trigger_reason = scheduled

terms_of_use.payment_schedule.period_unitstring

Specifies billing frequency. One of DAY, WEEK, MONTH, and YEAR. Required when merchant_trigger_reason = scheduled

terms_of_use.start_datestring

Start date to expect payment request.

terms_of_use.total_billing_cyclesinteger

The total number of billing cycles. For example, the mandate will last for 1 year if total_billing_cycles=12, payment_schedule.period=1 and payment_schedule.period_unit=MONTH if the merchant_trigger_reason is scheduled. Merchant can bill customers 12 times when total_billing_cycles=12 if the merchant_trigger_reason is unscheduledThe mandate will continue indefinitely if total_billing_cycles is null.

updated_atstring

Time at which this PaymentConsent was last updated

Errors
Error statusDescription
400

Bad Request. Possible error codes: validation_error

401

Unauthorized. Possible error codes: unauthorized

403

Forbidden

404

Not Found. Possible error codes: not_found(invalid url), resource_not_found

500

Server Error. Possible error codes: internal_error

GET /api/v1/pa/payment_consents/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/pa/payment_consents/cst_hkpdsjz1vg0x1uscdj' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "id": "cst_hkpdsjz1vg0x1uscdj",
3 "request_id": "cf682fd8-ce4b-483f-a003-f2533d0a58d2",
4 "customer_id": "cus_hkpdsjz4vg1x3uscdj",
5 "status": "REQUIRES_CUSTOMER_ACTION",
6 "next_triggered_by": "merchant",
7 "merchant_trigger_reason": "scheduled",
8 "initial_payment_intent_id": "int_hkpdskz7vg1xc7uscdj",
9 "payment_method": {
10 "type": "card",
11 "id": "mtd_hkpds1z4zh00i2eb1h",
12 "card": {
13 "expiry_month": "03",
14 "expiry_year": "2030",
15 "name": "John Doe",
16 "bin": "403550",
17 "last4": "0008",
18 "brand": "visa",
19 "issuer_country_code": "US",
20 "card_type": "CREDIT",
21 "fingerprint": "AKvN4TqxI04SNFZ+oYRXaECtDA==",
22 "billing": {
23 "first_name": "John",
24 "last_name": "Doe",
25 "email": "[email protected]",
26 "phone_number": "+1 1234567890",
27 "address": {
28 "country_code": "US",
29 "state": "CA",
30 "city": "San Francisco",
31 "street": "1460 Mission St.#02W101",
32 "postcode": "94103"
33 }
34 },
35 "issuer_name": "JPMorgan Chase",
36 "is_commercial": false,
37 "number_type": "PAN"
38 }
39 },
40 "metadata": {
41 "amount": "10",
42 "subscriptionNumber": "2025040700000001"
43 },
44 "mandate": {},
45 "next_action": {
46 "type": "redirect_iframe",
47 "method": "GET",
48 "url": "https://www.example.com/redirect",
49 "stage": "WAITING_DEVICE_DATA_COLLECTION"
50 },
51 "created_at": "2021-08-31T06:57:15+00:00",
52 "updated_at": "2021-08-31T07:01:15+00:00"
53}
Was this section helpful?

Get list of PaymentConsents

GET /api/v1/pa/payment_consents

Retrieve list of PaymentConsents.

Parameters
customer_idstring

The unique identifier of a customer

from_created_atstring

The start time of created_at in ISO8601 format. The timestamp must include an explicit timezone (e.g. Z or -04:00).

merchant_trigger_reasonstring

One of scheduled, unscheduled

next_triggered_bystring

One of merchant, customer

page_numinteger

Page number starting from 0

page_sizeinteger

Number of PaymentConsents to be listed per page. Default value is 10. Maximum is 1000. The value greater than the maximum will be capped to the maximum.

payment_method_idstring

The unique identifier of a PaymentMethod

statusstring

Status of PaymentConsent

to_created_atstring

The end time of created_at in ISO8601 format. The timestamp must include an explicit timezone (e.g. Z or -04:00).

Response body - 200 OK
has_moreboolean

A flag which identifies whether there are more results.

itemsarray

List items

items.client_secretstring

PaymentConsent's client secret for browser or app. Only returned by PaymentConsent create API.

The provided client_secret is valid for 60 minutes

items.connected_account_idstring

Account identifier of the connected account.

items.created_atstring

Time at which this PaymentConsent was created

items.customer_idstring

Unique identifier from Airwallex of the customer who will make the payment with this PaymentConsent

items.disable_reasonstring

Disable reason. Only applicable when status is DISABLED

items.failure_reasonobject

Verification failure reason. Only applicable when status is REQUIRES_PAYMENT_METHOD and REQUIRES_CUSTOMER_ACTION.

items.failure_reason.codestring

The failure code returned by Airwallex

items.failure_reason.detailsobject

The verification failure details.

items.failure_reason.messagestring

Consent verification failed. Please retry the consent verification or select a different payment method.

items.idstring

Unique identifier of this PaymentConsent

items.initial_payment_intent_idstring

Unique identifier of the initial PaymentIntent confirmed with this PaymentConsent

items.mandateobject

An authorization from shopper to merchant to debit payments from their bank account.

items.mandate.accepted_atstring

The time at which shopper accepts the mandate.

items.mandate.bacs_direct_debitobject

BACS Direct Debit mandate information.

items.mandate.bacs_direct_debit.ddi_referencestring

Reference of the Direct Debit instrument.

items.mandate.bacs_direct_debit.service_user_numberstring

A unique six-digit number used to identify a business paying or receiving money through a Bacs Direct Debit transaction.

items.mandate.sepa_direct_debitobject

SEPA Direct Debit mandate information.

items.mandate.sepa_direct_debit.creditor_identifierstring

A unique number used to identify a business paying or receiving money through a SEPA Direct Debit transaction.

items.mandate.sepa_direct_debit.referencestring

Reference of the Direct Debit mandate.

items.mandate.typestring

The payment method type of the mandate. Can be ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

items.mandate.versionstring

The version of the mandate.

items.merchant_trigger_reasonstring

Only applicable when next_triggered_by is merchant. One of scheduled, unscheduled, installments.

items.metadataobject

A set of key-value pairs that can be attached to this PaymentConsent. You can specify up to 50 keys with key names up to 50 characters long and values up to 500 characters long.

items.next_actionobject

Next action for merchant

items.next_action.content_typestring

The content type of the request when method is POST. If not provided, the content type should be application/json

items.next_action.dataobject

The additional data that can be used to complete this action

items.next_action.emailstring

Email address to send the MicroDeposit verification link. Appears if type is notify_micro_deposits

items.next_action.fallback_urlstring

Fallback url to redirect the shopper to the web page if the redirection to the app fails. Returned only if the flow is mobile_app.

items.next_action.methodstring

The redirect method if the action type is redirect. One of GET, POST

items.next_action.micro_deposit_countinteger

Number of funds that will be deposited into shopper account. Appears if type is notify_micro_deposits

items.next_action.package_namestring

Android package name. Returned only if the flow is mobile_app and the os_type is android.

items.next_action.qrcodestring

QR Code text representation if the action type is redirect, only applicable to wechatpay.

items.next_action.remaining_attemptsinteger

the remaining attempts to verify micro_deposit or retry micro_debit.

items.next_action.stagestring

Stage of the request flow

items.next_action.typestring

Type of next action can be either redirect, redirect_iframe, notify_micro_deposits or retry_micro_debit

items.next_action.urlstring

The redirect url

items.next_triggered_bystring

The party to trigger subsequent payments. One of merchant, customer

items.payment_methodobject

PaymentMethod information attached for subsequent payments

items.payment_method.ach_direct_debitobject

ACH Direct Debit information. Only provided when type is ach_direct_debit.

items.payment_method.ach_direct_debit.aba_routing_numberstring

9-digit number to identify a bank in the US.

items.payment_method.ach_direct_debit.account_numberstring

4-17 digits number to identify a bank account in the US.

items.payment_method.ach_direct_debit.business_accountboolean

Indicate whether the account is a business account.

items.payment_method.ach_direct_debit.micro_debitobject

The result of micro debit.

items.payment_method.ach_direct_debit.micro_debit.statusstring

The status of micro_debit.

items.payment_method.ach_direct_debit.micro_depositobject

The result of micro deposit.

items.payment_method.ach_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

items.payment_method.ach_direct_debit.owner_emailstring

Email of the account holder.

items.payment_method.ach_direct_debit.owner_namestring

Name of the account holder.

items.payment_method.alipaycnobject

Alipay CN information. Only provided when type is alipaycn.

items.payment_method.alipaycn.flowstring

One of qrcode, mobile_web, mobile_app, mini_program

items.payment_method.alipaycn.os_typestring

ios, android

items.payment_method.alipaycn.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

items.payment_method.alipaycn.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

items.payment_method.alipayhkobject

Alipay HK information. Only provided when type is alipayhk.

items.payment_method.alipayhk.flowstring

One of qrcode, mobile_web, mobile_app

items.payment_method.alipayhk.os_typestring

ios, android

items.payment_method.alipayhk.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

items.payment_method.alipayhk.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

items.payment_method.applepayobject

Apple pay information. Only provided when type is applepay.

items.payment_method.applepay.billingobject

Billing information

items.payment_method.applepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

items.payment_method.applepay.billing.address.citystring

City of the address. Maximum of 100 characters.

items.payment_method.applepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

items.payment_method.applepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

items.payment_method.applepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

items.payment_method.applepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

items.payment_method.applepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

items.payment_method.applepay.billing.emailstring

Email address of the customer

items.payment_method.applepay.billing.first_namestring

First name of the customer

items.payment_method.applepay.billing.last_namestring

Last name of the customer

items.payment_method.applepay.billing.phone_numberstring

Phone number of the customer

items.payment_method.applepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

items.payment_method.applepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

items.payment_method.applepay.tokenized_cardobject

Payment data with the tokenized card details.

items.payment_method.applepay.tokenized_card.authentication_methodobject

Authentication method

items.payment_method.applepay.tokenized_card.authentication_method.emvobject

EMV data

items.payment_method.applepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

items.payment_method.applepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

items.payment_method.applepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

items.payment_method.applepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

items.payment_method.applepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

items.payment_method.applepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

items.payment_method.applepay.tokenized_card.binstring

Bank identify number of this card

items.payment_method.applepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

items.payment_method.applepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

items.payment_method.applepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

items.payment_method.applepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

items.payment_method.applepay.tokenized_card.fingerprintstring

Fingerprint of the card

items.payment_method.applepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

items.payment_method.applepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

items.payment_method.applepay.tokenized_card.issuer_namestring

Issuer name

items.payment_method.applepay.tokenized_card.last4string

Last four digits of the card number

items.payment_method.applepay.tokenized_card.namestring

Cardholder name

items.payment_method.applepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

items.payment_method.bacs_direct_debitobject

BACS Direct Debit information. Only provided when type is bacs_direct_debit.

items.payment_method.bacs_direct_debit.account_numberstring

8 digits number to identify a bank account in the UK.

items.payment_method.bacs_direct_debit.addressobject

Account holder's address.

items.payment_method.bacs_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes. One of GB, US. Default to GB if not provided

items.payment_method.bacs_direct_debit.address.line1string

House number and street name, e.g., 777 Casino Drive

items.payment_method.bacs_direct_debit.address.line2string

Locality name, e.g., Apartment 123

items.payment_method.bacs_direct_debit.address.postcodestring

Postcode of the address.

items.payment_method.bacs_direct_debit.address.statestring

State or province of the address. Should be provided if country code is US. Use the two-character ISO3166-2:US state code.

items.payment_method.bacs_direct_debit.address.townstring

Post town.

items.payment_method.bacs_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

items.payment_method.bacs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

items.payment_method.bacs_direct_debit.micro_depositobject

The result of micro deposit.

items.payment_method.bacs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

items.payment_method.bacs_direct_debit.owner_emailstring

Email of the account holder.

items.payment_method.bacs_direct_debit.owner_namestring

Name of the account holder.

items.payment_method.bacs_direct_debit.sort_codestring

6-digit number to identify a bank in the UK.

items.payment_method.becs_direct_debitobject

BECS Direct Debit information. Only provided when type is becs_direct_debit.

items.payment_method.becs_direct_debit.account_numberstring

4-9 digits number to identify a bank account in Australia.

items.payment_method.becs_direct_debit.bsb_numberstring

6-digit Bank-State-Branch number.

items.payment_method.becs_direct_debit.business_accountboolean

Indicate whether the account is a business account.

items.payment_method.becs_direct_debit.micro_debitobject

The result of micro debit.

items.payment_method.becs_direct_debit.micro_debit.statusstring

The status of micro_debit.

items.payment_method.becs_direct_debit.micro_depositobject

The result of micro deposit.

items.payment_method.becs_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

items.payment_method.becs_direct_debit.owner_emailstring

Account holder's email.

items.payment_method.becs_direct_debit.owner_namestring

Account holder name.

items.payment_method.cardobject

Card information. Only provided when type is card.

items.payment_method.card.additional_infoobject

Additional information of external network token requestor. Would return when number_type is EXTERNAL_NETWORK_TOKEN

items.payment_method.card.additional_info.merchant_verification_valuestring

Merchant Verification Value (Provided by VISA during onboarding) or MasterCard Assigned ID (Provided by MasterCard during onboarding)

items.payment_method.card.additional_info.token_requestor_idstring

Token requestor unique identifier (Provided by card schemes during onboarding)

items.payment_method.card.billingobject

Billing information

items.payment_method.card.billing.addressobject

The billing address as it appears on the credit card issuer’s records

items.payment_method.card.billing.address.citystring

City of the address. Maximum of 100 characters.

items.payment_method.card.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

items.payment_method.card.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

items.payment_method.card.billing.address.statestring

State or province of the address. Maximum of 100 characters.

items.payment_method.card.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

items.payment_method.card.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

items.payment_method.card.billing.emailstring

Email address of the customer

items.payment_method.card.billing.first_namestring

First name of the customer

items.payment_method.card.billing.last_namestring

Last name of the customer

items.payment_method.card.billing.phone_numberstring

Phone number of the customer

items.payment_method.card.binstring

Bank identify number of this card

items.payment_method.card.brandstring

Brand of the card. One of mastercard, visa, union pay, american express, jcb, discover, diners club international.

items.payment_method.card.card_typestring

Funding type of the card

items.payment_method.card.expiry_monthstring

Two digit number representing the card’s expiration month

items.payment_method.card.expiry_yearstring

Four digit number representing the card’s expiration year

items.payment_method.card.fingerprintstring

Fingerprint of the card

items.payment_method.card.is_commercialboolean

A boolean field referring whether the card is commercial or not

items.payment_method.card.issuer_country_codestring

Country code of the card issuer

items.payment_method.card.issuer_namestring

Issuer name

items.payment_method.card.korean_cardobject

Information for Korean Card

items.payment_method.card.korean_card.business_numberstring

A 10-digit business number of the company.

items.payment_method.card.korean_card.date_of_birthstring

A 6-digit date of birth in the format of YYMMDD.

items.payment_method.card.korean_card.password_first2string

Card password first 2 digits.

items.payment_method.card.last4string

Last four digits of the card number

items.payment_method.card.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

items.payment_method.card.namestring

Card holder name

items.payment_method.card.number_typestring

Type of the number. One of PAN, EXTERNAL_NETWORK_TOKEN, AIRWALLEX_NETWORK_TOKEN.

items.payment_method.danaobject

DANA information. Only provided when type is dana.

items.payment_method.dana.flowstring

One of qrcode, mobile_web, mobile_app

items.payment_method.dana.os_typestring

ios, android

items.payment_method.dana.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

items.payment_method.dana.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

items.payment_method.eft_direct_debitobject

EFT Direct Debit information. Only provided when type is eft_direct_debit.

items.payment_method.eft_direct_debit.account_numberstring

4-17 digits number to identify a bank account in Canada.

items.payment_method.eft_direct_debit.business_accountboolean

Indicate whether the account is a business account.

items.payment_method.eft_direct_debit.institution_numberstring

3-digit number to identify a bank institution in Canada.

items.payment_method.eft_direct_debit.micro_debitobject

The result of micro debit.

items.payment_method.eft_direct_debit.micro_debit.statusstring

The status of micro_debit.

items.payment_method.eft_direct_debit.micro_depositobject

The result of micro deposit.

items.payment_method.eft_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

items.payment_method.eft_direct_debit.owner_emailstring

Email of the account holder.

items.payment_method.eft_direct_debit.owner_namestring

Name of the account holder.

items.payment_method.eft_direct_debit.transit_numberstring

Identify a bank branch transit in Canada.

items.payment_method.gcashobject

GCASH information. Only provided when type is gcash.

items.payment_method.gcash.flowstring

One of qrcode, mobile_web, mobile_app

items.payment_method.gcash.os_typestring

ios, android

items.payment_method.gcash.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

items.payment_method.gcash.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

items.payment_method.googlepayobject

Google pay information. Only provided when type is googlepay.

items.payment_method.googlepay.billingobject

Billing information

items.payment_method.googlepay.billing.addressobject

The billing address as it appears on the credit card issuer’s records

items.payment_method.googlepay.billing.address.citystring

City of the address. Maximum of 100 characters.

items.payment_method.googlepay.billing.address.country_codestring

The two-letter country code in ISO 3166-1 alpha-2 format.

items.payment_method.googlepay.billing.address.postcodestring

Postcode of the address. Maximum of 10 characters.

items.payment_method.googlepay.billing.address.statestring

State or province of the address. Maximum of 100 characters.

items.payment_method.googlepay.billing.address.streetstring

Street of the address. Maximum of 1000 characters.

items.payment_method.googlepay.billing.date_of_birthstring

Date of birth of the customer in the format: YYYY-MM-DD

items.payment_method.googlepay.billing.emailstring

Email address of the customer

items.payment_method.googlepay.billing.first_namestring

First name of the customer

items.payment_method.googlepay.billing.last_namestring

Last name of the customer

items.payment_method.googlepay.billing.phone_numberstring

Phone number of the customer

items.payment_method.googlepay.lifecycle_idstring

The Lifecycle Identifier is a unique code that links all related transaction events - Capture, refund & disputes, making it easy to track a transaction throughout its lifecycle. This identifier is currently supported only when the card brand is MasterCard.

items.payment_method.googlepay.payment_data_typestring

Type of the payment data details. One of tokenized_card or encrypted_payment_token.

items.payment_method.googlepay.tokenized_cardobject

Payment data with the tokenized card details.

items.payment_method.googlepay.tokenized_card.authentication_methodobject

Authentication method

items.payment_method.googlepay.tokenized_card.authentication_method.emvobject

EMV data

items.payment_method.googlepay.tokenized_card.authentication_method.emv.emv_datastring

Output from the Secure Element

items.payment_method.googlepay.tokenized_card.authentication_method.emv.encrypted_pin_datastring

The PIN encrypted using the bank’s key

items.payment_method.googlepay.tokenized_card.authentication_method.three_dsobject

3D-Secure authentication data

items.payment_method.googlepay.tokenized_card.authentication_method.three_ds.eci_indicatorstring

Electronic Commerce Indicator, as defined by 3-D Secure

items.payment_method.googlepay.tokenized_card.authentication_method.three_ds.online_payment_cryptogramstring

Online payment cryptogram, as defined by 3-D Secure

items.payment_method.googlepay.tokenized_card.authentication_method.typestring

The authentication method type. One of CRYPTOGRAM_3DS, PAN_ONLY.

items.payment_method.googlepay.tokenized_card.binstring

Bank identify number of this card

items.payment_method.googlepay.tokenized_card.brandstring

Brand of the card. One of visa, mastercard, maestro, chinaunionpay.

items.payment_method.googlepay.tokenized_card.device_manufacturer_identifierstring

Device manufacturer identifier

items.payment_method.googlepay.tokenized_card.expiry_monthstring

Two digit number representing the card’s expiration month

items.payment_method.googlepay.tokenized_card.expiry_yearstring

Four digit number representing the card’s expiration year

items.payment_method.googlepay.tokenized_card.fingerprintstring

Fingerprint of the card

items.payment_method.googlepay.tokenized_card.is_commercialboolean

A boolean field referring whether the card is commercial or not

items.payment_method.googlepay.tokenized_card.issuer_country_codestring

Country code of the card issuer

items.payment_method.googlepay.tokenized_card.issuer_namestring

Issuer name

items.payment_method.googlepay.tokenized_card.last4string

Last four digits of the card number

items.payment_method.googlepay.tokenized_card.namestring

Cardholder name

items.payment_method.googlepay.tokenized_card.typestring

The card's type of payment. One of credit or debit.

items.payment_method.idstring

Unique identifier of the PaymentMethod attached for subsequent payments. Only provided when type is card.

items.payment_method.kakaopayobject

KAKAOPAY information. Only provided when type is kakaopay.

items.payment_method.kakaopay.flowstring

One of qrcode, mobile_web, mobile_app

items.payment_method.kakaopay.os_typestring

ios, android

items.payment_method.kakaopay.shopper_login_idstring

Alipay's User LoginId (Shopper) for Payment Consent Verification

items.payment_method.kakaopay.user_idstring

Unique identifier of a user in payment method provider side. Only present after the payment has been completed or the consent has been verified.

items.payment_method.paytoobject

Payto information. Only provided when type is payto.

items.payment_method.payto.bsbobject
items.payment_method.payto.bsb.account_namestring

The account name.

items.payment_method.payto.bsb.account_numberstring

4-9 digits number to identify a bank account in Australia.

items.payment_method.payto.bsb.bsb_numberstring

6-digit Bank-State-Branch number.

items.payment_method.payto.pay_idobject

The PayID of the recipient.

items.payment_method.payto.pay_id.australian_business_numberstring

11 digits number to identify the PayId. Required when phone_number, owner_email, and organisation_id is null.

items.payment_method.payto.pay_id.organisation_idstring

The organisation id of the recipient. The PayID must be in the format of payid:airwallex.com.

items.payment_method.payto.pay_id.owner_emailstring

owner email to identify the PayId. Required when phone_number, australian_business_number, and organisation_id is null.

items.payment_method.payto.pay_id.phone_numberstring

The phone number of the PayId. Required when owner_email, australian_business_number, and organisation_id is null.

items.payment_method.sepa_direct_debitobject

SEPA Direct Debit information. Only provided when type is sepa_direct_debit.

items.payment_method.sepa_direct_debit.addressobject

Account holder's address.

items.payment_method.sepa_direct_debit.address.country_codestring

Country code of the address. Use the two-character ISO Standard Country Codes.

items.payment_method.sepa_direct_debit.address.postcodestring

Postcode of the address.

items.payment_method.sepa_direct_debit.address.streetstring

street of the address.

items.payment_method.sepa_direct_debit.address.townstring

town of the address.

items.payment_method.sepa_direct_debit.bank_namestring

Bank of the account. You can call API to retrieve the available bank names.

items.payment_method.sepa_direct_debit.business_accountboolean

Indicate whether the account is a business account.

items.payment_method.sepa_direct_debit.country_codestring

The 2-letter ISO country/region code from which the consumer will be paying.

items.payment_method.sepa_direct_debit.ibanstring

15–34 characters to identify a bank account.

items.payment_method.sepa_direct_debit.micro_debitobject

The result of micro debit.

items.payment_method.sepa_direct_debit.micro_debit.statusstring

The status of micro_debit.

items.payment_method.sepa_direct_debit.micro_depositobject

The result of micro deposit.

items.payment_method.sepa_direct_debit.micro_deposit.statusstring

The status of micro_deposit.

items.payment_method.sepa_direct_debit.owner_emailstring

Email of the account holder.

items.payment_method.sepa_direct_debit.owner_namestring

Name of the account holder.

items.payment_method.typestring

Type of the PaymentMethod. One of card, googlepay, applepay, alipayhk, truemoney, gcash, dana, kakaopay, tng, alipaycn, rabbit_line_pay, wechatpay, ach_direct_debit, bacs_direct_debit, becs_direct_debit, sepa_direct_debit, eft_direct_debit.

items.request_idstring

Unique request identifier specified by the merchant

items.statusstring
  • REQUIRES_PAYMENT_METHOD: Populate payment_method when calling verify.
    • This value is returned if payment_method is either null, or the payment_method has failed during verify, and a different payment_method should be provided.
  • REQUIRES_CUSTOMER_ACTION: Pending customer action, see next_action for details.
  • PENDING: The mandate of the PaymentConsent has been submitted. It only occurs when payment method type is bacs_direct_debit. You need to wait for the final result. The status will become DISABLED if the mandate is rejected or VERIFIED if the mandate is accepted.
  • PAUSED: The active mandate of the PaymentConsent has been paused. The PaymentConsent can be paused only when the previous status was VERIFIED. It only occurs when payment method type is payto. The status will become DISABLED if the mandate is canceled or VERIFIED if the mandate is resumed.
  • VERIFIED: The PaymentConsent has been verified and it can be used for subsequent payments.
  • DISABLED: The PaymentConsent is disabled. You cannot verify it again.
items.terms_of_useobject

The terms of this consent.

items.terms_of_use.billing_cycle_charge_dayinteger

The granularity per billing cycle. Required when payment_schedule.period_unit is WEEK, MONTH, or YEAR. (e.g. charge_day_per_billing_cycle= 5, payment_schedule.period_unit = MONTH, payment_schedule.period = 1 if collect payment on the 5th of each month).

items.terms_of_use.end_datestring

End date to expect payment request.

items.terms_of_use.first_payment_amountnumber

The first payment. It could include the costs associated with the first debited amount.Optional if payment agreement type is VARIABLE.

items.terms_of_use.fixed_payment_amountnumber

The fixed payment amount that can be charged for a single payment.Required if payment agreement type is FIXED.

items.terms_of_use.max_payment_amountnumber

The maximum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

items.terms_of_use.min_payment_amountnumber

The minimum payment amount that can be charged for a single payment.Optional if payment agreement type is VARIABLE.

items.terms_of_use.payment_amount_typestring

The agreed type of amounts for subsequent payment. Should be one of FIXED, VARIABLE.

  • FIXED: payment amount is fixed. A specific amount is required.
  • VARIABLE: payment amount is variable at each collection. A max limit is recommended.
items.terms_of_use.payment_currencystring

The currency of this payment. Please refer to supported currencies .

items.terms_of_use.payment_scheduleobject
items.terms_of_use.payment_schedule.periodinteger

The number of period units between billing cycles. For example, the payment cycle is one month if period=1 and period_unit=MONTH. Required when merchant_trigger_reason = scheduled

items.terms_of_use.payment_schedule.period_unitstring

Specifies billing frequency. One of DAY, WEEK, MONTH, and YEAR. Required when merchant_trigger_reason = scheduled

items.terms_of_use.start_datestring

Start date to expect payment request.

items.terms_of_use.total_billing_cyclesinteger

The total number of billing cycles. For example, the mandate will last for 1 year if total_billing_cycles=12, payment_schedule.period=1 and payment_schedule.period_unit=MONTH if the merchant_trigger_reason is scheduled. Merchant can bill customers 12 times when total_billing_cycles=12 if the merchant_trigger_reason is unscheduledThe mandate will continue indefinitely if total_billing_cycles is null.

items.updated_atstring

Time at which this PaymentConsent was last updated

Errors
Error statusDescription
400

Bad Request. Possible error codes: validation_error

401

Unauthorized. Possible error codes: unauthorized

403

Forbidden

404

Not Found. Possible error codes: not_found(invalid url)

500

Server Error. Possible error codes: internal_error

GET /api/v1/pa/payment_consents
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/pa/payment_consents' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "has_more": false,
3 "items": [
4 {
5 "id": "cst_hkpdsjz1vg0x1uscdj",
6 "request_id": "0a0753bb-ec35-4a29-34bf-1fa712bc162d",
7 "customer_id": "cus_hkpdsjz4vg1x3uscdj",
8 "next_triggered_by": "merchant",
9 "merchant_trigger_reason": "scheduled",
10 "metadata": {
11 "subscriptionNumber": "2025040700000001"
12 },
13 "status": "REQUIRES_CUSTOMER_ACTION",
14 "created_at": "2021-08-31T06:57:15+00:00",
15 "updated_at": "2021-08-31T06:57:15+00:00",
16 "client_secret": "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MzgzMDY2MzAsImV4cCI6MTczODMxMDIzMCwidHlwZSI6ImNsaWVudC1zZWNyZXQiLCJwYWRjIjoiSEsiLCJhY2NvdW50X2lkIjoiN2EwYzQ3YzctNzM0Zi00NzdmLTk1OWItMzIxNTQyNzgxYTgyIiwiY29uc2VudF9pZCI6ImNzdF9oa3Bkc2p6MXZnMHgxdXNjZGoiLCJjdXN0b21lcl9pZCI6ImN1c19oa3Bkc2p6NHZnMXgzdXNjZGoifQ.c8zs0QlpUy_NwWy_JsHqHSiRpbtpGnIVWNsVHsSvJQ0"
17 }
18 ]
19}
Was this section helpful?