Skip to main content
POST
Create Confirmation Token

Authorizations

Authorization
string
header
required

An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.

Headers

Idempotency-Key
string

A unique key that makes this request safe to retry. See Idempotent requests.

Maximum string length: 255
Example:

"d9105228-4a08-46b1-8b91-42fed586d383"

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-08-25-2"

Body

application/json
account_id
string
required

The account (biz_) this token is scoped to — the publishable identity.

Example:

"biz_xxxxxxxxxxxxxx"

payment_method
object
required

The collected method: type names the payment method, category names the payload shape, and the category-keyed object carries the payload. Wallets are the exception: their payload rides the type key (apple_pay / google_pay). Send exactly the one payload arm the category selects — extra arms are rejected. Redirect-flow methods (category redirect, bank_transfer, voucher, and redirect wallets like cashapp) collect nothing and send no payload arm.

billing_details
object

Billing details collected with the method. email is always required; cards additionally require name and an address with line1 and country.

browser_info
object | null

Screen/runtime facts from the buyer's browser (platform, screen dimensions, language, ...) used for authentication ceremonies. Header-derived fields are captured server-side.

Example:
return_url
string | null

Where redirect flows send the buyer, carried onto the confirm that consumes this token.

setup_future_usage
enum<string> | null

The save-consent state your surface displayed when the buyer confirmed. Confirm may vault only if attested here.

Available options:
off_session,
on_session,
null
Example:

"off_session"

Response

confirmation token created from a card token intent

billing_details
object | null
required

Enough of the billing details to raise a customer record and recognise the method — email, name, country and postal code. The street address is collected for the charge but never returned; this endpoint is a display-safe preview.

created_at
string
required

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

Example:

"2026-01-01T12:00:00.000Z"

expires_at
string
required

When the token expires, as an ISO 8601 timestamp. Tokens are single-use and short-lived.

Example:

"2026-01-01T12:00:00.000Z"

id
string
required
Example:

"ctok_xxxxxxxxxxxxxx"

object
string
required

Always confirmation_token.

Example:

"confirmation_token"

payment_method_preview
object
required

Display-only preview of the collected method — never the underlying token.

setup_future_usage
string | null
required

Save-consent state the element displayed at collection: off_session, on_session, or null. Confirm may vault only if attested here.

Example:

"off_session"

status
enum<string>
required

pending until it is used, then consumed; expired once its short lifetime elapses. Only a pending token can be charged.

Available options:
pending,
consumed,
expired
Example:

"pending"