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.
Endpoints
Statuses
Rules
- If saving the card fails, the intent returns to
requires_confirmationso you can retry with a fresh token. - Only an intent in
requires_confirmationcan be canceled. An intent that isprocessing,succeeded, or alreadycanceledcannot. payment_methodis null until the intent issucceeded.

