Card Transactions

These APIs allow you to retrieve information on transactions that are made on your user's cards.

The API to get a list of card transactions will be deprecated on 01/12/2023

The possible state values are:

  • IN_PROGRESS - The transaction has been authorized but not captured.
  • COMPLETED - The transaction has been captured and/or settled.
  • DECLINED - The transaction has been declined.
  • CANCELLED - The transaction has been cancelled.
  • UNKNOWN - Default fallback status if the state can't be confirmed.

The transition from CANCELLED to COMPLETED is an edge case. Wise is releasing the customer funds after 7 days if the merchant has not capture the transaction, the state becomes CANCELLED. But the merchant can decide to capture the transaction after 7 days, the state will then be COMPLETED.

Transaction state flow

GET /v3/spend/profiles/{{profileId}}/cards/{{cardToken}}/transactions?pageSize=10&pageNumber=1&fromTransactionDate=2022-11-01&toTransactionDate=2022-11-15

This endpoint returns a list of card transactions. If no date range is specified, it retrieves all the transactions from the start.

You can also use the card transaction webhook if you prefer receiving notifications on the go.

You can follow this guide to simulate various card transactions in the sandbox environment.

FieldsTypeDefinitionRequired
pageSizeStringThe maximum number of card orders to return per page. This number can be between 10 - 100, and will default to 10No
pageNumberStringThe page number to retrieve the next set of card orders. The number has to be greater than 1, and will default to 1No
fromTransactionDateStringThe start date of the date filter. The format is YYYY-MM-DDNo
toTransactionDateStringThe end date of the date filter. The format is YYYY-MM-DDNo

The possible type values are:

  • ACCOUNT_CREDIT - Receiving money on the card, excluding Visa OCT or Mastercard MoneySend
  • ACCOUNT_FUNDING - Sending money to another card or e-wallet
  • CASH_ADVANCE - Cash disbursement
  • CASH_WITHDRAWAL - ATM withdrawal
  • CHARGEBACK - Currently unused. Reserved for future use.
  • CREDIT_TRANSACTION - Visa OCT and Mastercard MoneySend
  • ECOM_PURCHASE - Online purchase
  • POS_PURCHASE - Purchase via a POS Terminal
  • REFUND - Partial or full refund of an existing card transaction

The possible state values are listed here

When a refund happens, a separate transaction will be added with a REFUND transaction type.

Example Request
curl -X GET https://api.sandbox.transferwise.tech/v3/spend/profiles/{{profileId}}/cards/{{cardToken}}/transactions?pageSize=10&pageNumber=1&fromTransactionDate=2022-11-01&toTransactionDate=2022-11-15 \
-H 'Authorization: Bearer <your api token>'

Response

FieldsTypeDefinition
totalCountIntegerThe total number of transactions for this cardToken
transactionsList<Transaction>A collection of Transaction for this cardToken
Example Response
{
"transactions": [
{
"id": "342671",
"cardToken": "590b5b72-223d-45f9-b840-0ad4a4f80937",
"type": "ECOM_PURCHASE",
"declineReason": null,
"createdDate": "2022-11-28T08:17:54.241236Z",
"state": "IN_PROGRESS",
"cardLastDigits": "3086",
"transactionAmount": {
"amount": 1.5,
"currency": "SGD"
},
"fees": [],
"transactionAmountWithFees": {
"amount": 1.5,
"currency": "SGD"
},
"merchant": {
"id": "332512",
"name": "Test Payment",
"location": {
"country": "France",
"city": "Rouen",
"zipCode": "00000",
"region": null,
"state": null
},
"category": {
"name": "RMiscellaneousAndSpecial",
"code": "5999",
"description": "5999 R Miscellaneous and Special"
}
},
"authorisationMethod": "MANUAL_ENTRY",
"balanceTransactionId": 2598366,
"debits": [
{
"balanceId": 52832,
"debitedAmount": {
"amount": 1.06,
"currency": "EUR"
},
"forAmount": {
"amount": 1.5,
"currency": "SGD"
},
"rate": 1.43073,
"fee": {
"amount": 0.01,
"currency": "EUR"
}
}
]
}
],
"totalCount": 1,
}

GET /v3/spend/profiles/{{profileId}}/cards/transactions/{{transactionId}}

Retrieve a card transaction based on its transaction ID.

Example Request
curl -X GET 'https://api.sandbox.transferwise.tech/v3/spend/profiles/{{profileId}}/cards/transactions/{{transactionId}}
-H 'Authorization: Bearer <your api token>'

Response

The possible type values are:

  • ACCOUNT_CREDIT - Receiving money on the card, excluding Visa OCT or Mastercard MoneySend
  • ACCOUNT_FUNDING - Sending money to another card or e-wallet
  • CASH_ADVANCE - Cash disbursement
  • CASH_WITHDRAWAL - ATM withdrawal
  • CHARGEBACK - Currently unused. Reserved for future use.
  • CREDIT_TRANSACTION - Visa OCT and Mastercard MoneySend
  • ECOM_PURCHASE - Online purchase
  • POS_PURCHASE - Purchase via a POS Terminal
  • REFUND - Partial or full refund of an existing card transaction

The possible state values are listed here

When a refund happens, a separate transaction will be added with a REFUND transaction type.

Example Response
{
"id": "342671",
"cardToken": "59123122-223d-45f9-b840-0ad4a4f80937",
"type": "ECOM_PURCHASE",
"declineReason": null,
"createdDate": "2022-11-28T08:17:54.241236Z",
"state": "IN_PROGRESS",
"cardLastDigits": "3086",
"transactionAmount": {
"amount": 1.5,
"currency": "SGD"
},
"fees": [],
"transactionAmountWithFees": {
"amount": 1.5,
"currency": "SGD"
},
"merchant": {
"id": "332512",
"name": "Test Payment",
"location": {
"country": "France",
"city": "Rouen",
"zipCode": "00000",
"region": null,
"state": null
},
"category": {
"name": "RMiscellaneousAndSpecial",
"code": "5999",
"description": "5999 R Miscellaneous and Special"
}
},
"authorisationMethod": "MANUAL_ENTRY",
"balanceTransactionId": 2598366,
"debits": [
{
"balanceId": 52832,
"debitedAmount": {
"amount": 1.06,
"currency": "EUR"
},
"forAmount": {
"amount": 1.5,
"currency": "SGD"
},
"rate": 1.43073,
"fee": {
"amount": 0.01,
"currency": "EUR"
}
}
]
}