Attributes
- idstringretrievable with publishable key
Unique identifier for the object.
- automatic_
payment_ methodsnullable object Settings for dynamic payment methods compatible with this Setup Intent
- client_
secretnullable stringretrievable with publishable key The client secret of this SetupIntent. Used for client-side retrieval using a publishable key.
The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.
- customernullable stringExpandable
ID of the Customer this SetupIntent belongs to, if one exists.
If present, the SetupIntent’s payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.
- descriptionnullable stringretrievable with publishable key
An arbitrary string attached to the object. Often useful for displaying to users.
- last_
setup_ errornullable objectretrievable with publishable key The error encountered in the previous SetupIntent confirmation.
- metadatanullable object
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- next_
actionnullable objectretrievable with publishable key If present, this property tells you what actions you need to take in order for your customer to continue payment setup.
- payment_
methodnullable stringExpandableretrievable with publishable key ID of the payment method used with this SetupIntent. If the payment method is
card_
and isn’t a digital wallet, then the generated_card associated with thepresent latest_
is attached to the Customer instead.attempt - statusenumretrievable with publishable key
Status of this SetupIntent, one of
requires_
,payment_ method requires_
,confirmation requires_
,action processing
,canceled
, orsucceeded
.Possible enum valuescanceled
processing
requires_
action requires_
confirmation requires_
payment_ method succeeded
- usagestringretrievable with publishable key
Indicates how the payment method is intended to be used in the future.
Use
on_
if you intend to only reuse the payment method when the customer is in your checkout flow. Usesession off_
if your customer may or may not be in your checkout flow. If not provided, this value defaults tosession off_
.session
More attributes
- objectstringretrievable with publishable key
- applicationnullable stringExpandableConnect only
- attach_
to_ selfnullable boolean - cancellation_
reasonnullable enumretrievable with publishable key - createdtimestampretrievable with publishable key
- flow_
directionsnullable array of enums - latest_
attemptnullable stringExpandable - livemodebooleanretrievable with publishable key
- mandatenullable stringExpandable
- on_
behalf_ ofnullable stringExpandableConnect only - payment_
method_ configuration_ detailsnullable object - payment_
method_ optionsnullable object - payment_
method_ typesarray of stringsretrievable with publishable key - single_
use_ mandatenullable stringExpandable
{ "id": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG", "object": "setup_intent", "application": null, "cancellation_reason": null, "client_secret": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG_secret_NXDICkPqPeiBTAFqWmkbff09lRmSVXe", "created": 1678942624, "customer": null, "description": null, "flow_directions": null, "last_setup_error": null, "latest_attempt": null, "livemode": false, "mandate": null, "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": null, "payment_method_options": { "card": { "mandate_options": null, "network": null, "request_three_d_secure": "automatic" } }, "payment_method_types": [ "card" ], "single_use_mandate": null, "status": "requires_payment_method", "usage": "off_session"}
Creates a SetupIntent object.
After you create the SetupIntent, attach a payment method and confirm it to collect any required permissions to charge the payment method later.
Parameters
- automatic_
payment_ methodsobject When you enable this parameter, this SetupIntent accepts payment methods that you enable in the Dashboard and that are compatible with its other parameters.
- confirmboolean
Set to
true
to attempt to confirm this SetupIntent immediately. This parameter defaults tofalse
. If a card is the attached payment method, you can provide areturn_
in case further authentication is necessary.url - customerstring
ID of the Customer this SetupIntent belongs to, if one exists.
If present, the SetupIntent’s payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.
- descriptionstring
An arbitrary string attached to the object. Often useful for displaying to users.
- metadataobject
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. - payment_
methodstring ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.
- usageenum
Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to
off_
.session Possible enum valuesoff_
session Use
off_
if your customer may or may not be in your checkout flow.session on_
session Use
on_
if you intend to only reuse the payment method when the customer is in your checkout flow.session
More parameters
- attach_
to_ selfboolean - confirmation_
tokenstringonly when confirm=true - flow_
directionsarray of enums - mandate_
dataobjectonly when confirm=true - on_
behalf_ ofstringConnect only - payment_
method_ configurationstring - payment_
method_ dataobject - payment_
method_ optionsobject - payment_
method_ typesarray of strings - return_
urlstringonly when confirm=true - single_
useobject - use_
stripe_ sdkboolean
Returns
Returns a SetupIntent object.
{ "id": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG", "object": "setup_intent", "application": null, "cancellation_reason": null, "client_secret": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG_secret_NXDICkPqPeiBTAFqWmkbff09lRmSVXe", "created": 1678942624, "customer": null, "description": null, "flow_directions": null, "last_setup_error": null, "latest_attempt": null, "livemode": false, "mandate": null, "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": null, "payment_method_options": { "card": { "mandate_options": null, "network": null, "request_three_d_secure": "automatic" } }, "payment_method_types": [ "card" ], "single_use_mandate": null, "status": "requires_payment_method", "usage": "off_session"}
Updates a SetupIntent object.
Parameters
- customerstring
ID of the Customer this SetupIntent belongs to, if one exists.
If present, the SetupIntent’s payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.
- descriptionstring
An arbitrary string attached to the object. Often useful for displaying to users.
- metadataobject
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. - payment_
methodstring ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. To unset this field to null, pass in an empty string.
More parameters
- attach_
to_ selfboolean - flow_
directionsarray of enums - payment_
method_ configurationstring - payment_
method_ dataobject - payment_
method_ optionsobject - payment_
method_ typesarray of strings
Returns
Returns a SetupIntent object.
{ "id": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG", "object": "setup_intent", "application": null, "cancellation_reason": null, "client_secret": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG_secret_NXDICkPqPeiBTAFqWmkbff09lRmSVXe", "created": 1678942624, "customer": null, "description": null, "flow_directions": null, "last_setup_error": null, "latest_attempt": null, "livemode": false, "mandate": null, "metadata": { "order_id": "6735" }, "next_action": null, "on_behalf_of": null, "payment_method": null, "payment_method_options": { "card": { "mandate_options": null, "network": null, "request_three_d_secure": "automatic" } }, "payment_method_types": [ "card" ], "single_use_mandate": null, "status": "requires_payment_method", "usage": "off_session"}
Retrieves the details of a SetupIntent that has previously been created.
Client-side retrieval using a publishable key is allowed when the client_
is provided in the query string.
When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details.
Parameters
- client_
secretstringRequired if using publishable key The client secret of the SetupIntent. We require this string if you use a publishable key to retrieve the SetupIntent.
Returns
Returns a SetupIntent if a valid identifier was provided.
{ "id": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG", "object": "setup_intent", "application": null, "cancellation_reason": null, "client_secret": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG_secret_NXDICkPqPeiBTAFqWmkbff09lRmSVXe", "created": 1678942624, "customer": null, "description": null, "flow_directions": null, "last_setup_error": null, "latest_attempt": null, "livemode": false, "mandate": null, "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": null, "payment_method_options": { "card": { "mandate_options": null, "network": null, "request_three_d_secure": "automatic" } }, "payment_method_types": [ "card" ], "single_use_mandate": null, "status": "requires_payment_method", "usage": "off_session"}
Returns a list of SetupIntents.
Parameters
- customerstring
Only return SetupIntents for the customer specified by this customer ID.
- payment_
methodstring Only return SetupIntents that associate with the specified payment method.
More parameters
- attach_
to_ selfboolean - createdobject
- ending_
beforestring - limitinteger
- starting_
afterstring
Returns
A dictionary with a data
property that contains an array of up to limit
SetupIntents, starting after SetupIntent starting_
. Each entry in the array is a separate SetupIntent object. If no more SetupIntents are available, the resulting array will be empty.
{ "object": "list", "url": "/v1/setup_intents", "has_more": false, "data": [ { "id": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG", "object": "setup_intent", "application": null, "cancellation_reason": null, "client_secret": "seti_1Mm8s8LkdIwHu7ix0OXBfTRG_secret_NXDICkPqPeiBTAFqWmkbff09lRmSVXe", "created": 1678942624, "customer": null, "description": null, "flow_directions": null, "last_setup_error": null, "latest_attempt": null, "livemode": false, "mandate": null, "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": null, "payment_method_options": { "card": { "mandate_options": null, "network": null, "request_three_d_secure": "automatic" } }, "payment_method_types": [ "card" ], "single_use_mandate": null, "status": "requires_payment_method", "usage": "off_session" } ]}