Authorize a payment during checkout and capture it later from the merchant backend. Use this flow when the merchant must confirm inventory, fulfillment, or another business condition before charging the authorized amount.
Create a manual-capture PaymentIntent
Include capture_method when you create the PaymentIntent:
JSON
{
"capture_method": "manual"
}After the customer completes the payment flow, a successful authorization has pi_status set to requires_capture.
Capture the authorized amount
Send an authenticated backend request to:
POST {{base_url}}/public/v1/payment/intent/capture?pi_client_secret={{pi_client_secret}}The captured amount must not exceed the authorized amount. Confirm amount units, partial-capture support, and capture restrictions in the Capture an authorized amount API.
Verify the outcome
- Store the capture response against the original PaymentIntent.
- Process the related verified webhook notification.
- Confirm that the PaymentIntent reaches
succeededbefore treating the charge as captured. - Keep the merchant order reference associated with the PaymentIntent throughout the flow.
Do not call the capture endpoint for a PaymentIntent that used automatic capture.
Next steps
- Review PaymentIntent lifecycle and statuses.
- Use API responses and errors when capture returns an HTTP or API error.