Cards
You can create virtual cards associated with your organisation, these cards can be single or multi-usage and be restricted by merchant code, currency and transaction amount.
POST /api/v1/issuing/cards/createGET /api/v1/issuing/cards/{id}GET /api/v1/issuing/cardsPOST /api/v1/issuing/cards/{id}/updatePOST /api/v1/issuing/cards/{id}/activatePOST /api/v1/issuing/cards/{id}/provision_digital_tokenGET /api/v1/issuing/cards/{id}/detailsGET /api/v1/issuing/cards/{id}/limits
Create a Card
POST /api/v1/issuing/cards/create
The card object is the actual resource associated with the card issued out by Airwallex. It holds details such as linked account, embossed name (for physical cards), shipping method and information (for physical cards), card based spend controls (eg. transaction limits, blocked merchant category codes etc.). The card object also determines who the card is for (ie for clients or their customers/employees), form factor (physical or virtual), and the number of uses (single or multiple).
Full legal name of user requesting new card.
Form of the card - PHYSICAL or VIRTUAL.
Who the card is issued to - client or individual. A value of ORGANISATION indicates that the card will be issued to the client themselves i.e. Purchasing Card.
A unique request identifier specified by the client. Requests with the same request_id will be ignored. This allows requests to be replayed if client is unsure of the outcome, e.g. due to network issues, system failures, etc. Note: Can be non-UUID as long as it is unique between requests.
Set this to true to activate the physical card when it is created. This will enable use of the card while it’s being delivered to the cardholder. Virtual cards will always be activated upon creation.
The unique identifier of the cardholder to associate this card with.
Client data which will be stored against the card record in Airwallex.
A set of key-value pairs that can be attached to the Card. You can specify up to 20 keys, with key names up to 20 characters long and values up to 150 characters long.
A nick name for the card.
Notes that are to be stored against the card request (for client reference).
Optional postal address of physical card delivery. The card will be issued to the cardholder's postal address if this value is not set. The cardholder's address will be used instead if cardholder's postal address does not exist.
City of address.
ISO country code of address.
Address line 1.
Address postcode or ZIP code.
Address line 2.
Address state or region.
Details of the primary contact of the new card. Only valid when issue_to is ORGANISATION.
The email address of the primary contact of the new card.
Full name of the primary contact of the new card.
The mobile number of the primary contact of the new card.
Optional purpose for card's usage when card issueTo is ORGANISATION. Can be one of - BUSINESS_EXPENSES, CLIENT_EXPENSES, MARKETING_EXPENSES, OFFICE_SUPPLIES, ONLINE_PURCHASING, OTHER, SUBSCRIPTIONS, TEAM_EXPENSES, TRAVEL_EXPENSES. Default value is BUSINESS_EXPENSES.
Card type - PREPAID, DEBIT, GOOD_FUNDS_CREDIT or DD_OTA. DD_OTA is Deferred Debit card available for OTA (Online Travel Agent) customers only in UK/Europe countries. If card type is not set, the default card type which is a part of your account setting will be used.
Set this to true to activate the physical card when it is created. This will enable use of the card while it’s being delivered to the cardholder. Virtual cards will always be activated upon creation.
Contains information about all versions of a card. A version changes with change in PAN
Masked card number of this version
Card status of this version. See Card StatusDocs for definitions.
PENDINGFAILEDINACTIVEACTIVELOSTSTOLENCLOSEDBLOCKEDEXPIREDUNKNOWNVersion Id which uniquely identifies this card version object
Creation time of the card version.
Card Brand
Unique Identifier for the card
Masked card number
Current card status. See Card StatusDocs for definitions.
PENDINGFAILEDINACTIVEACTIVELOSTSTOLENCLOSEDBLOCKEDEXPIREDUNKNOWNCurrent version of the card
The unique identifier of the cardholder this card is associated with if it is an individual card.
Client data which will be stored against the card record in Airwallex.
The creator of the card
Delivery detail of the card. Only available for physical cards.
MAIL: Delivery of the card is delivered via mail shipment. Tracking may or may not be provided.
EXPRESS: Delivery of the card is tracked and delivered via express shipment. A tracking_link will always be provided.
MAILEXPRESSUNKNOWNDelivery vendor of this card.
UNKNOWNAU_POSTEMSHK_POSTCITY_LINKDHLCN_POSTPL_POSTUSPSFEDEXThe mobile number for the card delivery.
The delivery mode customer selected when the Create Card API is called.
MAILEXPRESSUNKNOWNSee Delivery StatusDocs for definitions.
PENDINGPRINTEDFAILED_TO_PRINTDISPATCHEDIN_TRANSITOUT_FOR_DELIVERYDELIVEREDDELIVERY_FAILEDDELIVERY_DELAYEDUNKNOWNA brief description of the status
Specifies if the delivery of the card is tracked. If true, a tracking link will be provided when status becomes DISPATCHED
Tracking link of the card.
Delivery tracking number of this card.
Last update time of the delivery details
Form of the card
PHYSICALVIRTUALWho the card is issued to - client or individual. A value of ORGANISATION indicates that the card will be issued to the client themselves i.e. Purchasing Card
ORGANISATIONINDIVIDUALA set of key-value pairs that can be attached to the Card. You can specify up to 20 keys, with key names up to 20 characters long and values up to 150 characters long.
Name to be printed on card.
A nick name for the card
Notes that are to be stored against the card request (for client reference)
Optional postal address of physical card delivery.
City of address
ISO country code of address
Address line 1
Address postcode or ZIP code
Address line 2
Address state or region
Details of the primary contact of the card
The email address of the primary contact of the new card.
Full name of the primary contact of the new card.
The mobile number of the primary contact of the new card.
The purpose of the card's usage. Only available for expense cards.
SUBSCRIPTIONSOFFICE_SUPPLIESMARKETING_EXPENSESTRAVEL_EXPENSESCLIENT_EXPENSESTEAM_EXPENSESONLINE_PURCHASINGBUSINESS_EXPENSESOTHERA unique request identifier specified by the client. Requests with the same request_id will be ignored. This allows requests to be replayed if client is unsure of the outcome, e.g. due to network issues, system failures, etc. Note: Can be non-UUID as long as it is unique between requests
Card type - PREPAID, DEBIT, GOOD_FUNDS_CREDIT or DD_OTA. DD_OTA is Deferred Debit card available for OTA (Online Travel Agent) customers only in UK/Europe countries. If card type is not set, the default card type which is a part of your account setting will be used.
UNKNOWNPREPAIDDEBITDD_OTAGOOD_FUNDS_CREDITCREDIT| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/issuing/cards/create' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "activate_on_issue": false,> "authorization_controls": {> "active_from": "2018-10-31T00:00:00+0000",> "active_to": "2018-10-31T00:00:00+0000",> "allowed_currencies": [> "USD",> "AUD"> ],> "allowed_merchant_brands": {> "categories": [> "10000",> "16000"> ],> "ids": [> "245e5003-58ec-540c-89a0-e148e54c2518"> ],> "subcategories": [> "10001",> "16003"> ]> },> "allowed_merchant_categories": [> "7531",> "7534"> ],> "allowed_merchant_countries": [> "US",> "AU"> ],> "allowed_transaction_count": "SINGLE",> "blocked_transaction_usages": [> {> "transaction_scope": "MAGSTRIPE",> "usage_scope": "INTERNATIONAL"> },> {> "transaction_scope": "ONLINE_TRANSACTION",> "usage_scope": "ALL"> }> ],> "transaction_limits": {> "cash_withdrawal_limits": [> {> "amount": 1000,> "interval": "PER_TRANSACTION"> }> ],> "currency": "USD",> "limits": [> {> "amount": 1000,> "interval": "PER_TRANSACTION"> }> ]> }> },> "cardholder_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",> "client_data": "20190817_dfelsflkj73494lksdfg9480ww",> "created_by": "John Smith",> "form_factor": "VIRTUAL",> "issue_to": "ORGANISATION",> "nick_name": "travelling",> "note": "This is my first card.",> "postal_address": {> "city": "Melbourne",> "country": "AU",> "line1": "44 Gillespie St",> "line2": "Unit 2",> "postcode": "3121",> "state": "VIC"> },> "primary_contact_details": {> "email": "[email protected]",> "full_name": "John Smith",> "mobile_number": "619922334321"> },> "purpose": "<string>",> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",> "type": "PREPAID",> "metadata": {> "key1": "value1",> "key2": "value2"> }>}'
1{2 "activate_on_issue": false,3 "authorization_controls": {4 "active_from": "2018-10-31T00:00:00+0000",5 "active_to": "2018-10-31T00:00:00+0000",6 "allowed_currencies": [7 "USD",8 "AUD"9 ],10 "allowed_merchant_brands": {11 "categories": [12 "10000",13 "16000"14 ],15 "ids": [16 "245e5003-58ec-540c-89a0-e148e54c2518"17 ],18 "subcategories": [19 "10001",20 "16003"21 ]22 },23 "allowed_merchant_categories": [24 "7531",25 "7534"26 ],27 "allowed_merchant_countries": [28 "US",29 "AU"30 ],31 "allowed_transaction_count": "SINGLE",32 "blocked_transaction_usages": [33 {34 "transaction_scope": "MAGSTRIPE",35 "usage_scope": "INTERNATIONAL"36 },37 {38 "transaction_scope": "ONLINE_TRANSACTION",39 "usage_scope": "ALL"40 }41 ],42 "transaction_limits": {43 "cash_withdrawal_limits": [44 {45 "amount": 1000,46 "interval": "PER_TRANSACTION"47 }48 ],49 "currency": "USD",50 "limits": [51 {52 "amount": 1000,53 "interval": "PER_TRANSACTION"54 }55 ]56 }57 },58 "brand": "visa",59 "card_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",60 "card_number": "************4111",61 "card_status": "ACTIVE",62 "cardholder_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",63 "client_data": "20190817_dfelsflkj73494lksdfg9480ww",64 "created_by": "<string>",65 "form_factor": "VIRTUAL",66 "issue_to": "ORGANISATION",67 "name_on_card": "John Smith",68 "nick_name": "travelling",69 "note": "This is my first card.",70 "postal_address": {71 "city": "Melbourne",72 "country": "AU",73 "line1": "44 Gillespie St",74 "line2": "Unit 2",75 "postcode": "3121",76 "state": "VIC"77 },78 "primary_contact_details": {79 "email": "[email protected]",80 "full_name": "John Smith",81 "mobile_number": "619922334321"82 },83 "purpose": "BUSINESS_EXPENSES",84 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",85 "type": "UNKNOWN",86 "card_version": 1,87 "all_card_versions": [88 {89 "card_number": "************4111",90 "card_status": "ACTIVE",91 "card_version": 1,92 "created_at": "2024-01-09T00:00:00+0000"93 }94 ],95 "metadata": {96 "key1": "value1",97 "key2": "value2"98 },99 "delivery_details": {100 "delivery_mode": "MAIL",101 "delivery_vendor": "DHL",102 "mobile_number": "+6512345678",103 "preferred_delivery_mode": "MAIL",104 "status": "DISPATCHED",105 "status_description": "The card has been printed.",106 "tracked": true,107 "tracking_link": "https://www.dhl.com/global-en/home/tracking/tracking-parcel.html?submit=1&tracking-id=ABCD1234",108 "tracking_number": "ABCD1234",109 "updated_at": "2024-01-09T00:00:00+0000"110 }111}
Retrieve a Card
GET /api/v1/issuing/cards/{id}
Retrieve Card details.
Unique Identifier for the card.
Set this to true to activate the physical card when it is created. This will enable use of the card while it’s being delivered to the cardholder. Virtual cards will always be activated upon creation.
Contains information about all versions of a card. A version changes with change in PAN
Masked card number of this version
Card status of this version. See Card StatusDocs for definitions.
PENDINGFAILEDINACTIVEACTIVELOSTSTOLENCLOSEDBLOCKEDEXPIREDUNKNOWNVersion Id which uniquely identifies this card version object
Creation time of the card version.
Card Brand
Unique Identifier for the card
Masked card number
Current card status. See Card StatusDocs for definitions.
PENDINGFAILEDINACTIVEACTIVELOSTSTOLENCLOSEDBLOCKEDEXPIREDUNKNOWNCurrent version of the card
The unique identifier of the cardholder this card is associated with if it is an individual card.
Client data which will be stored against the card record in Airwallex.
The creator of the card
Delivery detail of the card. Only available for physical cards.
MAIL: Delivery of the card is delivered via mail shipment. Tracking may or may not be provided.
EXPRESS: Delivery of the card is tracked and delivered via express shipment. A tracking_link will always be provided.
MAILEXPRESSUNKNOWNDelivery vendor of this card.
UNKNOWNAU_POSTEMSHK_POSTCITY_LINKDHLCN_POSTPL_POSTUSPSFEDEXThe mobile number for the card delivery.
The delivery mode customer selected when the Create Card API is called.
MAILEXPRESSUNKNOWNSee Delivery StatusDocs for definitions.
PENDINGPRINTEDFAILED_TO_PRINTDISPATCHEDIN_TRANSITOUT_FOR_DELIVERYDELIVEREDDELIVERY_FAILEDDELIVERY_DELAYEDUNKNOWNA brief description of the status
Specifies if the delivery of the card is tracked. If true, a tracking link will be provided when status becomes DISPATCHED
Tracking link of the card.
Delivery tracking number of this card.
Last update time of the delivery details
Form of the card
PHYSICALVIRTUALWho the card is issued to - client or individual. A value of ORGANISATION indicates that the card will be issued to the client themselves i.e. Purchasing Card
ORGANISATIONINDIVIDUALA set of key-value pairs that can be attached to the Card. You can specify up to 20 keys, with key names up to 20 characters long and values up to 150 characters long.
Name to be printed on card.
A nick name for the card
Notes that are to be stored against the card request (for client reference)
Optional postal address of physical card delivery.
City of address
ISO country code of address
Address line 1
Address postcode or ZIP code
Address line 2
Address state or region
Details of the primary contact of the card
The email address of the primary contact of the new card.
Full name of the primary contact of the new card.
The mobile number of the primary contact of the new card.
The purpose of the card's usage. Only available for expense cards.
SUBSCRIPTIONSOFFICE_SUPPLIESMARKETING_EXPENSESTRAVEL_EXPENSESCLIENT_EXPENSESTEAM_EXPENSESONLINE_PURCHASINGBUSINESS_EXPENSESOTHERA unique request identifier specified by the client. Requests with the same request_id will be ignored. This allows requests to be replayed if client is unsure of the outcome, e.g. due to network issues, system failures, etc. Note: Can be non-UUID as long as it is unique between requests
Card type - PREPAID, DEBIT, GOOD_FUNDS_CREDIT or DD_OTA. DD_OTA is Deferred Debit card available for OTA (Online Travel Agent) customers only in UK/Europe countries. If card type is not set, the default card type which is a part of your account setting will be used.
UNKNOWNPREPAIDDEBITDD_OTAGOOD_FUNDS_CREDITCREDIT| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/issuing/cards/card_id' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "activate_on_issue": false,3 "authorization_controls": {4 "active_from": "2018-10-31T00:00:00+0000",5 "active_to": "2018-10-31T00:00:00+0000",6 "allowed_currencies": [7 "USD",8 "AUD"9 ],10 "allowed_merchant_brands": {11 "categories": [12 "10000",13 "16000"14 ],15 "ids": [16 "245e5003-58ec-540c-89a0-e148e54c2518"17 ],18 "subcategories": [19 "10001",20 "16003"21 ]22 },23 "allowed_merchant_categories": [24 "7531",25 "7534"26 ],27 "allowed_merchant_countries": [28 "US",29 "AU"30 ],31 "allowed_transaction_count": "SINGLE",32 "blocked_transaction_usages": [33 {34 "transaction_scope": "MAGSTRIPE",35 "usage_scope": "INTERNATIONAL"36 },37 {38 "transaction_scope": "ONLINE_TRANSACTION",39 "usage_scope": "ALL"40 }41 ],42 "transaction_limits": {43 "cash_withdrawal_limits": [44 {45 "amount": 1000,46 "interval": "PER_TRANSACTION"47 }48 ],49 "currency": "USD",50 "limits": [51 {52 "amount": 1000,53 "interval": "PER_TRANSACTION"54 }55 ]56 }57 },58 "brand": "visa",59 "card_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",60 "card_number": "************4111",61 "card_status": "ACTIVE",62 "cardholder_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",63 "client_data": "20190817_dfelsflkj73494lksdfg9480ww",64 "created_by": "<string>",65 "form_factor": "VIRTUAL",66 "issue_to": "ORGANISATION",67 "name_on_card": "John Smith",68 "nick_name": "travelling",69 "note": "This is my first card.",70 "postal_address": {71 "city": "Melbourne",72 "country": "AU",73 "line1": "44 Gillespie St",74 "line2": "Unit 2",75 "postcode": "3121",76 "state": "VIC"77 },78 "primary_contact_details": {79 "email": "[email protected]",80 "full_name": "John Smith",81 "mobile_number": "619922334321"82 },83 "purpose": "BUSINESS_EXPENSES",84 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",85 "type": "UNKNOWN",86 "card_version": 1,87 "all_card_versions": [88 {89 "card_number": "************4111",90 "card_status": "ACTIVE",91 "card_version": 1,92 "created_at": "2024-01-09T00:00:00+0000"93 }94 ],95 "metadata": {96 "key1": "value1",97 "key2": "value2"98 },99 "delivery_details": {100 "delivery_mode": "MAIL",101 "delivery_vendor": "DHL",102 "mobile_number": "+6512345678",103 "preferred_delivery_mode": "MAIL",104 "status": "DISPATCHED",105 "status_description": "The card has been printed.",106 "tracked": true,107 "tracking_link": "https://www.dhl.com/global-en/home/tracking/tracking-parcel.html?submit=1&tracking-id=ABCD1234",108 "tracking_number": "ABCD1234",109 "updated_at": "2024-01-09T00:00:00+0000"110 }111}
List all Cards
GET /api/v1/issuing/cards
Get cards issued under an account. Will default to a 30 day period unless both to and from created_at request fields are populated.
Current card status.
PENDINGFAILEDINACTIVEACTIVELOSTSTOLENCLOSEDBLOCKEDEXPIREDUNKNOWNThe id of the cardholder for the card, if it is an employee card.
Created_from_date in ISO8601 format (inclusive).
Updated_from_date in ISO8601 format (inclusive).
Will be used to return cards whose nickname exactly matches the value of this field.
Page number, starts from 0.
Number of results per page, between 10 and 200. The default is 100.
Created_to_date in ISO8601 format (inclusive).
Updated_to_date in ISO8601 format (inclusive).
Card Brand
Unique Identifier for the card
Masked card number
Current card status
PENDINGFAILEDINACTIVEACTIVELOSTSTOLENCLOSEDBLOCKEDEXPIREDUNKNOWNDate card was created
Unique Identifier for the cardholder, if this is an employee card.
Nickname on the card.
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/issuing/cards' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "has_more": false,3 "items": [4 {5 "brand": "visa",6 "card_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",7 "card_number": "************4111",8 "card_status": "ACTIVE",9 "cardholder_id": "7f0216e7-0348-4a36-9871-d1ba82c13410",10 "created_at": "2018-10-31T00:00:00+0000",11 "nick_name": "Travel"12 }13 ]14}
Update a Card
POST /api/v1/issuing/cards/{id}/update
Updates card details by setting the values of the included parameters. Parameters that are not included will be left unchanged.
Unique Identifier for the card.
Card status, Allowed values are INACTIVE, ACTIVE, CLOSED.
A set of key-value pairs that can be attached to the Card. You can specify up to 20 keys, with key names up to 20 characters long and values up to 150 characters long.
A nick name for the card.
Details of the primary contact for the card. May only be changed for cards issued to organisations.
The email address of the primary contact of the new card.
Full name of the primary contact of the new card.
The mobile number of the primary contact of the new card.
Optional purpose for card's usage when card issueTo value is ORGANISATION. Can be one of - BUSINESS_EXPENSES, CLIENT_EXPENSES, MARKETING_EXPENSES, OFFICE_SUPPLIES, ONLINE_PURCHASING, OTHER, SUBSCRIPTIONS, TEAM_EXPENSES, TRAVEL_EXPENSES. Default value is BUSINESS_EXPENSES.
Set this to true to activate the physical card when it is created. This will enable use of the card while it’s being delivered to the cardholder. Virtual cards will always be activated upon creation.
Contains information about all versions of a card. A version changes with change in PAN
Masked card number of this version
Card status of this version. See Card StatusDocs for definitions.
PENDINGFAILEDINACTIVEACTIVELOSTSTOLENCLOSEDBLOCKEDEXPIREDUNKNOWNVersion Id which uniquely identifies this card version object
Creation time of the card version.
Card Brand
Unique Identifier for the card
Masked card number
Current card status. See Card StatusDocs for definitions.
PENDINGFAILEDINACTIVEACTIVELOSTSTOLENCLOSEDBLOCKEDEXPIREDUNKNOWNCurrent version of the card
The unique identifier of the cardholder this card is associated with if it is an individual card.
Client data which will be stored against the card record in Airwallex.
The creator of the card
Delivery detail of the card. Only available for physical cards.
MAIL: Delivery of the card is delivered via mail shipment. Tracking may or may not be provided.
EXPRESS: Delivery of the card is tracked and delivered via express shipment. A tracking_link will always be provided.
MAILEXPRESSUNKNOWNDelivery vendor of this card.
UNKNOWNAU_POSTEMSHK_POSTCITY_LINKDHLCN_POSTPL_POSTUSPSFEDEXThe mobile number for the card delivery.
The delivery mode customer selected when the Create Card API is called.
MAILEXPRESSUNKNOWNSee Delivery StatusDocs for definitions.
PENDINGPRINTEDFAILED_TO_PRINTDISPATCHEDIN_TRANSITOUT_FOR_DELIVERYDELIVEREDDELIVERY_FAILEDDELIVERY_DELAYEDUNKNOWNA brief description of the status
Specifies if the delivery of the card is tracked. If true, a tracking link will be provided when status becomes DISPATCHED
Tracking link of the card.
Delivery tracking number of this card.
Last update time of the delivery details
Form of the card
PHYSICALVIRTUALWho the card is issued to - client or individual. A value of ORGANISATION indicates that the card will be issued to the client themselves i.e. Purchasing Card
ORGANISATIONINDIVIDUALA set of key-value pairs that can be attached to the Card. You can specify up to 20 keys, with key names up to 20 characters long and values up to 150 characters long.
Name to be printed on card.
A nick name for the card
Notes that are to be stored against the card request (for client reference)
Optional postal address of physical card delivery.
City of address
ISO country code of address
Address line 1
Address postcode or ZIP code
Address line 2
Address state or region
Details of the primary contact of the card
The email address of the primary contact of the new card.
Full name of the primary contact of the new card.
The mobile number of the primary contact of the new card.
The purpose of the card's usage. Only available for expense cards.
SUBSCRIPTIONSOFFICE_SUPPLIESMARKETING_EXPENSESTRAVEL_EXPENSESCLIENT_EXPENSESTEAM_EXPENSESONLINE_PURCHASINGBUSINESS_EXPENSESOTHERA unique request identifier specified by the client. Requests with the same request_id will be ignored. This allows requests to be replayed if client is unsure of the outcome, e.g. due to network issues, system failures, etc. Note: Can be non-UUID as long as it is unique between requests
Card type - PREPAID, DEBIT, GOOD_FUNDS_CREDIT or DD_OTA. DD_OTA is Deferred Debit card available for OTA (Online Travel Agent) customers only in UK/Europe countries. If card type is not set, the default card type which is a part of your account setting will be used.
UNKNOWNPREPAIDDEBITDD_OTAGOOD_FUNDS_CREDITCREDIT| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/issuing/cards/card_id/update' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "authorization_controls": {> "active_from": "2018-10-31T00:00:00+0000",> "active_to": "2018-10-31T00:00:00+0000",> "allowed_currencies": [> "USD",> "AUD"> ],> "allowed_merchant_brands": {> "categories": [> "10000",> "16000"> ],> "ids": [> "245e5003-58ec-540c-89a0-e148e54c2518"> ],> "subcategories": [> "10001",> "16003"> ]> },> "allowed_merchant_categories": [> "7531",> "7534"> ],> "allowed_merchant_countries": [> "US",> "AU"> ],> "blocked_transaction_usages": [> {> "transaction_scope": "MAGSTRIPE",> "usage_scope": "INTERNATIONAL"> },> {> "transaction_scope": "ONLINE_TRANSACTION",> "usage_scope": "ALL"> }> ],> "transaction_limits": {> "cash_withdrawal_limits": [> {> "amount": 1000,> "interval": "PER_TRANSACTION"> }> ],> "currency": "USD",> "limits": [> {> "amount": 1000,> "interval": "PER_TRANSACTION"> }> ]> }> },> "card_status": "INACTIVE",> "nick_name": "travelling",> "primary_contact_details": {> "email": "[email protected]",> "full_name": "John Smith",> "mobile_number": "619922334321"> },> "purpose": "<string>",> "metadata": {> "key1": "value1",> "key2": "value2"> }>}'
1{2 "activate_on_issue": false,3 "authorization_controls": {4 "active_from": "2018-10-31T00:00:00+0000",5 "active_to": "2018-10-31T00:00:00+0000",6 "allowed_currencies": [7 "USD",8 "AUD"9 ],10 "allowed_merchant_categories": [11 "7531",12 "7534"13 ],14 "allowed_transaction_count": "SINGLE",15 "allowed_merchant_countries": [16 "US",17 "AU"18 ],19 "blocked_transaction_usages": [20 {21 "transaction_scope": "MAGSTRIPE",22 "usage_scope": "INTERNATIONAL"23 },24 {25 "transaction_scope": "ONLINE_TRANSACTION",26 "usage_scope": "ALL"27 }28 ],29 "transaction_limits": {30 "cash_withdrawal_limits": [31 {32 "amount": 1000,33 "interval": "PER_TRANSACTION"34 }35 ],36 "currency": "USD",37 "limits": [38 {39 "amount": 1000,40 "interval": "PER_TRANSACTION"41 }42 ]43 }44 },45 "brand": "visa",46 "card_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",47 "card_number": "************4111",48 "card_status": "ACTIVE",49 "cardholder_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",50 "client_data": "20190817_dfelsflkj73494lksdfg9480ww",51 "created_by": "<string>",52 "form_factor": "VIRTUAL",53 "issue_to": "ORGANISATION",54 "name_on_card": "John Smith",55 "nick_name": "travelling",56 "note": "This is my first card.",57 "postal_address": {58 "city": "Melbourne",59 "country": "AU",60 "line1": "44 Gillespie St",61 "line2": "Unit 2",62 "postcode": "3121",63 "state": "VIC"64 },65 "primary_contact_details": {66 "email": "[email protected]",67 "full_name": "John Smith",68 "mobile_number": "619922334321"69 },70 "purpose": "BUSINESS_EXPENSES",71 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",72 "type": "UNKNOWN",73 "card_version": 1,74 "all_card_versions": [75 {76 "card_number": "************4111",77 "card_status": "ACTIVE",78 "card_version": 1,79 "created_at": "2024-01-09T00:00:00+0000"80 }81 ],82 "metadata": {83 "key1": "value1",84 "key2": "value2"85 },86 "delivery_details": {87 "delivery_mode": "MAIL",88 "delivery_vendor": "DHL",89 "mobile_number": "+6512345678",90 "preferred_delivery_mode": "MAIL",91 "status": "DISPATCHED",92 "status_description": "The card has been printed.",93 "tracked": true,94 "tracking_link": "https://www.dhl.com/global-en/home/tracking/tracking-parcel.html?submit=1&tracking-id=ABCD1234",95 "tracking_number": "ABCD1234",96 "updated_at": "2024-01-09T00:00:00+0000"97 }98}
Activate a Card
POST /api/v1/issuing/cards/{id}/activate
Activate a physical card for card payment authorizations.
Unique Identifier for the card.
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/issuing/cards/card_id/activate' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
Provision a Card to a Digital Wallet
POST /api/v1/issuing/cards/{id}/provision_digital_token
Provisions a card into a digital wallet for in-app (push) provisioning. Available only to accounts with white-label digital wallets enabled.
The request body is wallet-specific and selected by the type field. The interactive form shows a single body shape, so the per-type request bodies are documented here:
apple_pay (Apple Wallet / PassKit provisioning):
device_certs(array): device certificate chain, leaf certificate firstnonce_signature(string): signature over the noncenonce(string): one-time nonce
google_pay (Google Pay provisioning):
device_id(string): stable device identifier from the Google Pay SDKclient_customer_id(string): wallet account holder identifier
samsung_pay (Samsung Pay provisioning):
device_id(string): stable device identifier from the Samsung Pay SDKclient_customer_id(string): wallet account holder identifier
Unique Identifier for the card.
Digital wallet type.
apple_paygoogle_paysamsung_payRequired when type is google_pay or samsung_pay. Identifier for the wallet account holder, provided by the wallet SDK.
Required when type is apple_pay. Device certificate chain from the Apple Wallet (PassKit) provisioning request, leaf certificate first.
Required when type is google_pay or samsung_pay. Stable device identifier provided by the wallet SDK.
Required when type is apple_pay. One-time nonce supplied by Apple PassKit.
Required when type is apple_pay. Signature over the nonce, supplied by Apple PassKit.
Optional. Used for push provisioning with Google Pay.
Present when type is apple_pay. Activation data to return to Apple PassKit.
Identifier of the provisioned card.
Present when type is samsung_pay. Card network / type.
Present when type is google_pay, when available. Encrypted billing address.
Present when type is apple_pay. Encrypted pass data to return to Apple PassKit to complete provisioning.
Present when type is apple_pay. Ephemeral public key to return to Apple PassKit.
Present when type is google_pay. Expiration date of the provisioned token.
Expiry month of the provisioned token.
Expiry year of the provisioned token.
Present when type is google_pay. Used for push provisioning.
Present when type is google_pay or samsung_pay. Last four digits of the tokenized card.
Present when type is google_pay or samsung_pay. Opaque payment card payload to pass to the wallet SDK.
Present when type is samsung_pay.
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/issuing/cards/card_id/provision_digital_token' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "type": "apple_pay",> "device_certs": [],> "nonce": "<string>",> "nonce_signature": "<string>">}'
1{2 "card_id": "<string>",3 "activation_data": "<string>",4 "encrypted_pass_data": "<string>",5 "ephemeral_public_key": "<string>"6}
List all Sensitive Card Details
GET /api/v1/issuing/cards/{id}/details
Get sensitive card information for virtual cards. This endpoint will only return data for active cards.
Unique Identifier for the card.
Card Number
Card Verification Value
Card Expiry Month
Card Expiry Year
Name printed on card
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/issuing/cards/card_id/details' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "card_number": "4111111111111111",3 "cvv": "123",4 "expiry_month": 1,5 "expiry_year": 2022,6 "name_on_card": "John Smith"7}
List all Card Remaining Limits
GET /api/v1/issuing/cards/{id}/limits
Retrieve remaining limits of a card.
Unique Identifier for the card.
Remaining Cash Withdrawal Limits for Intervals.
Transaction limit amount.
Transaction limit interval. One of: PER_TRANSACTION, DAILY, WEEKLY, MONTHLY, ALL_TIME
Remaining amount of transaction limit for that interval. Refunds are always restored to active limits (each refund will increase the limit balance). Please check product doc for more details.
Currency of transaction limits (3-letter ISO-4217 code).
Remaining limits for Intervals.
Transaction limit amount.
Transaction limit interval. One of: PER_TRANSACTION, DAILY, WEEKLY, MONTHLY, ALL_TIME
Remaining amount of transaction limit for that interval. Refunds are always restored to active limits (each refund will increase the limit balance). Please check product doc for more details.
| Error status | Description |
|---|---|
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/issuing/cards/card_id/limits' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "cash_withdrawal_limits": [3 {4 "amount": 1000,5 "interval": "PER_TRANSACTION",6 "remaining": 10007 }8 ],9 "currency": "USD",10 "limits": [11 {12 "amount": 1000,13 "interval": "PER_TRANSACTION",14 "remaining": 100015 }16 ]17}