> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentcard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Transactions

> Every charge on your company's cards and every Vault checkout your agents opened, authenticated with your platform token.

Reconcile your spend, catch up on what your webhook endpoint missed, or show a user their history. A transaction is one purchase attempt: a charge on a card, or a checkout paid from a user's Vault.

Every endpoint here takes your [platform token](https://docs.agentcard.com/api-reference/access-tokens/overview.md). Your credential decides the mode: sandbox credentials read sandbox transactions, production credentials read live ones. There is no mode parameter.

## The transaction object

| Field | Type | Description |
| - | - | - |
| `object` | string | `transaction` |
| `id` | string | The `transaction_id` its webhook events carry. |
| `source` | string | What paid. See [Sources](#sources). |
| `status` | string | See [Statuses](#statuses). |
| `amount` | integer | The figure billed, in the smallest unit of `currency`. A settled Vault checkout reads at what was paid. |
| `currency` | string | The billing currency, lowercase ISO 4217. Null on a simulated sandbox charge. |
| `amount_display` | string | `amount` and `currency` ready to show, such as `$12.50`. |
| `merchant_amount`, `merchant_currency` | integer, string | The merchant's own figure, when it charged in another currency. Otherwise null. |
| `merchant` | string | The merchant's name. |
| `mcc` | string | The merchant category code. Null on a Vault checkout. |
| `decline_reason` | string | Why it was declined, when it was. |
| `user_id` | string | The user it belongs to. Null on a card nobody has claimed yet. |
| `card_id`, `last4` | string | The card charged. Null on a Vault checkout. |
| `vault_card_id` | string | The Vault card used. Null on a card charge. |
| `processor_transaction_id` | string | The processor's reference, the `id` a `transaction.*` webhook event carries. Null on a Vault checkout. |
| `created_at` | string | When it happened, in ISO 8601. |

A transaction never carries a card number or a CVC.

## Sources

| `source` | What paid |
| - | - |
| `issued` | A card your company issued. |
| `added` | A one-time card made from a card the user added. |
| `vault` | A checkout with a card in the user's Vault. |

A Vault checkout paid with a card your company issued is listed once, as the charge on that card.

## Statuses

The statuses use the same words as the [`transaction.*` webhooks](https://docs.agentcard.com/webhooks/cards/overview).

| `status` | Meaning |
| - | - |
| `pending` | Waiting for the user's approval. Vault checkouts only. |
| `authorized` | Approved, not settled yet. |
| `cleared` | Settled. |
| `declined` | Refused by the user or the network. |
| `voided` | Cancelled, expired or reversed. No money moved. |
| `refunded` | Money went back. `amount` is negative. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.