Airwallex logo
Airwallex logoAirwallex logo

Card Transactions

Copy for LLMView as Markdown

A card transaction is the middle level of the three-level transaction model (Lifecycle → Card Transaction → Transaction Event).

It groups related transaction events and represents Airwallex's interpretation of a single card transaction. Each card transaction has a guaranteed terminal status and a fund direction, making it the recommended level for tracking payment outcomes without implementing custom grouping logic.

Statuses: AUTHORIZED (non-terminal), CLEARED, REVERSED, EXPIRED, DECLINED, VERIFIED (terminal).

Fund directions: DEBIT, CREDIT, or NO_MOVEMENT.

All card transactions within the same payment flow share a common lifecycle ID.

Data retention: Resources can be queried for a maximum of 2 years from creation.

Learn more about the transaction lifecycle .

Endpoints
GET /api/v1/issuing/card_transactions
GET /api/v1/issuing/card_transactions/{id}

Get card transactions

GET /api/v1/issuing/card_transactions

Retrieve a paginated list of card transactions. Each card transaction includes its status, fund direction, merchant details, and aggregated billing amounts. Use the lifecycle_id filter to retrieve all card transactions within a specific lifecycle, or status to filter by transaction status.

Parameters
billing_currencystring

Filter by billing currency (3-letter ISO 4217 code).

card_idstring

Filter by card. Only returns card transactions associated with this card.

from_created_atstring

Filter for items created after this date in ISO8601 format (inclusive).

lifecycle_idstring

Filter by lifecycle. Only returns card transactions belonging to this lifecycle.

pagestring

A bookmark for use in pagination to retrieve either the next page or the previous page of results. You can fetch the value for this identifier from the response of the previous API call. To retrieve the next page of results, pass the value of page_after (if not null) from the response to a subsequent call. To retrieve the previous page of results, pass the value of page_before (if not null) from the response to a subsequent call.

page_sizeinteger

Number of related objects to be listed per page. The maximum is 100.

statusstring

Filter by status. One of AUTHORIZED, CLEARED, DECLINED, EXPIRED, REVERSED, or VERIFIED.

AUTHORIZED, CLEARED, DECLINED, EXPIRED, REVERSED, VERIFIED, UNKNOWN

to_created_atstring

Filter for items created before this date in ISO8601 format (inclusive).

Response body - 200 OK
itemsarray
items.billing_amountsobject

Aggregated amounts in the card's billing currency (the currency of the cardholder's wallet). Includes totals for authorized, debited, credited, pending, and other states.

items.billing_amounts.currencystring

Three-letter ISO 4217 currency code for all amounts in this object.

items.billing_amounts.total_authorizednumber

Total amount authorized (funds reserved in the wallet).

items.billing_amounts.total_creditednumber

Total amount credited (funds returned to the wallet, e.g., refunds).

items.billing_amounts.total_debitednumber

Total amount debited (funds moved out of the wallet after clearing).

items.billing_amounts.total_declinednumber

Total amount declined (transaction amounts that were rejected).

items.billing_amounts.total_expirednumber

Total amount expired (authorized amounts that were never captured and have been released).

items.billing_amounts.total_pendingnumber

Total amount still pending (outstanding authorized amount not yet cleared, reversed, or expired).

items.billing_amounts.total_reversednumber

Total amount reversed (authorized amounts that were cancelled and released).

items.card_idstring

Unique identifier of the card associated with this card transaction.

items.created_atstring

Date and time when the card transaction was created, in ISO 8601 format.

items.digital_wallet_tokenobject

Details of the digital wallet token used for the transaction, if applicable.

items.digital_wallet_token.idstring

Unique identifier for digital token.

items.digital_wallet_token.payment_methodstring

Payment method used. One of: APPLE_PAY, GOOGLE_PAY, CARD_ON_FILE

items.expiry_datestring

The date and time when the current authorization is set to expire, in ISO 8601 format. After expiry, reserved funds are released. Note: the status may not update to EXPIRED immediately after this time.

items.failure_reasonstring

The reason the transaction was declined. Only present when status is DECLINED. Learn more about transaction failure reasons .

items.fee_detailsarray

Fees applied to this card transaction, such as ATM fees or foreign transaction fees.

items.fee_details.amountnumber

Fee amount.

items.fee_details.currencystring

Currency in which the fee is charged (3-letter ISO-4217 code).

