Captures
This section describes how to capture an authorized transaction. All supported card types can process captures.
Supported Processors
- AIBMS
- American Express Direct
- Banque de France et Tresor Public
- Barclays
- BNP Paribas France
- Chase Paymentech Solutions
- Chase Tandem
- China UnionPay
- Cielo
- Comercio Latino
- Credit Mutuel-CIC
- Elavon Americas
- FDC Compass
- FDC Nashville Global
- FDI Australia
- FDMS Nashville
- Getnet
- GPN
- HBOS
- HSBC
- JCN Gateway
- Lloyds-OmniPay
- Moneris
- National Payment Gateway
- OmniPay Direct
- Prosa
- Rede
- RuPay HDFC
- SIX
- Streamline
- TSYS Acquiring Solutions
- UATP
- Vero
- Worldpay VAP
- Chase Paymentech Solutions
- Elavon Americas
- FDC Nashville Global
- Streamline
- Worldpay VAP
- Barclays
- GPX
- TSYS Acquiring Solutions
Processor-Specific Information
China UnionPay: use the capture service to process pre-authorization completions.
JCN Gateway: listed below are the maximum amounts that can be processed:
- The maximum amount for an authorization is limited to 8 digits: 99,999,999.
- The maximum amount for a capture or credit is limited to 7 digits: 9,999,999.
Endpoints
POST /pts/v2/payments/{id}/captures
POST /pts/v2/payments/{id}/captures
POST /pts/v2/payments/{id}/captures
POST https://api.sa.cybersource.com/pts/v2/payments/{id}/captures
POST https://apitest.sa.cybersource.com/pts/v2/payments/{id}/captures
The {id} is the transaction ID returned in the authorization response.
Example
Standard Example
{ "clientReferenceInformation": { "code": "ABC123" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }}{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6662994431376681303954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6662994431376681303954" } }, "clientReferenceInformation": { "code": "1666299443215" }, "id": "6662994431376681303954", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "EUR" } }, "reconciliationId": "66535942B9CGT52U", "status": "PENDING", "submitTimeUtc": "2022-10-20T20:57:23Z"}National Payment Gateway Example
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_02" }, "processingInformation": { "captureOptions": { "captureSequenceNumber": 1, "totalCaptureCount": 5 } }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "SAR" } }}{ "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "SAR" } }, "processorInformation": { "paymentAccountReferenceNumber": "ZnUYuZUWBZbZVsNI0CEsKW75QleZ8", "approvalCode": "830SPG", "retrievalReferenceNumber": "424009035277", "responseCode": "00", "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/v2/payments/7247512943611234567890" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7247512943611234567890/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_REQUEST_PB-64" }, "consumerAuthenticationInformation": { "token": "7247512943611234567890" }, "reconciliationId": "7247511738451234567890", "status": "PENDING", "id": "7247512943611234567890", "submitTimeUtc": "2024-08-27T09:34:54Z"}Required Fields
These fields are required when creating a capture request.
| Field | Description |
|---|---|
clientReferenceInformation.code | Order reference or tracking number. Provide a unique value for each transaction so that you can perform meaningful searches for the transaction. This field value maps from the original authorization, sale, or credit transaction. |
orderInformation.amountDetails.currency | For RuPay HDFC, set the value to INR. |
orderInformation.amountDetails.totalAmount | — |
Capturing an Authorization
Pass the original authorization ID in the URL and send the service request to:
POST https://<url_prefix>/v2/payments/{id}/capturesUse one of these URL prefixes:
- Test:
{% t key="api-test-prefix-rest" /%} - Production:
{% t key="api-prod-prefix-rest" /%}
The id is the authorization ID returned in the authorization response.
American Express Incremental Authorizations
When you capture funds that were authorized from incremental authorizations and do not capture the total amount, you are required to reverse the remaining unused authorized amount. For example, if the total of the initial authorization and all of the incremental authorizations is $100, and the amount that you capture is $80, then you must reverse the difference of $20.
To reverse funds from incremental authorizations, send a partial authorization reversal request. For more information, see Authorization Reversals.
Example
{ "clientReferenceInformation": { "code": "1662997399711" }, "orderInformation": { "amountDetails": { "totalAmount": 100, "currency": "USD" } }, "paymentAccountInformation": { "card": { "number": "CARD_NUMBER", "type": "001" } }}{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6629976031336699803954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6629976031336699803954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6629976031336699803954/captures" } }, "clientReferenceInformation": { "code": "1662997399711" }, "id": "6629976031336699803954", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "1" } }, "reconciliationId": "61117545B7TY1MP6", "status": "AUTHORIZED", "submitTimeUtc": "2022-09-12T15:46:43Z"}Thanks for your feedback!
Last published: September 29, 2026