{
"id": "<string>",
"amount": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"checkoutSessionId": "<string>",
"metadata": {}
}Payment Intent
pending
(nothing paid yet) through processing (a payment is in flight) to a
terminal succeeded or canceled.
Create one with
POST /payments/payment-intent and
collect it with Payment Elements. The
POST response includes a clientSecret scoped to that intent. It is the
browser’s credential for that intent: it authorizes loading the payment form
and confirming the payment, which advances the intent from pending to
processing. It grants nothing else and is returned only on that create
response — never on GET — so treat it as sensitive: pass it to the browser,
but never log it or persist it.
Statuses
| Status | Meaning |
|---|---|
pending | Created, no payment received yet. |
processing | A buyer completed the payment form; settlement is in flight. A declined card returns the intent to pending so the buyer can try again. |
succeeded | The payment settled. This is the terminal success state. |
canceled | The intent was canceled and can no longer be paid. |
Metadata
metadata is stored on the intent and echoed back on every read — use it to
carry your own order reference (for example { "orderId": "ord_123" }) so
you can correlate a payment intent to the right order without extra lookups.
Tracking payment state
Subscribe to thepayments.payment_intent.updated
webhook and read the intent back with
GET /payments/payment-intent/{id}
when it fires. If you cannot receive webhooks, poll that endpoint instead.
Fulfill when status is "succeeded" — that is the only signal a payment has
settled; never grant goods or services on a browser-side signal alone.A payment intent represents a single intent to collect a card payment from a buyer. It may be created directly for the Slash Checkout SDK or by a higher-level product such as Checkout Sessions or card-enabled invoices; its status tracks the payment from creation through settlement.
Unique identifier for the payment intent.
Status of the payment intent. pending intents have not been paid yet; processing intents have a payment in flight awaiting settlement; succeeded intents have a confirmed settled payment; failed intents had a payment attempt fail; canceled intents were canceled and can no longer be paid.
pending, processing, succeeded, failed, canceled Payment amount in cents.
ISO currency code for the payment. Supported currencies are usd and eur.
usd, eur ISO-8601 timestamp the payment intent was created at.
ISO-8601 timestamp the payment intent last changed status.
The checkout session collecting this payment, when the intent was created via POST /checkout-session. Absent for payment intents created by other products (for example card-enabled invoices).
Merchant-defined metadata stored on the payment intent and echoed in payment intent responses and the payment-intent success webhook.