Confirm a Payment Intent
Confirms that the customer intends to pay with the payment method already attached to the Payment Intent, or with a payment method provided in this request.
Use this endpoint when you create the Payment Intent before collecting or attaching the customer's payment method. If the payment method is single-use and the Payment Intent has a customer, Paypercut can attach the payment method to that customer during confirmation. If setup_future_usage is provided on this request, it takes precedence over the value stored on the Payment Intent.
If the selected payment method requires customer authentication, the Payment Intent returns status=requires_action and includes the next step in next_action. After the customer completes the action, no additional server-side confirmation is required.
With capture_method=automatic, a successful confirmation captures the payment and returns status=succeeded. With capture_method=manual, a successful confirmation authorizes the payment and returns status=requires_capture; capture the authorized amount with the Capture Payment Intent endpoint.
Related guide: Payment Intents
- Type: stringidmax length:200required
- Type: array string[]expand
- Type: string ·payment
_method Payment method to use for this confirmation. If omitted, Paypercut uses the payment method already attached to the Payment Intent. The payment method must either belong to the same customer or be a single-use payment method that can be assigned during confirmation.
- Type: object ·payment
_method _data - Type: object ·payment
_method _options Payment method-specific configuration for this PaymentIntent.
- Type: string | null · enumsetup
_future _usage Indicates that you intend to make future payments with the Payment Intent's payment method. Use
on_sessionwhen future payments will be made while the customer is present in your checkout flow. Useoff_sessionwhen future payments may happen while the customer is not present, such as subscriptions or saved-card charges. If the Payment Intent has a customer, Paypercut can attach and promote a single-use payment method to that customer after the Payment Intent is confirmed and the customer completes any required authentication. When this value is provided during confirmation, it takes precedence over the value stored on the Payment Intent.values- off
_session - on
_session
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://api.paypercut.io/v1/payment_intents/{id}/confirm' \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"payment_method": "01K688H80Z3199KETHDJ4ZAFPS",
"payment_method_data": {
"type": "card",
"card": {
"cardholder_name": null,
"brand": "",
"country": null,
"issuer": null,
"display_brand": null,
"exp_month": 1,
"exp_year": 1,
"fingerprint": null,
"funding": "",
"segment": "",
"iin": "",
"last4": "",
"wallet": {
"dynamic_last4": null,
"type": "apple_pay"
},
"three_d_secure_usage": {
"supported": true
},
"token_id": "",
"token_intent_id": ""
},
"billing_details": {
"email": null,
"name": null,
"phone": null,
"address": {
"city": null,
"country": null,
"line1": null,
"line2": null,
"postal_code": null,
"state": null
}
}
},
"payment_method_options": {
"type": "card",
"card": {
"three_d_secure": {
"session_id": "",
"ares_trans_status": "A",
"cryptogram": "",
"electronic_commerce_indicator": "01",
"exemption_indicator": "low_risk",
"requestor_challenge_indicator": "",
"transaction_id": "",
"version": "1.0.2"
},
"request_three_d_secure": "any"
}
},
"setup_future_usage": "off_session"
}'
{
"amount": 100,
"payment_method": "01K688H80Z3199KETHDJ4ZAFPS",
"customer": {
"created": "2026-07-08T08:02:27.791Z",
"livemode": true,
"email": null,
"name": null,
"phone": null,
"preferred_locales": [
"string"
],
"address": {
"city": null,
"country": null,
"line1": null,
"line2": null,
"postal_code": null,
"state": null
},
"invoice_settings": {
"default_payment_method": "01K688H80Z3199KETHDJ4ZAFPS"
},
"id": "string"
},
"capture_method": "automatic",
"on_behalf_of": "string",
"statement_descriptor": null,
"setup_future_usage": "off_session",
"id": "21210021c2855007efa2d657018",
"created": "2026-07-08T08:02:27.791Z",
"currency": {
"iso": "usd",
"scale": 2
},
"status": "canceled",
"metadata": {
"additionalProperty": "string"
},
"amount_capturable": 100,
"amount_received": 100,
"updated": "2026-07-08T08:02:27.791Z",
"livemode": true,
"next_action": {
"redirect_to_url": {
"return_url": null,
"url": null
},
"type": "string",
"three_d_secure": {
"flow": "frictionless",
"status_url": "https://api.yourco.com/v1/payment_intents/pi_123",
"return_url": null,
"message": {
"allowed_origins": [
"https://merchant.example.com"
]
},
"hint": {
"scheme": "visa",
"version": "2.2.0"
},
"idempotency_key": "string"
}
},
"latest_payment": "01K755J9SV2364REVHB915Z2FW",
"cancellation_reason": "abandoned",
"canceled_at": null
}
