Skip to main content
POST
Finalize a confirmed SetupIntent
Requires a portal session. Call after stripe.confirmSetup succeeds — inline, or on return from a 3DS/bank redirect (Stripe appends ?setup_intent= to the return URL; the portal dashboard forwards it here).
Verifies with Stripe that the SetupIntent succeeded and that its metadata customer_id matches the authenticated customer — a SetupIntent for someone else can never update this customer’s card — then records the saved method as the default used by dunning retries and off-session charges.

Request Body

Example

Authorizations

portal_session
string
cookie
required

Customer-portal session cookie issued by GET /portal/auth/verify.

Body

application/json
setup_intent_id
string
required

Response

Saved (status saved with card metadata) or still processing.

data
object