# Get card transaction Retrieve a card transaction by its ID. Use in conjunction with the V2.1.0 card transaction state change webhook. {% admonition type="warning" %} Only transactions created in the past 90 days can be accessed. A 422 error code will be returned otherwise. {% /admonition %} When a refund happens, a separate transaction will be added with a REFUND transaction type. Endpoint: GET /v4/spend/profiles/{profileId}/cards/transactions/{transactionId} Security: UserToken ## Path parameters: - `profileId` (integer, required) The ID of the profile that owns the card. Example: 123456 - `transactionId` (integer, required) The ID of the transaction. Example: 342671 ## Response 200 fields (application/json): - `id` (integer) ID of the transaction Example: 342671 - `cardToken` (string) Unique identifier of the card Example: "59123122-223d-45f9-b840-0ad4a4f80937" - `type` (string) [Type](/api-reference/card-transaction#card-transaction-type) of the transaction. One of: - ACCOUNT_CREDIT - ACCOUNT_FUNDING - CASH_ADVANCE - CASH_WITHDRAWAL - CHARGEBACK - CREDIT_TRANSACTION - ECOM_PURCHASE - POS_PURCHASE - REFUND Enum: "ACCOUNT_CREDIT", "ACCOUNT_FUNDING", "CASH_ADVANCE", "CASH_WITHDRAWAL", "CHARGEBACK", "CREDIT_TRANSACTION", "ECOM_PURCHASE", "POS_PURCHASE", "REFUND" - `state` (string) The current [state](/api-reference/card-transaction#card-transaction-state) of the transaction. One of: - IN_PROGRESS - COMPLETED - DECLINED - CANCELLED - UNKNOWN Enum: "IN_PROGRESS", "COMPLETED", "DECLINED", "CANCELLED", "UNKNOWN" - `declineReason` (string,null) Code of the [decline reason](/api-reference/card-transaction#card-transaction-decline-reasons) if applicable - `creationTime` (string) When the transaction was created Example: "2022-11-28T08:17:54.241Z" - `modificationTime` (string) When the transaction was last updated Example: "2022-11-28T08:17:54.241Z" - `purgeTime` (string,null) Time at which reserved funds will be released after the authorisation hold expires Example: "2022-11-28T08:17:54.241Z" - `transactionAmount` (object) Transaction amount, including any embedded fees such as ATM fees that are not applied by Wise - `transactionAmount.amount` (number) Transaction amount Example: 1.4 - `transactionAmount.currency` (string) Currency code Example: "SGD" - `fees` (array) Array of fees - `fees.amount` (number) Fee amount Example: 0.1 - `fees.fee_type` (string) Fee type Example: "ATM_ACQUIRER" - `transactionAmountWithFees` (object) Transaction amount including all fees - `transactionAmountWithFees.amount` (number) Transaction amount including all fees Example: 1.5 - `merchant` (object) Merchant information - `merchant.name` (string) Name of the merchant Example: "Test Payment" - `merchant.location` (object) Merchant location - `merchant.location.country` (string,null) Country where merchant is located Example: "France" - `merchant.location.city` (string,null) City where merchant is located Example: "Rouen" - `merchant.location.zipCode` (string,null) Zip code where merchant is located Example: "00000" - `merchant.location.region` (string,null) Region where merchant is located - `merchant.location.state` (string,null) State where merchant is located - `merchant.category` (object) Merchant category - `merchant.category.name` (string) Category of the merchant Example: "MISCELLANEOUS_FOOD_STORES_CONVEN" - `merchant.category.code` (string) MCC code of the merchant Example: "5999" - `merchant.category.description` (string) Description of the merchant category Example: "5999 R Miscellaneous and Special" - `authorisationMethod` (string) Authorisation method Example: "MANUAL_ENTRY" - `approvalCode` (string,null) Also called authorization code. This can be used to prove ownership of a customer's card/account to a merchant Example: "913647" - `billingAmount` (object) Billing amount - `billingAmount.amount` (number) Billing amount Example: 1.1 - `arn` (string,null) Acquirer reference number Example: "04300014127798385983852" - `pinValidationResult` (string,null) PIN validation result. One of: - ONLINE_PIN_VALIDATED - ONLINE_PIN_INVALID - OFFLINE_PIN_VALIDATED - OFFLINE_PIN_INVALID - NOT_RECEIVED Enum: "ONLINE_PIN_VALIDATED", "ONLINE_PIN_INVALID", "OFFLINE_PIN_VALIDATED", "OFFLINE_PIN_INVALID", "NOT_RECEIVED" - `balanceChannelReferenceId` (string,null) Balance channel reference ID associated with the card transaction Example: "6e71018d-2f4d-4fc3-6711-f517f4664712" - `debits` (array) Array of debits. Only present when retrieving a single transaction by ID. The debits list is a non-aggregated list of debit movements, meaning that the balanceId is not unique in the list. For example, a cancelled transaction may have a list of 2 debits where the absolute values of debitedAmount.amount, forAmount.amount and fee.amount are the same, but one is the negation of the other due to a reservation (first debit) which was then released (second debit with negated amounts). You can choose to perform the aggregation in your system or display the full list of debits to the end customer. - `debits.balanceId` (integer) Balance ID Example: 52832 - `debits.debitedAmount` (object) Amount taken from the balance - `debits.debitedAmount.amount` (number) Amount Example: 1.1 - `debits.forAmount` (object) Amount converted to - `debits.rate` (number) Exchange rate of debitedAmount to forAmount Example: 1.36363636364 - `debits.fee` (object) Conversion fee - `debits.fee.amount` (number) Conversion fee amount Example: 0.04 - `debits.creationTime` (string) Creation time of debit Example: "2022-11-28T08:17:54.241Z" - `credits` (array) Array of credits. Only present when retrieving a single transaction by ID - `credits.creditedAmount` (object) Amount credited to the balance - `credits.creationTime` (string) Creation time of credit Example: "2022-11-28T08:17:54.241Z"