Stripe: Update a Payment Intent
Stripe paymentIntents.postPaymentIntentsIntent: arguments, response, policy and SDK examples.
← Payment intents operations · Get started
Operation stripe.postpaymentintentsintent
Provider route: POST /v1/payment_intents/{intent}. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/stripe with npm, or alter-sdk-stripe with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { StripeIntegration } from "@alter-ai/stripe";
async function execute(input: Parameters<StripeIntegration["paymentIntents"]["postPaymentIntentsIntent"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new StripeIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.paymentIntents.postPaymentIntentsIntent(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_stripe import StripeIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = StripeIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.payment_intents.post_payment_intents_intent(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.intent | string | Required within parent | Maximum length: 5000 |
headers | object | Optional | Additional keys: not allowed |
headers.Idempotency-Key | string | Optional | Minimum length: 1 Maximum length: 255 |
body | object | Optional | Additional keys: not allowed |
body.allowed_payment_method_types | array | Optional | The list of payment method types allowed for use with this payment. Stripe automatically returns compatible payment methods from this list in the `payment_method_types` field of the response, based on the other PaymentIntent parameters, such as `currency`, `amount`, and `customer`. |
body.allowed_payment_method_types[] | string | Each item | One of: acss_debit, affirm, afterpay_clearpay, alipay, alma, amazon_pay, au_becs_debit, bacs_debit, bancontact, billie, bizum, blik, boku_promptpay, boleto, capchase_pay, card, card_present, cashapp, check_scan, click_to_pay, crypto, customer_balance, demo_pay, duitnow, dummy_auth_push, dummy_passthrough_card, edenred, eps, fpx, gcash, getbalance, gift_card, giropay, gopay, grabpay, id_bank_transfer, ideal, interac_present, kakao_pay, klarna, knet, konbini, kr_card, kr_market, kriya, link, mb_way, mobilepay, momo, mondu, multibanco, naver_pay, netbanking, ng_bank, ng_bank_transfer, ng_card, ng_market, ng_ussd, ng_wallet, nz_bank_account, octopus, oxxo, p24, paper_check, pay_by_bank, payco, paynow, paypal, paypay, payto, pix, promptpay, qris, rechnung, revolut_pay, samsung_pay, satispay, scalapay, sepa_debit, sequra, shop_pay, shopeepay, sofort, south_korea_market, stripe_balance, sunbit, swish, tamara, test_pay, touch_n_go, truemoney, twint, upi, us_bank_account, us_cash_voucher, vipps, wechat_pay, wero, zip |
body.amount | integer | Optional | Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal) (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](https://docs.stripe.com/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). |
body.amount_details | JSON | Optional | Provides industry-specific information about the amount. |
body.amount_details (anyOf 1) | Model | Alternative | Expand Update a Payment Intent — request body — body amount details discount amount, enforce arithmetic validation, line items, shipping, tax |
body.amount_details (anyOf 2) | string | Alternative | One of: |
body.application_fee_amount | JSON | Optional | 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](https://docs.stripe.com/payments/connected-accounts). |
body.application_fee_amount (anyOf 1) | integer | Alternative | |
body.application_fee_amount (anyOf 2) | string | Alternative | One of: |
body.capture_method | string | Optional | Controls when the funds will be captured from the customer’s account. One of: automatic, automatic_async, manual |
body.currency | string | Optional | Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Format: currency |
body.customer | string | Optional | 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](https://docs.stripe.com/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent’s payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn’t a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. Maximum length: 5000 |
body.customer_account | string | Optional | 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](https://docs.stripe.com/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent’s payment method is not `card_present`, then the payment method attaches to the Account after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn’t a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Account instead. Maximum length: 5000 |
body.description | string | Optional | An arbitrary string attached to the object. Often useful for displaying to users. Maximum length: 1000 |
body.excluded_payment_method_types | JSON | Optional | The list of payment method types to exclude from use with this payment. |
body.excluded_payment_method_types (anyOf 1) | array | Alternative | |
body.excluded_payment_method_types (anyOf 1)[] | string | Each item | One of: acss_debit, affirm, afterpay_clearpay, alipay, alma, amazon_pay, au_becs_debit, bacs_debit, bancontact, billie, bizum, blik, boleto, card, cashapp, crypto, customer_balance, eps, fpx, giropay, grabpay, ideal, kakao_pay, klarna, konbini, kr_card, mb_way, mobilepay, multibanco, naver_pay, nz_bank_account, oxxo, p24, pay_by_bank, payco, paynow, paypal, paypay, payto, pix, promptpay, revolut_pay, samsung_pay, satispay, scalapay, sepa_debit, sequra, sofort, sunbit, swish, twint, upi, us_bank_account, wechat_pay, zip |
body.excluded_payment_method_types (anyOf 2) | string | Alternative | One of: |
body.expand | array | Optional | Specifies which fields in the response should be expanded. |
body.expand[] | string | Each item | Maximum length: 5000 |
body.hooks | object | Optional | Automations to be run during the PaymentIntent lifecycle |
body.hooks.inputs | object | Optional | |
body.hooks.inputs.tax | object | Optional | |
body.hooks.inputs.tax.calculation | JSON | Required within parent | |
body.hooks.inputs.tax.calculation (anyOf 1) | string | Alternative | Maximum length: 5000 |
body.hooks.inputs.tax.calculation (anyOf 2) | string | Alternative | One of: |
body.metadata | JSON | Optional | Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`. |
body.metadata (anyOf 1) | object | Alternative | Additional keys: see wildcard field |
body.metadata (anyOf 1).* | string | Additional keys | |
body.metadata (anyOf 2) | string | Alternative | One of: |
body.payment_details | JSON | Optional | Provides industry-specific information about the charge. |
body.payment_details (anyOf 1) | object | Alternative | |
body.payment_details (anyOf 1).customer_reference | JSON | Optional | |
body.payment_details (anyOf 1).customer_reference (anyOf 1) | string | Alternative | Maximum length: 5000 |
body.payment_details (anyOf 1).customer_reference (anyOf 2) | string | Alternative | One of: |
body.payment_details (anyOf 1).order_reference | JSON | Optional | |
body.payment_details (anyOf 1).order_reference (anyOf 1) | string | Alternative | Maximum length: 5000 |
body.payment_details (anyOf 1).order_reference (anyOf 2) | string | Alternative | One of: |
body.payment_details (anyOf 2) | string | Alternative | One of: |
body.payment_method | string | Optional | ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://docs.stripe.com/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. To unset this field to null, pass in an empty string. Maximum length: 5000 |
body.payment_method_configuration | string | Optional | The ID of the [payment method configuration](https://docs.stripe.com/api/payment_method_configurations) to use with this PaymentIntent. Maximum length: 100 |
body.payment_method_data | Model | Optional | Expand Create a Payment Intent — request body — body payment method data |
body.payment_method_options | object | Optional | Payment-method-specific configuration for this PaymentIntent. |
body.payment_method_options.acss_debit | JSON | Optional | |
body.payment_method_options.acss_debit (anyOf 1) | Model | Alternative | Expand Create a PaymentIntent — request body — body / payment_method_options / acss_debit / setup_future_usage: , none, off session, on session, verification method: automatic, instant, microdeposits |
body.payment_method_options.acss_debit (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.affirm | JSON | Optional | |
body.payment_method_options.affirm (anyOf 1) | object | Alternative | |
body.payment_method_options.affirm (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.affirm (anyOf 1).preferred_locale | string | Optional | Maximum length: 30 |
body.payment_method_options.affirm (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.affirm (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.afterpay_clearpay | JSON | Optional | |
body.payment_method_options.afterpay_clearpay (anyOf 1) | object | Alternative | |
body.payment_method_options.afterpay_clearpay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.afterpay_clearpay (anyOf 1).reference | string | Optional | Maximum length: 128 |
body.payment_method_options.afterpay_clearpay (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.afterpay_clearpay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.alipay | JSON | Optional | |
body.payment_method_options.alipay (anyOf 1) | object | Alternative | |
body.payment_method_options.alipay (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.alipay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.alma | JSON | Optional | |
body.payment_method_options.alma (anyOf 1) | object | Alternative | |
body.payment_method_options.alma (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.alma (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.amazon_pay | JSON | Optional | |
body.payment_method_options.amazon_pay (anyOf 1) | object | Alternative | |
body.payment_method_options.amazon_pay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.amazon_pay (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.amazon_pay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.au_becs_debit | JSON | Optional | |
body.payment_method_options.au_becs_debit (anyOf 1) | object | Alternative | |
body.payment_method_options.au_becs_debit (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session, on_session |
body.payment_method_options.au_becs_debit (anyOf 1).target_date | string | Optional | Maximum length: 5000 |
body.payment_method_options.au_becs_debit (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.bacs_debit | JSON | Optional | |
body.payment_method_options.bacs_debit (anyOf 1) | object | Alternative | |
body.payment_method_options.bacs_debit (anyOf 1).mandate_options | object | Optional | |
body.payment_method_options.bacs_debit (anyOf 1).mandate_options.reference_prefix | JSON | Optional | |
body.payment_method_options.bacs_debit (anyOf 1).mandate_options.reference_prefix (anyOf 1) | string | Alternative | Maximum length: 12 |
body.payment_method_options.bacs_debit (anyOf 1).mandate_options.reference_prefix (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.bacs_debit (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session, on_session |
body.payment_method_options.bacs_debit (anyOf 1).target_date | string | Optional | Maximum length: 5000 |
body.payment_method_options.bacs_debit (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.bancontact | JSON | Optional | |
body.payment_method_options.bancontact (anyOf 1) | object | Alternative | |
body.payment_method_options.bancontact (anyOf 1).preferred_language | string | Optional | One of: de, en, fr, nl |
body.payment_method_options.bancontact (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.bancontact (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.billie | JSON | Optional | |
body.payment_method_options.billie (anyOf 1) | Model | Alternative | Expand Create a PaymentIntent — request body — body / payment_method_options / billie / capture_method: , manual |
body.payment_method_options.billie (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.bizum | JSON | Optional | |
body.payment_method_options.bizum (anyOf 1) | object | Alternative | |
body.payment_method_options.bizum (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.blik | JSON | Optional | |
body.payment_method_options.blik (anyOf 1) | object | Alternative | |
body.payment_method_options.blik (anyOf 1).code | string | Optional | Maximum length: 5000 |
body.payment_method_options.blik (anyOf 1).mandate_options | object | Optional | |
body.payment_method_options.blik (anyOf 1).mandate_options.expires_at | integer | Optional | Format: unix-time |
body.payment_method_options.blik (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.blik (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.boleto | JSON | Optional | |
body.payment_method_options.boleto (anyOf 1) | object | Alternative | |
body.payment_method_options.boleto (anyOf 1).expires_after_days | integer | Optional | |
body.payment_method_options.boleto (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session, on_session |
body.payment_method_options.boleto (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.card | JSON | Optional | |
body.payment_method_options.card (anyOf 1) | Model | Alternative | Expand Create a PaymentIntent — request body — body / payment_method_options / card / capture_method: , manual, request extended authorization: if available, never, request incremental authorization: if available, never, request multicapture: if available, never, request overcapture: if available, never, request three d secure: any, automatic, challenge, setup future usage: , none, off session, on session |
body.payment_method_options.card (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.card_present | JSON | Optional | |
body.payment_method_options.card_present (anyOf 1) | object | Alternative | |
body.payment_method_options.card_present (anyOf 1).capture_method | string | Optional | One of: manual, manual_preferred |
body.payment_method_options.card_present (anyOf 1).request_extended_authorization | boolean | Optional | |
body.payment_method_options.card_present (anyOf 1).request_incremental_authorization_support | boolean | Optional | |
body.payment_method_options.card_present (anyOf 1).routing | object | Optional | |
body.payment_method_options.card_present (anyOf 1).routing.requested_priority | string | Optional | One of: domestic, international |
body.payment_method_options.card_present (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.cashapp | JSON | Optional | |
body.payment_method_options.cashapp (anyOf 1) | object | Alternative | |
body.payment_method_options.cashapp (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.cashapp (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session, on_session |
body.payment_method_options.cashapp (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.crypto | JSON | Optional | |
body.payment_method_options.crypto (anyOf 1) | object | Alternative | |
body.payment_method_options.crypto (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.crypto (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.customer_balance | JSON | Optional | |
body.payment_method_options.customer_balance (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — request body — body payment method options customer balance |
body.payment_method_options.customer_balance (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.eps | JSON | Optional | |
body.payment_method_options.eps (anyOf 1) | object | Alternative | |
body.payment_method_options.eps (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.eps (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.fpx | JSON | Optional | |
body.payment_method_options.fpx (anyOf 1) | object | Alternative | |
body.payment_method_options.fpx (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.fpx (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.giropay | JSON | Optional | |
body.payment_method_options.giropay (anyOf 1) | object | Alternative | |
body.payment_method_options.giropay (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.giropay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.grabpay | JSON | Optional | |
body.payment_method_options.grabpay (anyOf 1) | object | Alternative | |
body.payment_method_options.grabpay (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.grabpay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.ideal | JSON | Optional | |
body.payment_method_options.ideal (anyOf 1) | object | Alternative | |
body.payment_method_options.ideal (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.ideal (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.interac_present | JSON | Optional | |
body.payment_method_options.interac_present (anyOf 1) | object | Alternative | |
body.payment_method_options.interac_present (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.kakao_pay | JSON | Optional | |
body.payment_method_options.kakao_pay (anyOf 1) | object | Alternative | |
body.payment_method_options.kakao_pay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.kakao_pay (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.kakao_pay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.klarna | JSON | Optional | |
body.payment_method_options.klarna (anyOf 1) | Model | Alternative | Expand Create a PaymentIntent — request body — body / payment_method_options / klarna / capture_method: , manual, setup future usage: none, off session, on session |
body.payment_method_options.klarna (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.konbini | JSON | Optional | |
body.payment_method_options.konbini (anyOf 1) | object | Alternative | |
body.payment_method_options.konbini (anyOf 1).confirmation_number | JSON | Optional | |
body.payment_method_options.konbini (anyOf 1).confirmation_number (anyOf 1) | string | Alternative | Maximum length: 11 |
body.payment_method_options.konbini (anyOf 1).confirmation_number (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.konbini (anyOf 1).expires_after_days | JSON | Optional | |
body.payment_method_options.konbini (anyOf 1).expires_after_days (anyOf 1) | integer | Alternative | |
body.payment_method_options.konbini (anyOf 1).expires_after_days (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.konbini (anyOf 1).expires_at | JSON | Optional | |
body.payment_method_options.konbini (anyOf 1).expires_at (anyOf 1) | integer | Alternative | Format: unix-time |
body.payment_method_options.konbini (anyOf 1).expires_at (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.konbini (anyOf 1).product_description | JSON | Optional | |
body.payment_method_options.konbini (anyOf 1).product_description (anyOf 1) | string | Alternative | Maximum length: 22 |
body.payment_method_options.konbini (anyOf 1).product_description (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.konbini (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.konbini (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.kr_card | JSON | Optional | |
body.payment_method_options.kr_card (anyOf 1) | object | Alternative | |
body.payment_method_options.kr_card (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.kr_card (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.kr_card (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.link | JSON | Optional | |
body.payment_method_options.link (anyOf 1) | object | Alternative | |
body.payment_method_options.link (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.link (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.link (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.mb_way | JSON | Optional | |
body.payment_method_options.mb_way (anyOf 1) | object | Alternative | |
body.payment_method_options.mb_way (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.mb_way (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.mobilepay | JSON | Optional | |
body.payment_method_options.mobilepay (anyOf 1) | object | Alternative | |
body.payment_method_options.mobilepay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.mobilepay (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.mobilepay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.multibanco | JSON | Optional | |
body.payment_method_options.multibanco (anyOf 1) | object | Alternative | |
body.payment_method_options.multibanco (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.multibanco (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.naver_pay | JSON | Optional | |
body.payment_method_options.naver_pay (anyOf 1) | object | Alternative | |
body.payment_method_options.naver_pay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.naver_pay (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.naver_pay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.nz_bank_account | JSON | Optional | |
body.payment_method_options.nz_bank_account (anyOf 1) | object | Alternative | |
body.payment_method_options.nz_bank_account (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session, on_session |
body.payment_method_options.nz_bank_account (anyOf 1).target_date | string | Optional | Maximum length: 5000 |
body.payment_method_options.nz_bank_account (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.oxxo | JSON | Optional | |
body.payment_method_options.oxxo (anyOf 1) | object | Alternative | |
body.payment_method_options.oxxo (anyOf 1).expires_after_days | integer | Optional | |
body.payment_method_options.oxxo (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.oxxo (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.p24 | JSON | Optional | |
body.payment_method_options.p24 (anyOf 1) | object | Alternative | |
body.payment_method_options.p24 (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.p24 (anyOf 1).tos_shown_and_accepted | boolean | Optional | |
body.payment_method_options.p24 (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.pay_by_bank | JSON | Optional | |
body.payment_method_options.pay_by_bank (anyOf 1) | object | Alternative | |
body.payment_method_options.pay_by_bank (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.payco | JSON | Optional | |
body.payment_method_options.payco (anyOf 1) | object | Alternative | |
body.payment_method_options.payco (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.payco (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.payco (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.paynow | JSON | Optional | |
body.payment_method_options.paynow (anyOf 1) | object | Alternative | |
body.payment_method_options.paynow (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.paynow (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.paypal | JSON | Optional | |
body.payment_method_options.paypal (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — request body — body payment method options paypal |
body.payment_method_options.paypal (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.paypay | JSON | Optional | |
body.payment_method_options.paypay (anyOf 1) | object | Alternative | |
body.payment_method_options.paypay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.payto | JSON | Optional | |
body.payment_method_options.payto (anyOf 1) | Model | Alternative | Expand Create a PaymentIntent — request body — body / payment_method_options / payto / setup_future_usage: , none, off session |
body.payment_method_options.payto (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.pix | JSON | Optional | |
body.payment_method_options.pix (anyOf 1) | Model | Alternative | Expand Create a PaymentIntent — request body — body / payment_method_options / pix / amount_includes_iof: always, never, setup future usage: none, off session |
body.payment_method_options.pix (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.promptpay | JSON | Optional | |
body.payment_method_options.promptpay (anyOf 1) | object | Alternative | |
body.payment_method_options.promptpay (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.promptpay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.revolut_pay | JSON | Optional | |
body.payment_method_options.revolut_pay (anyOf 1) | object | Alternative | |
body.payment_method_options.revolut_pay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.revolut_pay (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.revolut_pay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.samsung_pay | JSON | Optional | |
body.payment_method_options.samsung_pay (anyOf 1) | object | Alternative | |
body.payment_method_options.samsung_pay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.samsung_pay (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.samsung_pay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.satispay | JSON | Optional | |
body.payment_method_options.satispay (anyOf 1) | object | Alternative | |
body.payment_method_options.satispay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.satispay (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session, on_session |
body.payment_method_options.satispay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.scalapay | JSON | Optional | |
body.payment_method_options.scalapay (anyOf 1) | object | Alternative | |
body.payment_method_options.scalapay (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.scalapay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.sepa_debit | JSON | Optional | |
body.payment_method_options.sepa_debit (anyOf 1) | object | Alternative | |
body.payment_method_options.sepa_debit (anyOf 1).mandate_options | object | Optional | |
body.payment_method_options.sepa_debit (anyOf 1).mandate_options.reference_prefix | JSON | Optional | |
body.payment_method_options.sepa_debit (anyOf 1).mandate_options.reference_prefix (anyOf 1) | string | Alternative | Maximum length: 12 |
body.payment_method_options.sepa_debit (anyOf 1).mandate_options.reference_prefix (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.sepa_debit (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session, on_session |
body.payment_method_options.sepa_debit (anyOf 1).target_date | string | Optional | Maximum length: 5000 |
body.payment_method_options.sepa_debit (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.sequra | JSON | Optional | |
body.payment_method_options.sequra (anyOf 1) | object | Alternative | |
body.payment_method_options.sequra (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.sequra (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.sequra (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.sofort | JSON | Optional | |
body.payment_method_options.sofort (anyOf 1) | object | Alternative | |
body.payment_method_options.sofort (anyOf 1).preferred_language | string | Optional | One of: , de, en, es, fr, it, nl, pl |
body.payment_method_options.sofort (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session |
body.payment_method_options.sofort (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.sunbit | JSON | Optional | |
body.payment_method_options.sunbit (anyOf 1) | object | Alternative | |
body.payment_method_options.sunbit (anyOf 1).capture_method | string | Optional | One of: , manual |
body.payment_method_options.sunbit (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.sunbit (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.swish | JSON | Optional | |
body.payment_method_options.swish (anyOf 1) | object | Alternative | |
body.payment_method_options.swish (anyOf 1).reference | JSON | Optional | |
body.payment_method_options.swish (anyOf 1).reference (anyOf 1) | string | Alternative | Maximum length: 5000 |
body.payment_method_options.swish (anyOf 1).reference (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.swish (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.swish (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.twint | JSON | Optional | |
body.payment_method_options.twint (anyOf 1) | object | Alternative | |
body.payment_method_options.twint (anyOf 1).setup_future_usage | string | Optional | One of: none, off_session |
body.payment_method_options.twint (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.upi | JSON | Optional | |
body.payment_method_options.upi (anyOf 1) | object | Alternative | |
body.payment_method_options.upi (anyOf 1).mandate_options | object | Optional | |
body.payment_method_options.upi (anyOf 1).mandate_options.amount | integer | Optional | |
body.payment_method_options.upi (anyOf 1).mandate_options.amount_type | string | Optional | One of: fixed, maximum |
body.payment_method_options.upi (anyOf 1).mandate_options.description | string | Optional | Maximum length: 20 |
body.payment_method_options.upi (anyOf 1).mandate_options.end_date | integer | Optional | Format: unix-time |
body.payment_method_options.upi (anyOf 1).setup_future_usage | string | Optional | One of: , none, off_session, on_session |
body.payment_method_options.upi (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.us_bank_account | JSON | Optional | |
body.payment_method_options.us_bank_account (anyOf 1) | Model | Alternative | Expand Create a PaymentIntent — request body — body / payment_method_options / us_bank_account / setup_future_usage: , none, off session, on session, transaction purpose: , goods, other, services, unspecified, verification method: automatic, instant, microdeposits |
body.payment_method_options.us_bank_account (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.wechat_pay | JSON | Optional | |
body.payment_method_options.wechat_pay (anyOf 1) | object | Alternative | |
body.payment_method_options.wechat_pay (anyOf 1).app_id | string | Optional | Maximum length: 5000 |
body.payment_method_options.wechat_pay (anyOf 1).client | string | Optional | One of: android, ios, web |
body.payment_method_options.wechat_pay (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.wechat_pay (anyOf 2) | string | Alternative | One of: |
body.payment_method_options.zip | JSON | Optional | |
body.payment_method_options.zip (anyOf 1) | object | Alternative | |
body.payment_method_options.zip (anyOf 1).setup_future_usage | string | Optional | One of: none |
body.payment_method_options.zip (anyOf 2) | string | Alternative | One of: |
body.receipt_email | JSON | Optional | Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). |
body.receipt_email (anyOf 1) | string | Alternative | |
body.receipt_email (anyOf 2) | string | Alternative | One of: |
body.setup_future_usage | string | Optional | 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](/payments/save-during-payment) 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](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn’t a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). If you’ve already set `setup_future_usage` and you’re performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. One of: , off_session, on_session |
body.shipping | JSON | Optional | Shipping information for this PaymentIntent. |
body.shipping (anyOf 1) | Model | Alternative | Expand Update a Payment Intent — request body — body shipping address, carrier, name, phone, tracking number |
body.shipping (anyOf 2) | string | Alternative | One of: |
body.statement_descriptor | string | Optional | 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](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. Maximum length: 22 |
body.statement_descriptor_suffix | string | Optional | Provides information about a card charge. Concatenated to the account’s [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer’s statement. Maximum length: 22 |
body.transfer_data | object | Optional | Use this parameter to automatically create a Transfer when the payment succeeds. Learn more about the [use case for connected accounts](https://docs.stripe.com/payments/connected-accounts). |
body.transfer_data.amount | integer | Optional | |
body.transfer_data.description | string | Optional | Maximum length: 5000 |
body.transfer_data.metadata | JSON | Optional | |
body.transfer_data.metadata (anyOf 1) | object | Alternative | Additional keys: see wildcard field |
body.transfer_data.metadata (anyOf 1).* | string | Additional keys | |
body.transfer_data.metadata (anyOf 2) | string | Alternative | One of: |
body.transfer_data.payment_data | object | Optional | |
body.transfer_data.payment_data.description | string | Optional | Maximum length: 5000 |
body.transfer_data.payment_data.metadata | JSON | Optional | |
body.transfer_data.payment_data.metadata (anyOf 1) | object | Alternative | Additional keys: see wildcard field |
body.transfer_data.payment_data.metadata (anyOf 1).* | string | Additional keys | |
body.transfer_data.payment_data.metadata (anyOf 2) | string | Alternative | One of: |
body.transfer_group | string | Optional | A string that identifies the resulting payment as part of a group. You can only provide `transfer_group` if it hasn’t been set. Learn more about the [use case for connected accounts](https://docs.stripe.com/payments/connected-accounts). |
Referenced models: Create a PaymentIntent — request body — body / payment_method_options / acss_debit / setup_future_usage: , none, off session, on session, verification method: automatic, instant, microdeposits, Update a Payment Intent — request body — body amount details discount amount, enforce arithmetic validation, line items, shipping, tax, Create a PaymentIntent — request body — body / payment_method_options / billie / capture_method: , manual, Create a PaymentIntent — request body — body / payment_method_options / card / capture_method: , manual, request extended authorization: if available, never, request incremental authorization: if available, never, request multicapture: if available, never, request overcapture: if available, never, request three d secure: any, automatic, challenge, setup future usage: , none, off session, on session, Create a Checkout Session — request body — body payment method options customer balance, Create a PaymentIntent — request body — body / payment_method_options / klarna / capture_method: , manual, setup future usage: none, off session, on session, Create a Payment Intent — request body — body payment method data, Create a Checkout Session — request body — body payment method options paypal, Create a PaymentIntent — request body — body / payment_method_options / payto / setup_future_usage: , none, off session, Create a PaymentIntent — request body — body / payment_method_options / pix / amount_includes_iof: always, never, setup future usage: none, off session, Update a Payment Intent — request body — body shipping address, carrier, name, phone, tracking number, Create a PaymentIntent — request body — body / payment_method_options / us_bank_account / setup_future_usage: , none, off session, on session, transaction purpose: , goods, other, services, unspecified, verification method: automatic, instant, microdeposits
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Cancel a Payment Intent — response body |
Referenced models: Cancel a Payment Intent — response body
Schemas
Section titled “Schemas”724 more schemas are linked from the tables above, on the schema pages.
Create a PaymentIntent — request body — body / payment_method_options / acss_debit / setup_future_usage: , none, off session, on session, verification method: automatic, instant, microdeposits
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
mandate_options | object | Optional | |
mandate_options.custom_mandate_url | JSON | Optional | |
mandate_options.custom_mandate_url (anyOf 1) | string | Alternative | |
mandate_options.custom_mandate_url (anyOf 2) | string | Alternative | One of: |
mandate_options.interval_description | string | Optional | Maximum length: 500 |
mandate_options.payment_schedule | string | Optional | One of: combined, interval, sporadic |
mandate_options.transaction_type | string | Optional | One of: business, personal |
setup_future_usage | string | Optional | One of: , none, off_session, on_session |
target_date | string | Optional | Maximum length: 5000 |
verification_method | string | Optional | One of: automatic, instant, microdeposits |
Update a Payment Intent — request body — body amount details discount amount, enforce arithmetic validation, line items, shipping, tax
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
discount_amount | JSON | Optional | |
discount_amount (anyOf 1) | integer | Alternative | |
discount_amount (anyOf 2) | string | Alternative | One of: |
enforce_arithmetic_validation | boolean | Optional | |
line_items | JSON | Optional | |
line_items (anyOf 1) | array | Alternative | |
line_items (anyOf 1)[] | Model | Each item | Expand Create a Payment Intent — request body — body amount details line items array item |
line_items (anyOf 2) | string | Alternative | One of: |
shipping | JSON | Optional | |
shipping (anyOf 1) | object | Alternative | |
shipping (anyOf 1).amount | JSON | Optional | |
shipping (anyOf 1).amount (anyOf 1) | integer | Alternative | |
shipping (anyOf 1).amount (anyOf 2) | string | Alternative | One of: |
shipping (anyOf 1).from_postal_code | JSON | Optional | |
shipping (anyOf 1).from_postal_code (anyOf 1) | string | Alternative | Maximum length: 10 |
shipping (anyOf 1).from_postal_code (anyOf 2) | string | Alternative | One of: |
shipping (anyOf 1).to_postal_code | JSON | Optional | |
shipping (anyOf 1).to_postal_code (anyOf 1) | string | Alternative | Maximum length: 10 |
shipping (anyOf 1).to_postal_code (anyOf 2) | string | Alternative | One of: |
shipping (anyOf 2) | string | Alternative | One of: |
tax | JSON | Optional | |
tax (anyOf 1) | object | Alternative | |
tax (anyOf 1).total_tax_amount | integer | Required within parent | |
tax (anyOf 2) | string | Alternative | One of: |
Referenced models: Create a Payment Intent — request body — body amount details line items array item
Create a PaymentIntent — request body — body / payment_method_options / billie / capture_method: , manual
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | One of: , manual |
company_details | JSON | Optional | |
company_details (anyOf 1) | Model | Alternative | Expand Create a PaymentIntent — request body — body / payment_method_options / billie / capture_method: , manual company details registered address, registered name, registration number, registration type, vat |
company_details (anyOf 2) | string | Alternative | One of: |
reference | string | Optional | Maximum length: 5000 |
Create a PaymentIntent — request body — body / payment_method_options / card / capture_method: , manual, request extended authorization: if available, never, request incremental authorization: if available, never, request multicapture: if available, never, request overcapture: if available, never, request three d secure: any, automatic, challenge, setup future usage: , none, off session, on session
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | One of: , manual |
cvc_token | string | Optional | Maximum length: 5000 |
installments | object | Optional | |
installments.enabled | boolean | Optional | |
installments.plan | JSON | Optional | |
installments.plan (anyOf 1) | object | Alternative | |
installments.plan (anyOf 1).count | integer | Optional | |
installments.plan (anyOf 1).interval | string | Optional | One of: month |
installments.plan (anyOf 1).type | string | Required within parent | One of: bonus, fixed_count, revolving |
installments.plan (anyOf 2) | string | Alternative | One of: |
mandate_options | Model | Optional | Expand Create a PaymentIntent — request body — body / payment_method_options / card / capture_method: , manual, request extended authorization: if available, never, request incremental authorization: if available, never, request multicapture: if available, never, request overcapture: if available, never, request three d secure: any, automatic, challenge, setup future usage: , none, off session, on session mandate options |
network | string | Optional | One of: amex, cartes_bancaires, diners, discover, eftpos_au, girocard, interac, jcb, link, mastercard, unionpay, unknown, visa Maximum length: 5000 |
request_extended_authorization | string | Optional | One of: if_available, never |
request_incremental_authorization | string | Optional | One of: if_available, never |
request_multicapture | string | Optional | One of: if_available, never |
request_overcapture | string | Optional | One of: if_available, never |
request_three_d_secure | string | Optional | One of: any, automatic, challenge |
require_cvc_recollection | boolean | Optional | |
setup_future_usage | string | Optional | One of: , none, off_session, on_session |
statement_descriptor_suffix_kana | JSON | Optional | |
statement_descriptor_suffix_kana (anyOf 1) | string | Alternative | Maximum length: 22 |
statement_descriptor_suffix_kana (anyOf 2) | string | Alternative | One of: |
statement_descriptor_suffix_kanji | JSON | Optional | |
statement_descriptor_suffix_kanji (anyOf 1) | string | Alternative | Maximum length: 17 |
statement_descriptor_suffix_kanji (anyOf 2) | string | Alternative | One of: |
three_d_secure | Model | Optional | Expand Create a PaymentIntent — request body — body / payment_method_options / card / capture_method: , manual, request extended authorization: if available, never, request incremental authorization: if available, never, request multicapture: if available, never, request overcapture: if available, never, request three d secure: any, automatic, challenge, setup future usage: , none, off session, on session three d secure |
Referenced models: Create a PaymentIntent — request body — body / payment_method_options / card / capture_method: , manual, request extended authorization: if available, never, request incremental authorization: if available, never, request multicapture: if available, never, request overcapture: if available, never, request three d secure: any, automatic, challenge, setup future usage: , none, off session, on session mandate options, Create a PaymentIntent — request body — body / payment_method_options / card / capture_method: , manual, request extended authorization: if available, never, request incremental authorization: if available, never, request multicapture: if available, never, request overcapture: if available, never, request three d secure: any, automatic, challenge, setup future usage: , none, off session, on session three d secure
Create a Checkout Session — request body — body payment method options customer balance
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
bank_transfer | object | Optional | |
bank_transfer.eu_bank_transfer | object | Optional | |
bank_transfer.eu_bank_transfer.country | string | Required within parent | Maximum length: 5000 |
bank_transfer.requested_address_types | array | Optional | |
bank_transfer.requested_address_types[] | string | Each item | One of: aba, iban, sepa, sort_code, spei, swift, zengin |
bank_transfer.type | string | Required within parent | One of: eu_bank_transfer, gb_bank_transfer, jp_bank_transfer, mx_bank_transfer, us_bank_transfer |
funding_type | string | Optional | One of: bank_transfer |
setup_future_usage | string | Optional | One of: none |
Create a Checkout Session — request body — body payment method options paypal
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | One of: , manual |
preferred_locale | string | Optional | One of: cs-CZ, da-DK, de-AT, de-DE, de-LU, el-GR, en-GB, en-US, es-ES, fi-FI, fr-BE, fr-FR, fr-LU, hu-HU, it-IT, nl-BE, nl-NL, pl-PL, pt-PT, sk-SK, sv-SE |
reference | string | Optional | Maximum length: 127 |
risk_correlation_id | string | Optional | Maximum length: 32 |
setup_future_usage | string | Optional | One of: , none, off_session |
Delete a customer — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
deleted | boolean | Required within parent | Always true for a deleted object Known values: True |
id | string | Required within parent | Unique identifier for the object. Maximum length: 5000 |
object | string | Required within parent | String representing the object's type. Objects of the same type share the same value. Known values: customer |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: stripe.postpaymentintentsintent. Catalog operation: PostPaymentIntentsIntent. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Pinned headers: {"Stripe-Version": "2026-09-30.endive"}