items.fee_details.typestring

Fee type. One of: ATM_ACCESS_FEE.

items.fund_directionstring

The direction of funds relative to the cardholder's wallet. One of: DEBIT, CREDIT, or NO_MOVEMENT.

items.idstring

Unique identifier of the card transaction.

items.lifecycle_idstring

Unique identifier of the lifecycle this card transaction belongs to. Use this to retrieve all related card transactions (e.g., a purchase and its refund).

items.masked_card_numberstring

The masked primary account number (PAN) of the card.

items.merchantobject

Details about the merchant where the transaction occurred, including enriched brand information.

items.merchant.additional_merchant_infoobject

Supplemental details providing richer context on the merchant and its brand. Learn more about merchant brand controls .

items.merchant.additional_merchant_info.merchant_brand_category_idinteger

The unique identifier associated with the merchant category.

items.merchant.additional_merchant_info.merchant_brand_idstring

The unique identifier for the merchant brand.

items.merchant.additional_merchant_info.merchant_brand_namestring

The full legal or common name of the merchant.

items.merchant.additional_merchant_info.merchant_brand_subcategory_idinteger

The unique identifier associated with the merchant's sub-category.

items.merchant.additional_merchant_info.merchant_logo_urlstring

URL of the merchant's logo for display purposes.

items.merchant.category_codestring

The Merchant Category Code (MCC).

items.merchant.citystring

The city of the merchant.

items.merchant.countrystring

The country of the merchant.

items.merchant.identifierstring

Unique identifier for the merchant.

items.merchant.namestring

The short name of the merchant.

items.merchant.postcodestring

The postal code of the merchant.

items.merchant.statestring

The state or province of the merchant.

items.statusstring

The current status of the card transaction. AUTHORIZED is non-terminal; all other statuses are terminal. One of: AUTHORIZED, CLEARED, DECLINED, EXPIRED, REVERSED, VERIFIED.

items.transaction_amountsobject

Aggregated amounts in the merchant's transaction currency (the currency used at the point of sale).

items.transaction_amounts.currencystring

Three-letter ISO 4217 currency code for all amounts in this object.

items.transaction_amounts.total_authorizednumber

Total amount authorized (funds reserved in the wallet).

items.transaction_amounts.total_creditednumber

Total amount credited (funds returned to the wallet, e.g., refunds).

items.transaction_amounts.total_debitednumber

Total amount debited (funds moved out of the wallet after clearing).

items.transaction_amounts.total_declinednumber

Total amount declined (transaction amounts that were rejected).

items.transaction_amounts.total_expirednumber

Total amount expired (authorized amounts that were never captured and have been released).

items.transaction_amounts.total_pendingnumber

Total amount still pending (outstanding authorized amount not yet cleared, reversed, or expired).

items.transaction_amounts.total_reversednumber

Total amount reversed (authorized amounts that were cancelled and released).

items.updated_atstring

Date and time when the card transaction was last updated, in ISO 8601 format.

page_afterstring

A marker for retrieving the next page of results. Include this value in the page request parameter to retrieve subsequent pages.

page_beforestring

A marker for retrieving the previous page of results. Include this value in the page request parameter to retrieve previous pages.

Errors
Error statusDescription
400

