4D Payments SDK 2016 .NET Edition

Questions / Feedback?

Reverse Method

Reverses a previously authorized transaction.


public void Reverse();
Public Sub Reverse()


To reverse a transaction, you need the following information from the original authorization:

Additionally, the Number, EntryDataSource and expiration date from the original transaction must be included. Note that you should NOT be saving track data and submitting it in the reversal, you should only store the card number, expiration date, and entry data source.

Instead of setting these properties by hand, it is preferred that you can ParseAggregate with the XML aggregate returned from the authorizing component's GetDetailRecord method.

Then simply set the ReversalType, ReversalCode, and the new SettlementAmount, and then call Reverse. If the reversal was successful the Code field will be "00". All of the other Response fields will be identical to the values submitted in the properties above.

NOTE: Reversal transactions are not to be entered into the batch settlement. If a transaction has been partially reversed, the original detail record must be updated with the new AuthorizedAmount and SettlementAmount. If the transaction has been completely reversed the original detail record MUST NOT be included in the batch settlement.

.NET Standard Notes

To call this method in an asynchronous manner call ReverseAsync instead. When the method completes (or an error is encountered) the ReverseCompleted event will fire.

Copyright (c) 2021 4D Payments Inc. - All rights reserved.
4D Payments SDK 2016 .NET Edition - Version 16.0 [Build 7809]