Void an Authorization
POST /v1/payments/void
Cancels an authorized payment before it has been captured. Only PaymentIntents with status authorized can be voided.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
payment_intent_id | string (UUID) | Yes | The ID of the authorized PaymentIntent to void. |
Examples
Response
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"merchant_id": "m1234567-89ab-cdef-0123-456789abcdef",
"amount": 5000,
"currency": "usd",
"status": "canceled",
"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:02Z",
"canceled_at": "2026-03-18T12:00:02Z"
}When to Use
Void an authorization when:
- The customer cancels their order before shipment.
- You detect fraud before capturing funds.
- The authorization is no longer needed.
Timing: Void as soon as possible. Once an authorization expires or is captured, it cannot be voided. Use Refund instead for captured payments.
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 |