On This Page
Partial Authorization Reversal
A partial authorization reversal releases a partial amount of the authorized funds held on the customer’s payment card. Process a partial authorization reversal when the captured funds are less than the total authorized amount. This typically occurs when the final bill amount is less than the total amount of the combined original authorization and incremental authorizations.
Primary use cases include:
- Variable amount services
- Hotels release unused pre-authorized amounts after checkout.
- Car rentals release unused security hold portions.
- Fuel stations release funds when the final pump amount is less than the initial pre-authorization.
- Partial shipment and fulfillment
- You ship part of an order and do not charge for the remainder of the order.
- Subscription boxes or bundles include items that are unavailable.
Process partial authorization reversals in these sequences:
- Pre-authorization or standard authorization, then a partial authorization reversal, and lastly a capture.
- Pre-authorization, then an incremental authorization, then a partial authorization reversal, and lastly a capture.
The total authorized amount during a reversal or capture request is the original
authorized amount plus the incremental authorized amount minus any previous partial
authorized reversal amounts and non-voided captures.
Supported Card Types
Partial authorization reversals support these card types:
- American Express
- Discover
- Maestro
- Maestro International
- JCB (in US and European Union (EU) regions)
- Mastercard
- Visa
American Express Card Requirements
When you process a payment with an American Express card, reverse any remaining
authorized funds that are not captured. For example, if the total amount of the
initial authorization and all of the incremental authorizations is 100.00, and the
captured amount is 80.00, then reverse the difference of 20.00.
Processing an Incremental Authorization with a Partial Authorization
Reversal
Complete these tasks to reverse any remaining authorized funds that are not captured:
- Send an initial authorization request that places a hold on the customer's funds and saves the card as a card-on-file. This is also known as an estimated authorization request. For more information, see theCredentialed Transactions Developer Guide.
- For every anticipated additional charge, send an incremental authorization. For more information, see Incremental Authorization.
- When the customer is ready to complete the payment, send a capture request for the final amount. For more information, see Capture.
- If there are remaining authorized funds that are not captured, send a partial authorization reversal to remove the hold on the funds.
Relaxed Error Scenarios
Errors are relaxed for these scenarios:
- When the reversal amount is not equal to the authorized amount, an error does not occur unless the reversal amount is greater than the authorized amount.
- You can process multiple partial authorization reversals, and an error occurs only when the reversal amount exceeds the total remaining authorized amount.
- Transactions can be reversed and settled multiple times as long as the total reversal and settled amount do not exceed the total authorized amount.
Relaxed error codes include:
- 237: Decline - The authorization has already been reversed (AUTH_ALREADY_REVERSED)
- 238: Decline - The transaction has already been settled (TRANSACTION_ALREADY_SETTLED)
- 243: Decline - The transaction has already been settled or reversed (TRANSACTION_ALREADY_REVERSED_OR_SETTLED)
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}
/reversalsTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/reversalsThe is the transaction ID returned in the
authorization response.
{id}
Required Fields for Partial Authorization
Reversal
- Set to the amount that you want to reverse that does not exceed the amount of remaining authorized funds.
Example: Partial Authorization Reversal
Request
{ "clientReferenceInformation": { "code": "test123" }, "reversalInformation": { "amountDetails": { "totalAmount": "20.00" } }, "orderInformation": { "amountDetails": { "currency": "USD" } } }
Response to a Successful Request
{ "_links" : { "self" : { "method" : "GET", "href" : "/pts/v2/reversals/6869460219566537303955" } }, "clientReferenceInformation" : { "code" : "RTS-Auth-Reversal" }, "id" : "6869460219566537303955", "orderInformation" : { "amountDetails" : { "currency" : "USD" } }, "processorInformation" : { "responseCode" : "200" }, "reconciliationId" : "82kBK3qDNtls", "reversalAmountDetails" : { "reversedAmount" : "20.00", "currency" : "USD" }, "status" : "REVERSED", "submitTimeUtc" : "2026-06-16T20:07:02Z" }