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

# transaction.created

> Sent when a sale is recorded against a customer.

Every webhook is delivered as JSON with the same envelope, `transaction.created`
carries the transaction in `data`:

**type** `string`

The event name, `transaction.created`.
**data** `object`

The transaction this event is about.

**data**

**id** `string`

Unique id for the transaction.

**status** `string | null`

Current state of the transaction, for example `paid` or `refunded`.

**amount** `string | null`

Transaction amount in cents, serialized as a string, e.g. `"4900"`.

**currency** `string | null`

Three-letter currency code, for example `usd`.

**source** `string | null`

Where the transaction came from, for example `stripe`.

**charge\_id** `string | null`

Id of the underlying charge in the source system.

**billing\_type** `string | null`

How the customer is billed, for example `subscription` or `one_time`.

**interval** `string | null`

Billing interval, for example `month`. May be null, for example for one-time payments.

**product\_names** `string[] | null`

Names of the products included in the transaction.

**quantity** `number | null`

Number of units purchased.

**partner\_id** `string | null`

Id of the partner credited for the sale.

**customer\_id** `string | null`

Id of the customer who made the purchase.

**click\_id** `string | null`

Id of the click this transaction was attributed to, if any.

**program\_id** `string | null`

Id of the program the transaction belongs to.

**organization\_id** `string`

Id of the organization that owns the program.

**created\_at** `string`

When the transaction was created, as an ISO 8601 timestamp.

**updated\_at** `string`

When the transaction was last updated, as an ISO 8601 timestamp.
**timestamp** `string`

ISO 8601 time the event was emitted.

Deliveries can carry more fields than listed here, and the example below is shortened, so ignore fields you don't use.

```json Payload theme={"system"}
{
  "type": "transaction.created",
  "data": {
    "id": "txn_5MqRw9KxL2tZb8NvYc4HdFsJ",
    "status": "paid",
    "amount": "4900",
    "currency": "usd",
    "source": "stripe",
    "charge_id": "ch_3Qf8x2aBcD",
    "billing_type": "subscription",
    "interval": "month",
    "product_names": ["Pro Plan"],
    "quantity": 1,
    "partner_id": "part_8fKq2LmZx7RtYw3nVbHc5dPj",
    "customer_id": "cus_4RkWm8ZqT2xLb7NvYc9HdPjF",
    "click_id": "clk_9TkWq3ZmR7xLb2NvYc5HdPjF",
    "program_id": "prg_3hTq9WxLm2RbZk7VnYc4DsPf",
    "organization_id": "org_7YtKm3QwZ9xRb2NvHc6LdPsF",
    "created_at": "2026-08-24T14:25:41.120Z",
    "updated_at": "2026-08-24T14:25:41.120Z"
  },
  "timestamp": "2026-08-24T14:25:41.120Z"
}
```


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