Skip to main content
A SetupIntent (seti_…) guides the process of saving a card for future use without collecting a payment. Your server creates it with a currency and an optional customer, then the buyer’s browser confirms it with a single-use payment token. On success, Ionic creates a reusable PaymentMethod (pm_…) and links it to the SetupIntent. When a customer is supplied, a mandate is created on confirm and the PaymentMethod is linked to that customer. Browser collection uses Ionic.js Payment Blocks with a publishable key and the client_secret returned at creation. The management endpoints require a secret key. For the full flow, see Save cards. Platforms acting for a connected account follow Save cards for connected accounts.

Attributes

string
Unique identifier for the setup intent (seti_…).
string | null
The customer this intent is attached to (cus_…), or null if not customer-scoped.
string
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.
string | null
The reusable payment method created when the card was vaulted (pm_…). Null until succeeded.
string
Returned only when creating the intent. Pass to Ionic Blocks to collect and save a payment method. Keep out of URLs and logs.
object
Custom key-value pairs for your use.
See every field in the response of Retrieve a setup intent.

Endpoints

Statuses

Rules

  • If saving the card fails, the intent returns to requires_confirmation so you can retry with a fresh token.
  • Only an intent in requires_confirmation can be canceled. An intent that is processing, succeeded, or already canceled cannot.
  • payment_method is null until the intent is succeeded.