Multiple Partial Captures

This section shows you how to process multiple partial captures for an authorization.
This feature enables you to request multiple partial captures for one authorization. A multiple partial capture allows you to incrementally settle authorizations over time. Ensure that the total amount of all the captures does not exceed the authorized amount.

Fields Specific to This Use Case

These API request fields and values are specific to this use case:

Limitations

Multiple partial captures are supported only for card-not-present transactions; they are not supported for card-present transactions.

Endpoint

Production:
POST
https://api.cybersource.com
/pts/v2/payments/
{id}
/captures
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/
{id}
/captures
The
{id}
is the transaction ID returned in the authorization response.

Required Fields for Processing Multiple Partial Captures

Set to
clientReferenceInformation.code
value used in corresponding authorization request.
Cybersource
provides the value for this field.
For the final capture request, set this field and
processingInformation.captureOptions.totalCaptureCount
to the same value.
For Visa and Mastercard, the value for this field is sent to the processor. For all card types, the value for this field is used to determine whether to initiate an automatic partial authorization reversal.
When you do not know the total number of captures that you are going to request, set this field to at least one more than the
processingInformation.captureOptions. captureSequenceNumber
field until you reach the final capture. For the final capture request, set this field and
processingInformation.captureOptions. captureSequenceNumber
to the same value.
For Visa and Mastercard, the value for this field is sent to the processor. For all card types, the value for this field is used to determine whether to initiate an automatic partial authorization reversal.

REST Example: Processing Multiple Partial Captures

Light Dark
Request
12345678910111213141516
{{ "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "captureOptions": { "captureSequenceNumber": "2", "totalCaptureCount": "3" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }}
Response to a Successful Request
1234567891011121314151617181920212223
{"_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6742496815656503003954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6742496815656503003954" } }, "clientReferenceInformation": { "code": "TC50171_3" }, "id": "6742496815656503003954", "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "reconciliationId": "67332020GD2G1OO1", "status": "PENDING", "submitTimeUtc": "2023-01-20T21:21:21Z"}