Skip to main content

payment_not_capturable

HTTP 422, type invalid_request_error.

This payment is in a state that cannot be captured.

Why it happened​

Only an authorization that is still holding funds can be captured: a payment whose status is authorized. The message names the payment's money state, a finer internal word. Read the payment's status with GET /payments/{id}; the steps below use those status values.

How to fix it​

If the status is succeeded, partially_captured, partially_refunded or refunded, the money was already taken, and there is nothing to capture. If it is voided, the authorization was released: take a new payment if you still want the money. If it is declined, failed, expired or canceled, the payment is final and never held funds: take a new payment if you still want one. If the status is created, requires_payment, authenticating or processing, the payment has not finished yet and can still become authorized or succeeded: read it again with GET /payments/{id} until its status changes, then act on the new status.

Retrying: do not retry the same request while the status is one of those above. If a payment that had not finished becomes authorized, send the capture as a new request with a new Idempotency-Key: this refusal happened after the key was claimed.