Payment and Item Reversals

Sometimes after a payment has been made, no matter which integration type, it can be necessary to reverse either the entirety of the payment, or refund some portion of what was paid. In addition to supporting this sort of action through the PaymentExpress administrative interface, PaymentExpress also offers payment-level and item-level reversal API interfaces.

Payment-Level Reversals

To perform a payment-level reversal, you will need the identifier of the payment in PaymentExpress, as provided in either a postback, reconciliation file, or through a different API lookup. To reverse the whole payment, simply make an HTTP API call to:

POST /api/v1/pay/payments/{paymentId}/reversal

{ "amount": "25.34" }

You should provide the amount of the entire payment balance as your system reflects it. This is so that in the event there are any sync issues between the systems that reversal will not occur until they have been resolved. NOTE: Partial reversals (i.e. reversals for less than the full payment amount) are not supported at the payment level. If you need to reverse a partial amount, you must do so on an item-level reversal, documented below.

Further documentation on the Payment-Level Reversal API, expected responses, etc. is available in our API Reference.

Item-Level Reversals

To perform a reversal on all or part of one of the items included in a transaction, you will need both the payment identifier like a payment-level reversal, as well as the clientItemId value that was supplied when the cart/payment was created. To perform an item level reversal, you would make an HTTP request like the following:

POST /api/v1/pay/payments/{paymentId}/items/{clientItemId}/reversal

{ "amount": "25.34" }

You should provide the amount to be reversed: either the full amount remaining on the item, or some partial amount. Further documentation on Item-Level Reversals API, expected responses, etc. is available in our API Reference.