Possible errors: field_required, bad_request, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/issuing/card_transactions
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/issuing/card_transactions' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "billing_amounts": {
5 "currency": "USD",
6 "total_authorized": 100,
7 "total_credited": 0,
8 "total_debited": 100,
9 "total_declined": 0,
10 "total_expired": 0,
11 "total_pending": 0,
12 "total_reversed": 0
13 },
14 "card_id": "5b2dc266-09ad-4235-b61a-767c7cd6d6ef",
15 "created_at": "2018-03-22T16:08:02+00:00",
16 "digital_wallet_token": {
17 "id": "6c2dc266-09ad-4235-b61a-767c7cd6d6ea",
18 "payment_method": "GOOGLE_PAY"
19 },
20 "expiry_date": "2026-02-01T16:08:02+00:00",
21 "fee_details": [
22 {
23 "amount": 500,
24 "currency": "USD",
25 "type": "ATM_ACCESS_FEE"
26 }
27 ],
28 "fund_direction": "DEBIT",
29 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
30 "lifecycle_id": "6c2dc266-09ad-4235-b61a-767c7cd6d6ea",
31 "masked_card_number": "************4242",
32 "merchant": {
33 "additional_merchant_info": {
34 "merchant_brand_category_id": 17000,
35 "merchant_brand_id": "6c2dc266-09ad-4235-b61a-767c7cd6d6ea",
36 "merchant_brand_name": "Meta",
37 "merchant_brand_subcategory_id": 17004,
38 "merchant_logo_url": "https://example.com/logo.png"
39 },
40 "category_code": "4829",
41 "city": "New York",
42 "country": "US",
43 "identifier": "012345678910123",
44 "name": "Test Merchant",
45 "postcode": "10001",
46 "state": "NY"
47 },
48 "status": "AUTHORIZED",
49 "transaction_amounts": {
50 "currency": "USD",
51 "total_authorized": 100,
52 "total_credited": 0,
53 "total_debited": 100,
54 "total_declined": 0,
55 "total_expired": 0,
56 "total_pending": 0,
57 "total_reversed": 0
58 },
59 "updated_at": "2018-03-22T16:08:02+00:00"
60 }
61 ],
62 "page_after": "YWZ0ZXI9MmFjNmEzMjQtM2IwNC00M2JkLThmNTUtOWQ5YzdmZjEzZGZm",
63 "page_before": "YmVmb3JlPWVmZDQxZTk3LTU2MzctNDQ5MC04NjNkLTU2MDE5MjIwNDQ2YQ=="
64}
Was this section helpful?

Get single card transaction

GET /api/v1/issuing/card_transactions/{id}

Retrieve a single card transaction by its unique identifier. The response includes the current status, fund direction, merchant details, and aggregated billing amounts.

Parameters
idrequiredstring

Unique identifier of the card transaction.

Response body - 200 OK
billing_amountsobject

Aggregated amounts in the card's billing currency (the currency of the cardholder's wallet). Includes totals for authorized, debited, credited, pending, and other states.

billing_amounts.currencystring

Three-letter ISO 4217 currency code for all amounts in this object.

billing_amounts.total_authorizednumber

Total amount authorized (funds reserved in the wallet).

billing_amounts.total_creditednumber

Total amount credited (funds returned to the wallet, e.g., refunds).

billing_amounts.total_debitednumber

Total amount debited (funds moved out of the wallet after clearing).

billing_amounts.total_declinednumber

Total amount declined (transaction amounts that were rejected).

billing_amounts.total_expirednumber

Total amount expired (authorized amounts that were never captured and have been released).

billing_amounts.total_pendingnumber

Total amount still pending (outstanding authorized amount not yet cleared, reversed, or expired).

billing_amounts.total_reversednumber

Total amount reversed (authorized amounts that were cancelled and released).

card_idstring

Unique identifier of the card associated with this card transaction.

created_atstring

Date and time when the card transaction was created, in ISO 8601 format.

digital_wallet_tokenobject

Details of the digital wallet token used for the transaction, if applicable.

digital_wallet_token.idstring

Unique identifier for digital token.

digital_wallet_token.payment_methodstring

Payment method used. One of: APPLE_PAY, GOOGLE_PAY, CARD_ON_FILE

expiry_datestring

The date and time when the current authorization is set to expire, in ISO 8601 format. After expiry, reserved funds are released. Note: the status may not update to EXPIRED immediately after this time.

failure_reasonstring

The reason the transaction was declined. Only present when status is DECLINED. Learn more about transaction failure reasons .

fee_detailsarray

Fees applied to this card transaction, such as ATM fees or foreign transaction fees.

fee_details.amountnumber

Fee amount.

fee_details.currencystring

Currency in which the fee is charged (3-letter ISO-4217 code).

fee_details.typestring

Fee type. One of: ATM_ACCESS_FEE.

fund_directionstring

The direction of funds relative to the cardholder's wallet. One of: DEBIT, CREDIT, or NO_MOVEMENT.

idstring

Unique identifier of the card transaction.

lifecycle_idstring

Unique identifier of the lifecycle this card transaction belongs to. Use this to retrieve all related card transactions (e.g., a purchase and its refund).

masked_card_numberstring

The masked primary account number (PAN) of the card.

merchantobject

Details about the merchant where the transaction occurred, including enriched brand information.

merchant.additional_merchant_infoobject

Supplemental details providing richer context on the merchant and its brand. Learn more about merchant brand controls .

