Capture a Payment
POST /v1/payments/capture
Captures a previously authorized payment to settle the funds. Only PaymentIntents with status authorized and capture_method: manual can be captured.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
payment_intent_id | string (UUID) | Yes | The ID of the authorized PaymentIntent to capture. |
Examples
Response
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"merchant_id": "m1234567-89ab-cdef-0123-456789abcdef",
"amount": 5000,
"currency": "usd",
"status": "succeeded",
"capture_method": "manual",
"gateway_token": "tok_test_aBcDeFgHiJkLmNoPqRsTuVwX",
"connector_id": "stripe",
"test_mode": true,
"created_at": "2026-03-18T12:00:00Z",
"updated_at": "2026-03-18T12:00:01Z",
"captured_at": "2026-03-18T12:00:01Z"
}When to Use
Use the authorize-then-capture pattern when:
- You need to verify card validity before fulfilling an order.
- You ship physical goods and want to capture only after shipment.
- You need time to review orders for fraud.
Timing: Authorizations typically expire after 7 days (varies by processor). Capture before the authorization expires to avoid decline.
Error Cases
| Error Code | HTTP Status | Cause |
|---|---|---|
invalid_param | 400 | Missing payment_intent_id |
payment_intent_not_found | 404 | PaymentIntent does not exist |
invalid_state_transition | 409 | PaymentIntent is not in authorized status |