POST /v1/payment_intents
Creates 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
.
Servers
- https://api.stripe.com/
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/x-www-form-urlencoded" |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
description |
String | No |
An arbitrary string attached to the object. Often useful for displaying to users. |
confirm |
Boolean | No |
Set to |
confirmation_token |
String | No |
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 |
use_stripe_sdk |
Boolean | No |
Set to |
application_fee_amount |
Integer | No |
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. |
metadata |
Object | No |
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 |
mandate_data |
No |
This hash contains details about the Mandate to create. This parameter can only be used with |
|
payment_method |
String | No |
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_options |
Object | No |
Payment method-specific configuration for this PaymentIntent. |
payment_method_options.swish |
No | ||
payment_method_options.multibanco |
No | ||
payment_method_options.affirm |
No | ||
payment_method_options.mobilepay |
No | ||
payment_method_options.paynow |
No | ||
payment_method_options.customer_balance |
No | ||
payment_method_options.pix |
No | ||
payment_method_options.sofort |
No | ||
payment_method_options.alipay |
No | ||
payment_method_options.interac_present |
No | ||
payment_method_options.cashapp |
No | ||
payment_method_options.zip |
No | ||
payment_method_options.afterpay_clearpay |
No | ||
payment_method_options.twint |
No | ||
payment_method_options.eps |
No | ||
payment_method_options.us_bank_account |
No | ||
payment_method_options.au_becs_debit |
No | ||
payment_method_options.konbini |
No | ||
payment_method_options.oxxo |
No | ||
payment_method_options.bancontact |
No | ||
payment_method_options.p24 |
No | ||
payment_method_options.card |
No | ||
payment_method_options.ideal |
No | ||
payment_method_options.amazon_pay |
No | ||
payment_method_options.paypal |
No | ||
payment_method_options.bacs_debit |
No | ||
payment_method_options.naver_pay |
No | ||
payment_method_options.klarna |
No | ||
payment_method_options.acss_debit |
No | ||
payment_method_options.blik |
No | ||
payment_method_options.payco |
No | ||
payment_method_options.wechat_pay |
No | ||
payment_method_options.pay_by_bank |
No | ||
payment_method_options.promptpay |
No | ||
payment_method_options.giropay |
No | ||
payment_method_options.kakao_pay |
No | ||
payment_method_options.crypto |
No | ||
payment_method_options.alma |
No | ||
payment_method_options.link |
No | ||
payment_method_options.satispay |
No | ||
payment_method_options.card_present |
No | ||
payment_method_options.fpx |
No | ||
payment_method_options.revolut_pay |
No | ||
payment_method_options.billie |
No | ||
payment_method_options.sepa_debit |
No | ||
payment_method_options.kr_card |
No | ||
payment_method_options.samsung_pay |
No | ||
payment_method_options.nz_bank_account |
No | ||
payment_method_options.grabpay |
No | ||
payment_method_options.boleto |
No | ||
currency |
String | Yes |
Three-letter ISO currency code, in lowercase. Must be a supported currency. |
error_on_requires_action |
Boolean | No |
Set to |
on_behalf_of |
String | No |
The Stripe account ID that these funds are intended for. Learn more about the use case for connected accounts. |
setup_future_usage |
String | No |
Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still attach the payment method to a Customer after the transaction completes. If the payment method is When processing card payments, Stripe uses Possible values:
|
payment_method_data |
Object | No |
If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method property on the PaymentIntent. |
payment_method_data.swish |
Object | No | |
payment_method_data.metadata |
Object | No | |
payment_method_data.multibanco |
Object | No | |
payment_method_data.affirm |
Object | No | |
payment_method_data.mobilepay |
Object | No | |
payment_method_data.paynow |
Object | No | |
payment_method_data.billing_details |
Object | No | |
payment_method_data.billing_details.email |
No | ||
payment_method_data.billing_details.name |
No | ||
payment_method_data.billing_details.tax_id |
String | No | |
payment_method_data.billing_details.phone |
No | ||
payment_method_data.billing_details.address |
No | ||
payment_method_data.customer_balance |
Object | No | |
payment_method_data.pix |
Object | No | |
payment_method_data.sofort |
Object | No | |
payment_method_data.sofort.country |
String | Yes |
Possible values:
|
payment_method_data.alipay |
Object | No | |
payment_method_data.interac_present |
Object | No | |
payment_method_data.cashapp |
Object | No | |
payment_method_data.zip |
Object | No | |
payment_method_data.type |
String | Yes |
Possible values:
|
payment_method_data.afterpay_clearpay |
Object | No | |
payment_method_data.twint |
Object | No | |
payment_method_data.eps |
Object | No | |
payment_method_data.eps.bank |
String | No |
Possible values:
|
payment_method_data.us_bank_account |
Object | No | |
payment_method_data.us_bank_account.routing_number |
String | No | |
payment_method_data.us_bank_account.account_number |
String | No | |
payment_method_data.us_bank_account.financial_connections_account |
String | No | |
payment_method_data.us_bank_account.account_holder_type |
String | No |
Possible values:
|
payment_method_data.us_bank_account.account_type |
String | No |
Possible values:
|
payment_method_data.au_becs_debit |
Object | No | |
payment_method_data.au_becs_debit.account_number |
String | Yes | |
payment_method_data.au_becs_debit.bsb_number |
String | Yes | |
payment_method_data.konbini |
Object | No | |
payment_method_data.oxxo |
Object | No | |
payment_method_data.bancontact |
Object | No | |
payment_method_data.p24 |
Object | No | |
payment_method_data.p24.bank |
String | No |
Possible values:
|
payment_method_data.allow_redisplay |
String | No |
Possible values:
|
payment_method_data.radar_options |
Object | No | |
payment_method_data.radar_options.session |
String | No | |
payment_method_data.ideal |
Object | No | |
payment_method_data.ideal.bank |
String | No |
Possible values:
|
payment_method_data.amazon_pay |
Object | No | |
payment_method_data.paypal |
Object | No | |
payment_method_data.bacs_debit |
Object | No | |
payment_method_data.bacs_debit.sort_code |
String | No | |
payment_method_data.bacs_debit.account_number |
String | No | |
payment_method_data.naver_pay |
Object | No | |
payment_method_data.naver_pay.funding |
String | No |
Possible values:
|
payment_method_data.klarna |
Object | No | |
payment_method_data.klarna.dob |
Object | No | |
payment_method_data.klarna.dob.day |
Integer | Yes | |
payment_method_data.klarna.dob.month |
Integer | Yes | |
payment_method_data.klarna.dob.year |
Integer | Yes | |
payment_method_data.acss_debit |
Object | No | |
payment_method_data.acss_debit.institution_number |
String | Yes | |
payment_method_data.acss_debit.transit_number |
String | Yes | |
payment_method_data.acss_debit.account_number |
String | Yes | |
payment_method_data.blik |
Object | No | |
payment_method_data.payco |
Object | No | |
payment_method_data.wechat_pay |
Object | No | |
payment_method_data.pay_by_bank |
Object | No | |
payment_method_data.promptpay |
Object | No | |
payment_method_data.giropay |
Object | No | |
payment_method_data.kakao_pay |
Object | No | |
payment_method_data.crypto |
Object | No | |
payment_method_data.alma |
Object | No | |
payment_method_data.link |
Object | No | |
payment_method_data.satispay |
Object | No | |
payment_method_data.fpx |
Object | No | |
payment_method_data.fpx.bank |
String | Yes |
Possible values:
|
payment_method_data.revolut_pay |
Object | No | |
payment_method_data.billie |
Object | No | |
payment_method_data.sepa_debit |
Object | No | |
payment_method_data.sepa_debit.iban |
String | Yes | |
payment_method_data.kr_card |
Object | No | |
payment_method_data.samsung_pay |
Object | No | |
payment_method_data.nz_bank_account |
Object | No | |
payment_method_data.nz_bank_account.bank_code |
String | Yes | |
payment_method_data.nz_bank_account.branch_code |
String | Yes | |
payment_method_data.nz_bank_account.account_number |
String | Yes | |
payment_method_data.nz_bank_account.account_holder_name |
String | No | |
payment_method_data.nz_bank_account.reference |
String | No | |
payment_method_data.nz_bank_account.suffix |
String | Yes | |
payment_method_data.grabpay |
Object | No | |
payment_method_data.boleto |
Object | No | |
payment_method_data.boleto.tax_id |
String | Yes | |
payment_method_configuration |
String | No |
The ID of the payment method configuration to use with this PaymentIntent. |
shipping |
Object | No |
Shipping information for this PaymentIntent. |
shipping.name |
String | Yes | |
shipping.carrier |
String | No | |
shipping.phone |
String | No | |
shipping.address |
Object | Yes | |
shipping.address.line2 |
String | No | |
shipping.address.line1 |
String | No | |
shipping.address.postal_code |
String | No | |
shipping.address.country |
String | No | |
shipping.address.state |
String | No | |
shipping.address.city |
String | No | |
shipping.tracking_number |
String | No | |
statement_descriptor |
String | No |
Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see the Statement Descriptor docs. Setting this value for a card charge returns an error. For card charges, set the statement_descriptor_suffix instead. |
transfer_data |
Object | No |
The parameters that you can use to automatically create a Transfer. Learn more about the use case for connected accounts. |
transfer_data.destination |
String | Yes | |
transfer_data.amount |
Integer | No | |
confirmation_method |
String | No |
Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. Possible values:
|
expand[] |
Array | No |
Specifies which fields in the response should be expanded. |
transfer_group |
String | No |
A string that identifies the resulting payment as part of a group. Learn more about the use case for connected accounts. |
automatic_payment_methods |
Object | No |
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. |
automatic_payment_methods.allow_redirects |
String | No |
Possible values:
|
automatic_payment_methods.enabled |
Boolean | Yes | |
receipt_email |
String | No |
Email address to send the receipt to. If you specify |
off_session |
No |
Set to |
|
return_url |
String | No |
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 |
statement_descriptor_suffix |
String | No |
Provides information about a card charge. Concatenated to the account's statement descriptor prefix to form the complete statement descriptor that appears on the customer's statement. |
customer |
String | No |
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 |
capture_method |
String | No |
Controls when the funds will be captured from the customer's account. Possible values:
|
amount |
Integer | Yes |
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). |
mandate |
String | No |
ID of the mandate that's used for this payment. This parameter can only be used with |
payment_method_types[] |
Array | No |
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 | No |
Options to configure Radar. Learn more about Radar Sessions. |
radar_options.session |
String | No |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.