merchant.additional_merchant_info.merchant_brand_category_idinteger

The unique identifier associated with the merchant category.

merchant.additional_merchant_info.merchant_brand_idstring

The unique identifier for the merchant brand.

merchant.additional_merchant_info.merchant_brand_namestring

The full legal or common name of the merchant.

merchant.additional_merchant_info.merchant_brand_subcategory_idinteger

The unique identifier associated with the merchant's sub-category.

merchant.additional_merchant_info.merchant_logo_urlstring

URL of the merchant's logo for display purposes.

merchant.category_codestring

The Merchant Category Code (MCC).

merchant.citystring

The city of the merchant.

merchant.countrystring

The country of the merchant.

merchant.identifierstring

Unique identifier for the merchant.

merchant.namestring

The short name of the merchant.

merchant.postcodestring

The postal code of the merchant.

merchant.statestring

The state or province of the merchant.

statusstring

The current status of the card transaction. AUTHORIZED is non-terminal; all other statuses are terminal. One of: AUTHORIZED, CLEARED, DECLINED, EXPIRED, REVERSED, VERIFIED.

transaction_amountsobject

Aggregated amounts in the merchant's transaction currency (the currency used at the point of sale).

transaction_amounts.currencystring

Three-letter ISO 4217 currency code for all amounts in this object.

transaction_amounts.total_authorizednumber

Total amount authorized (funds reserved in the wallet).

transaction_amounts.total_creditednumber

Total amount credited (funds returned to the wallet, e.g., refunds).

transaction_amounts.total_debitednumber

Total amount debited (funds moved out of the wallet after clearing).

transaction_amounts.total_declinednumber

Total amount declined (transaction amounts that were rejected).

transaction_amounts.total_expirednumber

Total amount expired (authorized amounts that were never captured and have been released).

transaction_amounts.total_pendingnumber

Total amount still pending (outstanding authorized amount not yet cleared, reversed, or expired).

transaction_amounts.total_reversednumber

Total amount reversed (authorized amounts that were cancelled and released).

updated_atstring

Date and time when the card transaction was last updated, in ISO 8601 format.

Errors
Error statusDescription
400

Possible errors: field_required, bad_request, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/issuing/card_transactions/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/issuing/card_transactions/card_transaction_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "billing_amounts": {
3 "currency": "USD",
4 "total_authorized": 100,
5 "total_credited": 0,
6 "total_debited": 100,
7 "total_declined": 0,
8 "total_expired": 0,
9 "total_pending": 0,
10 "total_reversed": 0
11 },
12 "card_id": "5b2dc266-09ad-4235-b61a-767c7cd6d6ef",
13 "created_at": "2018-03-22T16:08:02+00:00",
14 "digital_wallet_token": {
15 "id": "6c2dc266-09ad-4235-b61a-767c7cd6d6ea",
16 "payment_method": "GOOGLE_PAY"
17 },
18 "expiry_date": "2026-02-01T16:08:02+00:00",
19 "failure_reason": "<string>",
20 "fee_details": [
21 {
22 "amount": 500,
23 "currency": "USD",
24 "type": "ATM_ACCESS_FEE"
25 }
26 ],
27 "fund_direction": "DEBIT",
28 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
29 "lifecycle_id": "6c2dc266-09ad-4235-b61a-767c7cd6d6ea",
30 "masked_card_number": "************4242",
31 "merchant": {
32 "additional_merchant_info": {
33 "merchant_brand_category_id": 17000,
34 "merchant_brand_id": "6c2dc266-09ad-4235-b61a-767c7cd6d6ea",
35 "merchant_brand_name": "Meta",
36 "merchant_brand_subcategory_id": 17004,
37 "merchant_logo_url": "https://example.com/logo.png"
38 },
39 "category_code": "4829",
40 "city": "New York",
41 "country": "US",
42 "identifier": "012345678910123",
43 "name": "Test Merchant",
44 "postcode": "10001",
45 "state": "NY"
46 },
47 "status": "AUTHORIZED",
48 "transaction_amounts": {
49 "currency": "USD",
50 "total_authorized": 100,
51 "total_credited": 0,
52 "total_debited": 100,
53 "total_declined": 0,
54 "total_expired": 0,
55 "total_pending": 0,
56 "total_reversed": 0
57 },
58 "updated_at": "2018-03-22T16:08:02+00:00"
59}
Was this section helpful?