# Capture a PaymentIntent Capture the funds of an existing uncaptured PaymentIntent when its status is `requires_capture`. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later.md). ## Returns Returns a PaymentIntent object with `status="succeeded"` if the PaymentIntent is capturable. Returns an error if the PaymentIntent isn’t capturable or if an invalid amount to capture is provided. ## Parameters - `amount_details` (object, optional) Provides industry-specific information about the amount. - `amount_details.discount_amount` (integer, optional) The total discount applied on the transaction represented in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[line_items][#][discount_amount]` field. - `amount_details.enforce_arithmetic_validation` (boolean, optional) Set to `false` to return arithmetic validation errors in the response without failing the request. Use this when you want the operation to proceed regardless of arithmetic errors in the line item data. Omit or set to `true` to immediately return a 400 error when arithmetic validation fails. Use this for strict validation that prevents processing with line item data that has arithmetic inconsistencies. For card payments, Stripe doesn’t send line item data if there’s an arithmetic validation error to card networks. - `amount_details.line_items` (array of objects, optional) A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 200 line items. - `amount_details.line_items.product_name` (string, required) The product name of the line item. Required for L3 rates. At most 1024 characters long. For Cards, this field is truncated to 26 alphanumeric characters before being sent to the card networks. For Paypal, this field is truncated to 127 characters. - `amount_details.line_items.quantity` (integer, required) The quantity of items. Required for L3 rates. An integer greater than 0. - `amount_details.line_items.unit_cost` (integer, required) The unit cost of the line item represented in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. - `amount_details.line_items.discount_amount` (integer, optional) The discount applied on this line item represented in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[discount_amount]` field. - `amount_details.line_items.payment_method_options` (object, optional) Payment method-specific information for line items. - `amount_details.line_items.payment_method_options.card` (object, optional) This sub-hash contains line item details that are specific to `card` payment method." - `amount_details.line_items.payment_method_options.card.commodity_code` (string, optional) Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. The maximum length is 12 characters. - `amount_details.line_items.payment_method_options.card_present` (object, optional) This sub-hash contains line item details that are specific to `card_present` payment method." - `amount_details.line_items.payment_method_options.card_present.commodity_code` (string, optional) Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. The maximum length is 12 characters. - `amount_details.line_items.payment_method_options.klarna` (object, optional) This sub-hash contains line item details that are specific to `klarna` payment method." - `amount_details.line_items.payment_method_options.klarna.image_url` (string, optional) URL to an image for the product. Max length, 4096 characters. - `amount_details.line_items.payment_method_options.klarna.product_url` (string, optional) URL to the product page. Max length, 4096 characters. - `amount_details.line_items.payment_method_options.klarna.reference` (string, optional) Unique reference for this line item to correlate it with your system’s internal records. The field is displayed in the Klarna Consumer App if passed. The maximum length is 255 characters. - `amount_details.line_items.payment_method_options.klarna.subscription_reference` (string, optional) Reference for the subscription this line item is for. The maximum length is 255 characters. - `amount_details.line_items.payment_method_options.paypal` (object, optional) This sub-hash contains line item details that are specific to `paypal` payment method." - `amount_details.line_items.payment_method_options.paypal.category` (enum, optional) Type of the line item. Possible enum values: - `digital_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.description` (string, optional) Description of the line item. The maximum length is 127 characters. - `amount_details.line_items.payment_method_options.paypal.sold_by` (string, optional) The Stripe account ID of the connected account that sells the item. The maximum length is 127 characters. - `amount_details.line_items.product_code` (string, optional) The product code of the line item, such as an SKU. Required for L3 rates. At most 12 characters long. The maximum length is 12 characters. - `amount_details.line_items.tax` (object, optional) Contains information about the tax on the item. - `amount_details.line_items.tax.total_tax_amount` (integer, required) The total amount of tax on a single line item represented in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[tax][total_tax_amount]` field. - `amount_details.line_items.unit_of_measure` (string, optional) A unit of measure for the line item, such as gallons, feet, meters, etc. The maximum length is 12 characters. - `amount_details.shipping` (object, optional) Contains information about the shipping portion of the amount. - `amount_details.shipping.amount` (integer, optional) If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). An integer greater than or equal to 0. - `amount_details.shipping.from_postal_code` (string, optional) If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed. The maximum length is 10 characters. - `amount_details.shipping.to_postal_code` (string, optional) If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed. The maximum length is 10 characters. - `amount_details.tax` (object, optional) Contains information about the tax portion of the amount. - `amount_details.tax.total_tax_amount` (integer, required) The total amount of tax on the transaction represented in the [smallest currency unit](https://docs.stripe.com/docs/currencies.md#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. - `amount_to_capture` (integer, optional) The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Defaults to the full `amount_capturable` if it’s not provided. - `application_fee_amount` (integer, 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/docs/payments/connected-accounts.md). - `final_capture` (boolean, optional) Defaults to `true`. When capturing a PaymentIntent, setting `final_capture` to `false` notifies Stripe to not release the remaining uncaptured funds to make sure that they’re captured in future requests. You can only use this setting when [multicapture](https://docs.stripe.com/docs/payments/multicapture.md) is available for PaymentIntents. - `hooks` (object, optional) Automations to be run during the PaymentIntent lifecycle - `hooks.inputs` (object, optional) Arguments passed in automations - `hooks.inputs.tax` (object, optional) Tax arguments for automations - `hooks.inputs.tax.calculation` (string, required) The [TaxCalculation](https://docs.stripe.com/docs/api/tax/calculations.md) id - `metadata` (object, optional) Set of [key-value pairs](https://docs.stripe.com/docs/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. - `payment_details` (object, optional) Provides industry-specific information about the charge. - `payment_details.car_rental_data` (array of objects, optional) Car rental data for this PaymentIntent. - `payment_details.car_rental_data.drop_off` (object, required) Drop-off location details. - `payment_details.car_rental_data.drop_off.address` (object, required) Address of the rental location. - `payment_details.car_rental_data.drop_off.address.city` (string, required) City, district, suburb, town, or village. - `payment_details.car_rental_data.drop_off.address.country` (string, required) Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - `payment_details.car_rental_data.drop_off.address.line1` (string, required) Address line 1, such as the street, PO Box, or company name. - `payment_details.car_rental_data.drop_off.address.postal_code` (string, required) ZIP or postal code. - `payment_details.car_rental_data.drop_off.address.line2` (string, optional) Address line 2, such as the apartment, suite, unit, or building. - `payment_details.car_rental_data.drop_off.address.state` (string, optional) State, county, province, or region ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). - `payment_details.car_rental_data.drop_off.time` (timestamp, required) Timestamp for the location. - `payment_details.car_rental_data.drop_off.location_name` (string, optional) Location name. The maximum length is 38 characters. - `payment_details.car_rental_data.pickup` (object, required) Pickup location details. - `payment_details.car_rental_data.pickup.address` (object, required) Address of the rental location. - `payment_details.car_rental_data.pickup.address.city` (string, required) City, district, suburb, town, or village. - `payment_details.car_rental_data.pickup.address.country` (string, required) Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - `payment_details.car_rental_data.pickup.address.line1` (string, required) Address line 1, such as the street, PO Box, or company name. - `payment_details.car_rental_data.pickup.address.postal_code` (string, required) ZIP or postal code. - `payment_details.car_rental_data.pickup.address.line2` (string, optional) Address line 2, such as the apartment, suite, unit, or building. - `payment_details.car_rental_data.pickup.address.state` (string, optional) State, county, province, or region ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). - `payment_details.car_rental_data.pickup.time` (timestamp, required) Timestamp for the location. - `payment_details.car_rental_data.pickup.location_name` (string, optional) Location name. The maximum length is 38 characters. - `payment_details.car_rental_data.total` (object, required) Total cost breakdown for the rental. - `payment_details.car_rental_data.total.amount` (integer, required) Total amount in cents. - `payment_details.car_rental_data.total.currency` (enum, optional) Currency of the amount. - `payment_details.car_rental_data.total.discounts` (object, optional) Discount details for the rental. - `payment_details.car_rental_data.total.discounts.corporate_client_code` (string, optional) Corporate client discount code. The maximum length is 20 characters. - `payment_details.car_rental_data.total.discounts.coupon` (string, optional) Coupon code applied to the rental. The maximum length is 25 characters. - `payment_details.car_rental_data.total.discounts.maximum_free_miles_or_kilometers` (integer, optional) Maximum number of free miles or kilometers included. - `payment_details.car_rental_data.total.extra_charges` (array of objects, optional) Additional charges for the rental. - `payment_details.car_rental_data.total.extra_charges.amount` (integer, required) Amount of the extra charge in cents. - `payment_details.car_rental_data.total.extra_charges.type` (enum, required) Type of extra charge. Possible enum values: - `extra_mileage` Additional charges for exceeding the included mileage. - `gas` Fuel charges. - `gps` GPS navigation system rental fee. - `late_charge` Fee for late return of the vehicle. - `one_way_drop_off` Fee for dropping off the vehicle at a different location. - `other` Other miscellaneous extra charges. - `parking` Parking charges. - `phone` Mobile phone or hands-free device rental fee. - `regular_mileage` Standard mileage charges. - `towing` Towing charges. - `payment_details.car_rental_data.total.rate_per_unit` (integer, optional) Rate per unit for the rental. - `payment_details.car_rental_data.total.rate_unit` (enum, optional) Unit of measurement for the rate. Possible enum values: - `days` Rental rate charged per day. - `kilometers` Rental rate charged per kilometer. - `miles` Rental rate charged per mile. - `months` Rental rate charged per month. - `weeks` Rental rate charged per week. - `payment_details.car_rental_data.total.tax` (object, optional) Tax breakdown for the rental. - `payment_details.car_rental_data.total.tax.tax_exempt_indicator` (boolean, optional) Indicates if the transaction is tax exempt. - `payment_details.car_rental_data.total.tax.taxes` (array of objects, optional) Array of tax details. - `payment_details.car_rental_data.total.tax.taxes.amount` (integer, optional) Tax amount. - `payment_details.car_rental_data.total.tax.taxes.rate` (integer, optional) Tax rate applied. - `payment_details.car_rental_data.total.tax.taxes.type` (string, optional) Type of tax applied. The maximum length is 40 characters. - `payment_details.car_rental_data.affiliate` (object, optional) Affiliate (such as travel agency) details for the rental. - `payment_details.car_rental_data.affiliate.code` (string, optional) Affiliate partner code. The maximum length is 20 characters. - `payment_details.car_rental_data.affiliate.name` (string, optional) Name of affiliate partner. The maximum length is 255 characters. - `payment_details.car_rental_data.booking_number` (string, optional) Booking confirmation number for the car rental. The maximum length is 255 characters. - `payment_details.car_rental_data.carrier_name` (string, optional) Name of the car rental company. The maximum length is 255 characters. - `payment_details.car_rental_data.customer_service_phone_number` (string, optional) Customer service phone number for the car rental company. - `payment_details.car_rental_data.days_rented` (integer, optional) Number of days the car is being rented. - `payment_details.car_rental_data.distance` (object, optional) Distance details for the rental. - `payment_details.car_rental_data.distance.amount` (integer, required) Distance traveled. - `payment_details.car_rental_data.distance.unit` (enum, required) Unit of measurement for the distance traveled. One of `miles` or `kilometers`. - `payment_details.car_rental_data.drivers` (array of objects, optional) List of drivers for the rental. - `payment_details.car_rental_data.drivers.name` (string, required) Driver’s full name. The maximum length is 198 characters. - `payment_details.car_rental_data.drivers.date_of_birth` (object, optional) Driver’s date of birth. - `payment_details.car_rental_data.drivers.date_of_birth.day` (integer, required) Day of birth (1-31). - `payment_details.car_rental_data.drivers.date_of_birth.month` (integer, required) Month of birth (1-12). - `payment_details.car_rental_data.drivers.date_of_birth.year` (integer, required) Year of birth (must be greater than 1900). - `payment_details.car_rental_data.drivers.driver_identification_number` (string, optional) Driver’s identification number. The maximum length is 20 characters. - `payment_details.car_rental_data.drivers.driver_tax_number` (string, optional) Driver’s tax number. The maximum length is 20 characters. - `payment_details.car_rental_data.insurances` (array of objects, optional) Insurance details for the rental. - `payment_details.car_rental_data.insurances.amount` (integer, required) Amount of the insurance coverage in cents. - `payment_details.car_rental_data.insurances.insurance_type` (enum, required) Type of insurance coverage. Possible enum values: - `liability_supplement` Supplemental liability insurance coverage. - `loss_damage_waiver` Agreement waiving responsibility for loss or damage to the vehicle. - `other` Other types of insurance coverage. - `partial_damage_waiver` Agreement limiting responsibility for loss or damage to the vehicle. - `personal_accident` Insurance covering personal accidents during the rental period. - `personal_effects` Insurance covering personal belongings during the rental period. - `payment_details.car_rental_data.insurances.currency` (enum, optional) Currency of the insurance amount. - `payment_details.car_rental_data.insurances.insurance_company_name` (string, optional) Name of the insurance company. The maximum length is 255 characters. - `payment_details.car_rental_data.no_show_indicator` (boolean, optional) Indicates if the customer was a no-show. - `payment_details.car_rental_data.renter_name` (string, optional) Name of the person renting the vehicle. The maximum length is 198 characters. - `payment_details.car_rental_data.vehicle` (object, optional) Vehicle details for the rental. - `payment_details.car_rental_data.vehicle.make` (string, optional) Make of the rental vehicle. The maximum length is 40 characters. - `payment_details.car_rental_data.vehicle.model` (string, optional) Model of the rental vehicle. The maximum length is 40 characters. - `payment_details.car_rental_data.vehicle.odometer` (integer, optional) Odometer reading at the time of rental. - `payment_details.car_rental_data.vehicle.type` (enum, optional) Type of the rental vehicle. Possible enum values: - `cargo_van` Van designed for cargo transport. - `compact` Compact car. - `economy` Economy-class car. - `exotic` Exotic or high-performance vehicle. - `exotic_suv` Exotic or luxury sport utility vehicle. - `fifteen_passenger_van` Van with capacity for fifteen passengers. - `four_wheel_drive` Four-wheel-drive vehicle. - `full_size` Full-sized car. - `intermediate` Intermediate-sized car. - `large_suv` Large sport utility vehicle. - `large_truck` Large truck. - `luxury` Luxury car. - `medium_suv` Medium sport utility vehicle. - `midsize` Midsize car. - `mini` Mini-sized car. - `minivan` Minivan. - `miscellaneous` Other miscellaneous vehicle types. - `moped` Moped or motorized scooter. - `moving_van` Van designed for moving goods. - `premium` Premium car. - `regular` Regular vehicle type. - `small_medium_truck` Small to medium truck. - `small_suv` Small sport utility vehicle. - `special` Special vehicle type. - `standard` Standard-sized car. - `stretch` Stretch limousine. - `subcompact` Subcompact car. - `taxi` Taxi or for-hire vehicle. - `twelve_foot_truck` Truck with twelve-foot cargo space. - `twelve_passenger_van` Van with capacity for twelve passengers. - `twenty_foot_truck` Truck with twenty-foot cargo space. - `twenty_four_foot_truck` Truck with twenty-four-foot cargo space. - `twenty_six_foot_truck` Truck with twenty-six-foot cargo space. - `unique` Unique or specialty vehicle. - `payment_details.car_rental_data.vehicle.vehicle_class` (enum, optional) Class of the rental vehicle. Possible enum values: - `business` Business class vehicle. - `economy` Economy class vehicle. - `first_class` First class vehicle with premium amenities. - `premium_economy` Premium economy class vehicle with enhanced features. - `payment_details.car_rental_data.vehicle.vehicle_identification_number` (string, optional) Vehicle identification number (VIN). The maximum length is 20 characters. - `payment_details.customer_reference` (string, optional) A unique value to identify the customer. This field is available only for card payments. This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. - `payment_details.flight_data` (array of objects, optional) Flight data for this PaymentIntent. - `payment_details.flight_data.segments` (array of objects, required) List of flight segments. - `payment_details.flight_data.segments.arrival` (object, required) Arrival details. - `payment_details.flight_data.segments.arrival.airport` (string, required) Arrival airport IATA code. - `payment_details.flight_data.segments.arrival.arrives_at` (timestamp, optional) Arrival date/time. - `payment_details.flight_data.segments.arrival.city` (string, optional) Arrival city. The maximum length is 99 characters. - `payment_details.flight_data.segments.arrival.country` (string, optional) Arrival country. - `payment_details.flight_data.segments.carrier_code` (string, required) Airline carrier code. - `payment_details.flight_data.segments.departure` (object, required) Departure details. - `payment_details.flight_data.segments.departure.airport` (string, required) Departure airport IATA code. - `payment_details.flight_data.segments.departure.departs_at` (timestamp, required) Departure date/time. - `payment_details.flight_data.segments.departure.city` (string, optional) Departure city. The maximum length is 99 characters. - `payment_details.flight_data.segments.departure.country` (string, optional) Departure country. - `payment_details.flight_data.segments.service_class` (enum, required) Class of service. Possible enum values: - `business` Business class seating. - `economy` Economy class seating. - `first_class` First class seating with premium amenities. - `premium_economy` Premium economy class with enhanced seating and services. - `payment_details.flight_data.segments.amount` (integer, optional) Segment fare amount. - `payment_details.flight_data.segments.carrier_name` (string, optional) Carrier name. The maximum length is 25 characters. - `payment_details.flight_data.segments.currency` (enum, optional) Segment currency. - `payment_details.flight_data.segments.exchange_ticket_number` (string, optional) Exchange ticket number. The maximum length is 20 characters. - `payment_details.flight_data.segments.fare_basis_code` (string, optional) Fare basis code. The maximum length is 20 characters. - `payment_details.flight_data.segments.fees` (integer, optional) Additional fees. - `payment_details.flight_data.segments.flight_number` (string, optional) Flight number. The maximum length is 20 characters. - `payment_details.flight_data.segments.is_stop_over_indicator` (boolean, optional) Stopover indicator. - `payment_details.flight_data.segments.refundable` (boolean, optional) Refundable ticket indicator. - `payment_details.flight_data.segments.tax_amount` (integer, optional) Tax amount for segment. - `payment_details.flight_data.segments.ticket_number` (string, optional) Ticket number. The maximum length is 20 characters. - `payment_details.flight_data.total` (object, required) Total cost breakdown. - `payment_details.flight_data.total.amount` (integer, required) Total flight amount. - `payment_details.flight_data.total.credit_reason` (enum, optional) Reason for credit. Possible enum values: - `other` Other credit reasons. - `partial_ticket_refund` Partial refund of the ticket cost. - `passenger_transport_ancillary_cancellation` Cancellation of passenger transport and ancillary services. - `ticket_and_ancillary_cancellation` Cancellation of both ticket and ancillary services. - `ticket_cancellation` Cancellation of the ticket only. - `payment_details.flight_data.total.currency` (enum, optional) Total currency. - `payment_details.flight_data.total.discounts` (object, optional) Discount details. - `payment_details.flight_data.total.discounts.corporate_client_code` (string, optional) Corporate client discount code. The maximum length is 20 characters. - `payment_details.flight_data.total.extra_charges` (array of objects, optional) Additional charges. - `payment_details.flight_data.total.extra_charges.amount` (integer, optional) Amount of additional charges. - `payment_details.flight_data.total.extra_charges.type` (enum, optional) Type of additional charges. Possible enum values: - `additional_fees` Additional fees charged for the flight. - `ancillary_service_charges` Charges for ancillary services such as baggage, seat selection, or meals. - `exchange_fee` Fee charged for exchanging or changing the ticket. - `payment_details.flight_data.total.tax` (object, optional) Tax breakdown. - `payment_details.flight_data.total.tax.taxes` (array of objects, optional) Array of tax details. - `payment_details.flight_data.total.tax.taxes.amount` (integer, optional) Tax amount. - `payment_details.flight_data.total.tax.taxes.rate` (integer, optional) Tax rate. - `payment_details.flight_data.total.tax.taxes.type` (string, optional) Type of tax. The maximum length is 40 characters. - `payment_details.flight_data.affiliate` (object, optional) Affiliate details if applicable. - `payment_details.flight_data.affiliate.code` (string, optional) Affiliate partner code. The maximum length is 20 characters. - `payment_details.flight_data.affiliate.name` (string, optional) Name of affiliate partner. The maximum length is 255 characters. - `payment_details.flight_data.affiliate.travel_authorization_code` (string, optional) Code provided by the company to a travel agent authorizing ticket issuance. The maximum length is 64 characters. - `payment_details.flight_data.booking_number` (string, optional) Reservation reference. The maximum length is 255 characters. - `payment_details.flight_data.computerized_reservation_system` (string, optional) Computerized reservation system used to make the reservation and purchase the ticket. The maximum length is 4 characters. - `payment_details.flight_data.endorsements_and_restrictions` (string, optional) Ticket restrictions. The maximum length is 20 characters. - `payment_details.flight_data.insurances` (array of objects, optional) List of insurances. - `payment_details.flight_data.insurances.amount` (integer, required) Insurance cost. - `payment_details.flight_data.insurances.insurance_type` (enum, required) Type of insurance. Possible enum values: - `baggage` Insurance covering lost, damaged, or delayed baggage. - `bankruptcy` Insurance covering losses due to airline bankruptcy. - `cancelation` Insurance covering flight cancellation. - `emergency` Insurance covering general emergency situations. - `medical` Insurance covering medical emergencies during travel. - `payment_details.flight_data.insurances.currency` (enum, optional) Insurance currency. - `payment_details.flight_data.insurances.insurance_company_name` (string, optional) Insurance company name. The maximum length is 255 characters. - `payment_details.flight_data.passengers` (array of objects, optional) List of passengers. - `payment_details.flight_data.passengers.name` (string, required) Passenger’s full name. The maximum length is 198 characters. - `payment_details.flight_data.ticket_electronically_issued_indicator` (boolean, optional) Electronic ticket indicator. - `payment_details.flight_data.transaction_type` (enum, optional) Type of flight transaction. Possible enum values: - `exchange_ticket` Exchange or modification of an existing ticket. - `miscellaneous` Other miscellaneous flight-related transactions. - `refund` Refund for a canceled or unused ticket. - `ticket_purchase` Purchase of a new flight ticket. - `payment_details.lodging_data` (array of objects, optional) Lodging data for this PaymentIntent. - `payment_details.lodging_data.checkin_at` (timestamp, required) Check-in date. - `payment_details.lodging_data.checkout_at` (timestamp, required) Check-out date. - `payment_details.lodging_data.total` (object, required) Total details for the lodging. - `payment_details.lodging_data.total.amount` (integer, required) Total price of the lodging reservation in cents. - `payment_details.lodging_data.total.cash_advances` (integer, optional) Cash advances in cents. - `payment_details.lodging_data.total.currency` (enum, optional) Currency of the total amount. - `payment_details.lodging_data.total.discounts` (object, optional) Discount details for the lodging. - `payment_details.lodging_data.total.discounts.corporate_client_code` (string, optional) Corporate client discount code. The maximum length is 20 characters. - `payment_details.lodging_data.total.discounts.coupon` (string, optional) Coupon code. The maximum length is 25 characters. - `payment_details.lodging_data.total.extra_charges` (array of objects, optional) Additional charges for the lodging. - `payment_details.lodging_data.total.extra_charges.amount` (integer, optional) Amount of the extra charge in cents. - `payment_details.lodging_data.total.extra_charges.type` (enum, optional) Type of extra charge. Possible enum values: - `gift_shop` Charges for gift shop purchases. - `laundry` Charges for laundry or cleaning services. - `mini_bar` Charges for mini bar consumption. - `other` Other miscellaneous charges. - `phone` Charges for telephone services. - `restaurant` Charges for dining or food services. - `payment_details.lodging_data.total.prepaid_amount` (integer, optional) Prepaid amount in cents. - `payment_details.lodging_data.total.tax` (object, optional) Tax breakdown for the lodging reservation. - `payment_details.lodging_data.total.tax.tax_exempt_indicator` (boolean, optional) Indicates whether the transaction is tax exempt. - `payment_details.lodging_data.total.tax.taxes` (array of objects, optional) Tax details. - `payment_details.lodging_data.total.tax.taxes.amount` (integer, optional) Tax amount in cents. - `payment_details.lodging_data.total.tax.taxes.rate` (integer, optional) Tax rate. - `payment_details.lodging_data.total.tax.taxes.type` (string, optional) Type of tax applied. The maximum length is 40 characters. - `payment_details.lodging_data.accommodation` (object, optional) Accommodation details for the lodging. - `payment_details.lodging_data.accommodation.accommodation_type` (enum, optional) Type of accommodation. Possible enum values: - `apartment` A self-contained apartment unit. - `cabana` A cabana or small cabin. - `house` A standalone house. - `penthouse` A penthouse or top-floor luxury accommodation. - `room` A standard room. - `standard` A standard accommodation type. - `suite` A suite with multiple rooms or enhanced amenities. - `villa` A villa or luxury residence. - `payment_details.lodging_data.accommodation.bed_type` (string, optional) Bed type. The maximum length is 20 characters. - `payment_details.lodging_data.accommodation.daily_rate_amount` (integer, optional) Daily accommodation rate in cents. - `payment_details.lodging_data.accommodation.nights` (integer, optional) Number of nights. - `payment_details.lodging_data.accommodation.number_of_rooms` (integer, optional) Number of rooms, cabanas, apartments, and so on. - `payment_details.lodging_data.accommodation.rate_type` (string, optional) Rate type. The maximum length is 20 characters. - `payment_details.lodging_data.accommodation.smoking_indicator` (boolean, optional) Whether smoking is allowed. - `payment_details.lodging_data.affiliate` (object, optional) Affiliate details if applicable. - `payment_details.lodging_data.affiliate.code` (string, optional) Affiliate partner code. The maximum length is 20 characters. - `payment_details.lodging_data.affiliate.name` (string, optional) Affiliate partner name. The maximum length is 255 characters. - `payment_details.lodging_data.booking_number` (string, optional) Booking confirmation number for the lodging. The maximum length is 255 characters. - `payment_details.lodging_data.customer_service_phone_number` (string, optional) Customer service phone number for the lodging company. - `payment_details.lodging_data.fire_safety_act_compliance_indicator` (boolean, optional) Whether the lodging is compliant with any hotel fire safety regulations. - `payment_details.lodging_data.guests` (array of objects, optional) List of guests for the lodging. - `payment_details.lodging_data.guests.name` (string, required) Guest’s full name. The maximum length is 198 characters. - `payment_details.lodging_data.host` (object, optional) Host details for the lodging. - `payment_details.lodging_data.host.address` (object, optional) Address of the host. - `payment_details.lodging_data.host.address.city` (string, required) City, district, suburb, town, or village. - `payment_details.lodging_data.host.address.country` (string, required) Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - `payment_details.lodging_data.host.address.line1` (string, required) Address line 1, such as the street, PO Box, or company name. - `payment_details.lodging_data.host.address.postal_code` (string, required) ZIP or postal code. - `payment_details.lodging_data.host.address.line2` (string, optional) Address line 2, such as the apartment, suite, unit, or building. - `payment_details.lodging_data.host.address.state` (string, optional) State, county, province, or region ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). - `payment_details.lodging_data.host.country_of_domicile` (string, optional) Host’s country of domicile. - `payment_details.lodging_data.host.host_reference` (string, optional) Reference number for the host. The maximum length is 255 characters. - `payment_details.lodging_data.host.host_type` (enum, optional) Type of host. Possible enum values: - `hostel` A hostel or shared accommodation facility. - `hotel` A hotel or hotel chain. - `owner` The property owner directly managing the rental. - `rental_agency` A rental agency managing the property. - `payment_details.lodging_data.host.name` (string, optional) Name of the lodging property or host. The maximum length is 255 characters. - `payment_details.lodging_data.host.number_of_reservations` (integer, optional) Total number of reservations for the host. - `payment_details.lodging_data.host.property_phone_number` (string, optional) Property phone number. - `payment_details.lodging_data.host.registered_at` (timestamp, optional) Host’s registration date. - `payment_details.lodging_data.insurances` (array of objects, optional) List of insurances for the lodging. - `payment_details.lodging_data.insurances.amount` (integer, required) Price of the insurance coverage in cents. - `payment_details.lodging_data.insurances.insurance_type` (enum, required) Type of insurance coverage. Possible enum values: - `bankruptcy` Insurance covering losses due to provider bankruptcy. - `cancelation` Insurance covering cancellation. - `emergency` Insurance covering general emergency situations. - `medical` Insurance covering medical emergencies during the stay. - `payment_details.lodging_data.insurances.currency` (enum, optional) Currency of the insurance amount. - `payment_details.lodging_data.insurances.insurance_company_name` (string, optional) Name of the insurance company. The maximum length is 255 characters. - `payment_details.lodging_data.no_show_indicator` (boolean, optional) Whether the renter is a no-show. - `payment_details.lodging_data.renter_id_number` (string, optional) Renter ID number for the lodging. The maximum length is 25 characters. - `payment_details.lodging_data.renter_name` (string, optional) Renter name for the lodging. The maximum length is 198 characters. - `payment_details.order_reference` (string, optional) A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates. Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-automatic_payment_methods-enabled) is set to `true`. For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app. - `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.md). 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.md#dynamic) instead. - `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.md#static) to form the complete statement descriptor that appears on the customer’s statement. - `transfer_data` (object, optional) The parameters that you can use to automatically create a transfer after the payment is captured. Learn more about the [use case for connected accounts](https://docs.stripe.com/docs/payments/connected-accounts.md). - `transfer_data.amount` (integer, optional) The amount that will be transferred automatically when a charge succeeds. ```curl curl -X POST https://api.stripe.com/v1/payment_intents/pi_3MrPBM2eZvKYlo2C1TEMacFD/capture \ -u "<>" \ -H "Stripe-Version: 2026-01-28.preview" ``` ### Response ```json { "id": "pi_3MrPBM2eZvKYlo2C1TEMacFD", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, "amount_details": { "tip": {} }, "amount_received": 1000, "application": null, "application_fee_amount": null, "automatic_payment_methods": null, "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", "client_secret": "pi_3MrPBM2eZvKYlo2C1TEMacFD_secret_9J35eTzWlxVmfbbQhmkNbewuL", "confirmation_method": "automatic", "created": 1524505326, "currency": "usd", "customer": null, "description": "One blue fish", "last_payment_error": null, "latest_charge": "ch_1EXUPv2eZvKYlo2CStIqOmbY", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": "pm_1EXUPv2eZvKYlo2CUkqZASBe", "payment_method_options": {}, "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": "succeeded", "transfer_data": null, "transfer_group": null } ```