A valid request URL is required to generate request examples{
"id": "<string>",
"object": "setup_intent",
"merchant_id": "<string>",
"livemode": true,
"customer": "<string>",
"currency": "<string>",
"status": "requires_confirmation",
"payment_method": "<string>",
"metadata": {},
"created_at": 123,
"updated_at": 123,
"client_secret": "<string>"
}{
"error": {
"code": "INVALID_REQUEST",
"message": "currency is required"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "SETUP_INTENT_NOT_FOUND",
"message": "setup intent not found"
}
}{
"error": {
"code": "INVALID_SETUP_INTENT_STATE",
"message": "setup intent cannot be confirmed in its current state"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Confirm a setup intent
Saves the card using a single-use payment token. The intent must be
in requires_confirmation. On success it moves to succeeded and
payment_method is set to the id of the created reusable payment
method. If vaulting fails the intent returns to requires_confirmation
so the client can retry with a fresh token.
A valid request URL is required to generate request examples{
"id": "<string>",
"object": "setup_intent",
"merchant_id": "<string>",
"livemode": true,
"customer": "<string>",
"currency": "<string>",
"status": "requires_confirmation",
"payment_method": "<string>",
"metadata": {},
"created_at": 123,
"updated_at": 123,
"client_secret": "<string>"
}{
"error": {
"code": "INVALID_REQUEST",
"message": "currency is required"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "SETUP_INTENT_NOT_FOUND",
"message": "setup intent not found"
}
}{
"error": {
"code": "INVALID_SETUP_INTENT_STATE",
"message": "setup intent cannot be confirmed in its current state"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
A merchant secret key (sk_…) sent as Authorization: Bearer <key>.
Headers
A unique key that makes retries safe: the same key with the same request body returns the original response instead of repeating the operation.
255Merchant ID when an authorized Platform acts for a connected Merchant. Omit when authenticating directly as that Merchant.
^mer_[0-9A-Za-z]{14}$Path Parameters
The setup intent id (seti_…).
Body
A single-use payment token created by the client-side card form.
Wallet used to create this token. Omit when unknown; use none only for a known card entry. Ionic records it as reported by the client and does not verify it.
unknown, none, apple_pay, google_pay Response
The confirmed setup intent.
Unique identifier for the setup intent (seti_…).
setup_intent ID of the account that owns the setup intent (mer_…).
The customer this intent is attached to (cus_…), or null if not customer-scoped.
Three-letter ISO currency code.
requires_confirmation: initial state; awaiting a client-side token.
processing: vault operation is in progress.
succeeded: card vaulted and payment method created.
canceled: intent was canceled before completion.
requires_confirmation, processing, succeeded, canceled The reusable payment method created when the card was vaulted (pm_…). Null until succeeded.
Custom key-value pairs for your use.
Show child attributes
Show child attributes
Unix epoch seconds.
Unix epoch seconds.
Returned only when creating the intent. Pass to Ionic Blocks to collect and save a payment method. Keep out of URLs and logs.

