payment.expired
The payment expired before it completed.
On this page
| Type | payment.expired |
|---|---|
| Cause | The payer did not complete the payment in time. |
| Payload | The payment object in data.object |
| Subscription | On by default for a new endpoint. |
When to use it
Stop waiting for this payment. Create a new session if the buyer still wants to pay.
Payload
The fields of data.object. The envelope is the same for every event.
- idstring
The payment ID,
pay_…. - objectstring
Always
payment. - statusstring
The state that this event reports. It matches the event type.
One of:
created,processing,succeeded,failed,canceled,expired,dispute_opened - transaction_idstring
The transaction that the payment collects,
txn_…. The checkout session that created the payment,
cs_….- amountinteger
The payment amount, in minor units.
- currencystring
The ISO 4217 currency code.
The payment method, when it is known. Use
typefor display only. The set of values is not fixed.Why the payment failed. Present on
payment.failed.- created_atstring (date-time)
When the payment was created.
When the payment succeeded.
When the payment failed.
- updated_atstring (date-time)
When the payment last changed.
Example
{
"id": "whevt_7Kd2VpXn4TqB9mLzR",
"object": "event",
"type": "payment.expired",
"created_at": "2026-09-14T09:24:53Z",
"api_version": "2026-08-01",
"account_id": "acct_5Rn8bQ2xW7mK4tLzP",
"data": {
"object": {
"id": "pay_3RtN6wYc8mK2hQvJd",
"object": "payment",
"status": "expired",
"transaction_id": "txn_0F8mQ2rXbT4kL9pZa",
"checkout_id": "cs_6HvB2nQx9LmT4kWpR",
"amount": 14280,
"currency": "EUR",
"payment_method": {
"type": "visa",
"brand": null,
"last4": null,
"country": null
},
"failure": null,
"created_at": "2026-09-14T09:23:40Z",
"succeeded_at": null,
"failed_at": null,
"updated_at": "2026-09-14T09:24:51Z"
}
}
}Other payment events: payment.created, payment.processing, payment.succeeded, payment.failed, payment.canceled.