/v1/payment_intentsCreates a PaymentIntent object.
After the PaymentIntent is created, attach a payment method and confirm to continue the payment. Learn more about the available payment flows with the Payment Intents API.
When you use confirm=true during creation, it’s equivalent to creating
and confirming the PaymentIntent in the same call. You can use any parameters
available in the confirm API when you supply
confirm=true.
| Field | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| amount* | integer | Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| amount_details | object | Provides industry-specific information about the amount. 5 nested fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| application_fee_amount | integer | The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents use case for connected accounts. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| automatic_payment_methods | object | When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent's other parameters. 2 nested fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| capture_method | string | Controls when the funds will be captured from the customer's account. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| confirm | boolean | Set to | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| confirmation_method | string | Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| confirmation_token | string | ID of the ConfirmationToken used to confirm this PaymentIntent.
If the provided ConfirmationToken contains properties that are also being provided in this request, such as | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| currency* | string (currency) | Three-letter ISO currency code, in lowercase. Must be a supported currency. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| customer | string | ID of the Customer this PaymentIntent belongs to, if one exists.
Payment methods attached to other Customers cannot be used with this PaymentIntent.
If setup_future_usage is set and this PaymentIntent's payment method is not | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| customer_account | string | ID of the Account representing the customer that this PaymentIntent belongs to, if one exists.
Payment methods attached to other Accounts cannot be used with this PaymentIntent.
If setup_future_usage is set and this PaymentIntent's payment method is not | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| description | string | An arbitrary string attached to the object. Often useful for displaying to users. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| error_on_requires_action | boolean | Set to | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| excluded_payment_method_types | array<string> | The list of payment method types to exclude from use with this payment. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| expand | array<string> | Specifies which fields in the response should be expanded. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hooks | object | Automations to be run during the PaymentIntent lifecycle 1 nested field
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| mandate | string | ID of the mandate that's used for this payment. This parameter can only be used with | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| mandate_data | object | string | This hash contains details about the Mandate to create. This parameter can only be used with | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| metadata | 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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| off_session | boolean | string | Set to | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| on_behalf_of | string | The Stripe account ID that these funds are intended for. Learn more about the use case for connected accounts. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| payment_details | object | Provides industry-specific information about the charge. 2 nested fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| payment_method | string | ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.
If you omit this parameter with | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| payment_method_configuration | string | The ID of the payment method configuration to use with this PaymentIntent. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| payment_method_data | object | If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method property on the PaymentIntent. 30 nested fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| payment_method_options | object | Payment method-specific configuration for this PaymentIntent. 30 nested fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| payment_method_types | array<string> | The list of payment method types (for example, a card) that this PaymentIntent can use. If you don't provide this, Stripe will dynamically show relevant payment methods from your payment method settings. A list of valid payment method types can be found here. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| radar_options | object | Options to configure Radar. Learn more about Radar Sessions. 1 nested field
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| receipt_email | string | Email address to send the receipt to. If you specify | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return_url | string | The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with |
| Field | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| amount | integer | Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). | |||||||||
| amount_capturable | integer | Amount that can be captured from this PaymentIntent. | |||||||||
| amount_details | payment_flows_amount_details | payment_flows_amount_details_client | ||||||||||
| amount_received | integer | Amount that this PaymentIntent collects. | |||||||||
| application | string | application | ID of the Connect application that created the PaymentIntent. | |||||||||
| application_fee_amount | integer | The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents use case for connected accounts. | |||||||||
| automatic_payment_methods | payment_flows_automatic_payment_methods_payment_intent | Settings to configure compatible payment methods from the Stripe Dashboard | |||||||||
| canceled_at | integer (unix-time) | Populated when | |||||||||
| cancellation_reason | string | Reason for cancellation of this PaymentIntent, either user-provided ( | |||||||||
| capture_method | string | Controls when the funds will be captured from the customer's account. | |||||||||
| client_secret | string | The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key.
The client secret can be used to complete a payment 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.
Refer to our docs to accept a payment and learn about how | |||||||||
| confirmation_method | string | Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. | |||||||||
| created* | integer (unix-time) | Time at which the object was created. Measured in seconds since the Unix epoch. | |||||||||
| currency | string (currency) | Three-letter ISO currency code, in lowercase. Must be a supported currency. | |||||||||
| customer | string | customer | deleted_customer | ID of the Customer this PaymentIntent belongs to, if one exists.
Payment methods attached to other Customers cannot be used with this PaymentIntent.
If setup_future_usage is set and this PaymentIntent's payment method is not | |||||||||
| customer_account | string | ID of the Account representing the customer that this PaymentIntent belongs to, if one exists.
Payment methods attached to other Accounts cannot be used with this PaymentIntent.
If setup_future_usage is set and this PaymentIntent's payment method is not | |||||||||
| description | string | An arbitrary string attached to the object. Often useful for displaying to users. | |||||||||
| excluded_payment_method_types | array<string> | The list of payment method types to exclude from use with this payment. | |||||||||
| hooks | payment_flows_payment_intent_async_workflows | 1 nested field
| |||||||||
| id* | string | Unique identifier for the object. | |||||||||
| last_payment_error | api_errors | The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason. | |||||||||
| latest_charge | string | charge | ID of the latest Charge object created by this PaymentIntent. This property is | |||||||||
| livemode* | boolean | If the object exists in live mode, the value is | |||||||||
| managed_payments | smor_resource_managed_payments | Settings for Managed Payments. | |||||||||
| metadata | 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. Learn more about storing information in metadata. | |||||||||
| next_action | payment_intent_next_action | If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source. | |||||||||
| object* | string | String representing the object's type. Objects of the same type share the same value. | |||||||||
| on_behalf_of | string | account | You can specify the settlement merchant as the
connected account using the | |||||||||
| payment_details | payment_flows_payment_details | 2 nested fields
| |||||||||
| payment_method | string | payment_method | ID of the payment method used in this PaymentIntent. |