Capture an authorization
Submit a previously authorized payment for the intended capture amount.
Prerequisites
You need the payment ID returned by authorization. The requested amount must not exceed the original authorized amount. A capture acts on that existing payment; it is not another token sale.
Capture request
Replace the path placeholder with the authorization payment ID. The example follows the numeric field type in the endpoint reference. POST /api/v5/payments/<payment-id>/capture HTTP/1.1 Host: sandbox.nmi.com Authorization: <sandbox-private-key> Content-Type: application/json { "amount": 10.0 } Sandbox verified 2026-10-16: full and partial capture of synthetic-card authorizations passed; captured test payments were voided before settlement.
Field guide
The capture endpoint requires the payment identifier in its path and amount in the JSON body. Field Placement Meaning payment_id Path Gateway ID from authorization. amount JSON body Amount to capture, equal to or below the authorization. tracking_number JSON body, optional Shipment tracking reference where applicable.
Recommended capture controls
Perform the capture from a server operation tied to fulfillment. Protect it from repeated job execution and simultaneous staff actions. Load the order and its recorded authorization. Confirm the intended capture amount and currency in your own ledger. Submit once and record the returned outcome. Reconcile the gateway record before retrying an ambiguous attempt.
What to test
Exercise full and smaller captures, an amount above the authorization, an unknown payment ID and a network interruption. Record the actual processor behavior for canceled or expired authorizations. A successful capture response does not replace reconciliation with settlement records.