On This Page

{#jumplink-list}  
[Markdown](/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-processing-basic-intro/payments-processing-basic-inc-auth-reversal-intro.md)  
Filter  
FILTER BY TAG

Partial Authorization Reversal {#payments-processing-basic-inc-auth-reversal-intro}
===================================================================================

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:

1. 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 the *Credentialed Transactions Developer Guide*.
2. For every anticipated additional charge, send an incremental authorization. For more information, see [Incremental Authorization](/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-processing-basic-intro/payments-processing-basic-auth-inc-intro.md "").
3. When the customer is ready to complete the payment, send a capture request for the final amount. For more information, see [Capture](/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-processing-basic-intro/payments-processing-basic-capture-intro.md "").
4. 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 {#payments-processing-basic-inc-auth-reversal-intro_d7e85}
-------------------------------------------------------------------

**Production:** `POST ``https://api.cybersource.com``/pts/v2/payments/`*{id}*`/reversals`{#payments-processing-basic-inc-auth-reversal-intro_d7e94}  
**Test:** `POST ``https://apitest.cybersource.com``/pts/v2/payments/`*{id}*`/reversals`{#payments-processing-basic-inc-auth-reversal-intro_d7e107}  
The *{id}* is the transaction ID returned in the authorization response.

Required Fields for Partial Authorization Reversal {#payments-processing-basic-inc-auth-reversal-required-fields}
=================================================================================================================

[clientReferenceInformation.code](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/client-ref-info-aa/client-ref-info-code.md "")
:

[orderInformation.amountDetails.currency](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-currency.md "")
:

[reversalInformation.amountDetails.totalAmount](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/reversal-info-aa/reversal-info-amount-details-total-amount.md "")
:
Set to the amount that you want to reverse that does not exceed the amount of remaining authorized funds.

Example: Partial Authorization Reversal {#payments-processing-basic-inc-auth-reversal-ex-rest}
==============================================================================================

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"
}
```

RELATED TO THIS PAGE

