Perform an incremental authorization on an eligible PaymentIntent. To be eligible, the PaymentIntent’s status must be requires_
and incremental_authorization_supported must be true
.
Incremental authorizations attempt to increase the authorized amount on your customer’s card to the new, higher amount
provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount.
If the incremental authorization succeeds, the PaymentIntent object returns with the updated amount. If the incremental authorization fails, a card_declined error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount.
Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it’s captured, a PaymentIntent can no longer be incremented.
Learn more about incremental authorizations.
Parameters
- amountintegerRequired
The updated total amount that you intend to collect from the cardholder. This amount must be greater than the currently authorized amount.
- 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
. - statement_
descriptorstring Text that appears on the customer’s statement as the statement descriptor for a non-card or 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.
More parameters
- amount_
detailsobjectPreview feature Provides industry-specific information about the amount.
- amount_details.
discount_ amountinteger The amount an item was discounted for.
- amount_details.
line_ itemsarray of objects A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 100 line items.
- amount_details.
line_items. product_ namestringRequired Name of the product. At most 100 characters long.
- amount_details.
line_items. quantityintegerRequired Number of items of the product. Positive integer.
- amount_details.
line_items. unit_ costintegerRequired Cost of the product. Non-negative integer.
- amount_details.
line_items. discount_ amountinteger The amount an item was discounted for. Positive integer.
- amount_details.
line_items. payment_ method_ optionsobject Payment method-specific information for line items.
- amount_details.
line_items. payment_method_options. cardobject This sub-hash contains line item details that are specific to
card
payment method."- amount_details.
line_items. payment_method_options. card. commodity_ codestring Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc.
- amount_details.
line_items. payment_method_options. card_ presentobject This sub-hash contains line item details that are specific to
card_
payment method."present - amount_details.
line_items. payment_method_options. card_present. commodity_ codestring Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc.
- amount_details.
line_items. payment_method_options. klarnaobjectPreview feature This sub-hash contains line item details that are specific to
klarna
payment method."- amount_details.
line_items. payment_method_options. klarna. image_ urlstring URL to an image for the product. Max length, 4096 characters.
- amount_details.
line_items. payment_method_options. klarna. product_ urlstring URL to the product page. Max length, 4096 characters.
- amount_details.
line_items. payment_method_options. klarna. subscription_ referencestring Reference for the subscription this line item is for.
- amount_details.
line_items. payment_method_options. paypalobject This sub-hash contains line item details that are specific to
paypal
payment method."- amount_details.
line_items. payment_method_options. paypal. categoryenum Type of the line item.
Possible enum valuesdigital_
goods Goods that are stored, delivered, and used in their electronic format.
donation
A contribution or gift for which no good or service is exchanged, usually to a not for profit organization.
physical_
goods A tangible item that can be shipped with proof of delivery.
- amount_details.
line_items. payment_method_options. paypal. descriptionstring Description of the line item.
- amount_details.
line_items. payment_method_options. paypal. sold_ bystring The Stripe account ID of the connected account that sells the item.
- amount_details.
line_items. product_ codestring Unique identifier of the product. At most 12 characters long.
- amount_details.
line_items. taxobject Contains information about the tax on the item.
- amount_details.
line_items. tax. total_ tax_ amountintegerRequired The total tax on an item. Non-negative integer.
- amount_details.
line_items. unit_ of_ measurestring A unit of measure for the line item, such as gallons, feet, meters, etc.
- amount_details.
shippingobject Contains information about the shipping portion of the amount.
- amount_details.
shipping. amountinteger Portion of the amount that is for shipping.
- amount_details.
shipping. from_ postal_ codestring The postal code that represents the shipping source.
- amount_details.
shipping. to_ postal_ codestring The postal code that represents the shipping destination.
- amount_details.
taxobject Contains information about the tax portion of the amount.
- amount_details.
tax. total_ tax_ amountintegerRequired Total portion of the amount that is for tax.
- application_
fee_ amountintegerConnect only 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.
- hooksobjectPreview feature
Automations to be run during the PaymentIntent lifecycle
- hooks.
inputsobject Arguments passed in automations
- hooks.
inputs. taxobject Tax arguments for automations
- hooks.
inputs. tax. calculationstringRequired The TaxCalculation id
- payment_
detailsobjectPreview feature Provides industry-specific information about the charge.
- payment_details.
customer_ referencestringPreview feature Some customers might be required by their company or organization to provide this information. If so, provide this value. Otherwise you can ignore this field.
- payment_details.
order_ referencestringPreview feature A unique value assigned by the business to identify the transaction.
- transfer_
dataobjectConnect only The parameters used to automatically create a transfer after the payment is captured. Learn more about the use case for connected accounts.
- transfer_data.
amountinteger The amount that will be transferred automatically when a charge succeeds.
Returns
Returns a PaymentIntent object with the updated amount if the incremental authorization succeeds. Returns an error if the incremental authorization failed or the PaymentIntent isn’t eligible for incremental authorizations.
{ "id": "pi_1DtBRR2eZvKYlo2CmCVxxvd7", "object": "payment_intent", "amount": 2099, "amount_capturable": 2099, "amount_details": { "tip": {} }, "amount_received": 0, "application": null, "application_fee_amount": null, "automatic_payment_methods": null, "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", "client_secret": "pi_1DtBRR2eZvKYlo2CmCVxxvd7_secret_cWsUkvyTOjhLKh5Wxu61nYc0i", "confirmation_method": "automatic", "created": 1680196960, "currency": "usd", "customer": null, "description": null, "last_payment_error": null, "latest_charge": "ch_3MrPBM2eZvKYlo2C1CEBUD4A", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": "pm_1MrPBL2eZvKYlo2CaNa8L11Z", "payment_method_options": { "card": { "installments": null, "mandate_options": null, "network": null, "request_three_d_secure": "automatic" } }, "payment_method_types": [ "card" ], "processing": null, "receipt_email": null, "redaction": null, "review": null, "setup_future_usage": null, "shipping": null, "statement_descriptor": null, "statement_descriptor_suffix": null, "status": "requires_capture", "transfer_data": null, "transfer_group": null}