Reverse Method
Reverses a transaction.
Object Oriented Interface
public function doReverse();
Procedural Interface
inpaydirect_fdmsrcretail_do_reverse($res);
Remarks
This method reverses a transaction that has not been settled.
To void/reverse a Sale or AuthOnly transaction first set ReversalTransactionType to specify the type of original transaction that is being reversed. Next set ReversalType to frtFullReversal and call this method.
If the previous transaction did not receive a response and the state of the transaction is uncertain you may perform a Timeout Reversal. To perform a timeout reversal set ReversalTransactionType to specify the type of original transaction that is being reversed. Next set ReversalType to frtTimeoutReversal and call this method.
Timeout Reversals are applicable to the following transaction types:
Full Reversals are applicable to the following transaction types:
After this method returns check the value of ResponseCode to determine if the transaction was successful.
Important Note: You must ping your list of service provider URLs and update the URL property to the service provider with the shortest response time every 100 transactions, as well as when your application initially starts. This is not a normal ICMP ping - to determine the fastest transaction URL you must use the special Ping method inside the FDMSRegister class. (You may update your list of service provider URLs with the FDMSRegister class's ServiceDiscovery method).
Retail Sale and Reverse Example
retail.TPPID = "AAA000"; retail.MerchantTerminalNumber = "00000001"; retail.MerchantId = "1234"; retail.GroupId = "20001"; retail.DatawireId = "00011122233344455566"; retail.URL = "https://stg.dw.us.fdcnet.biz/rc"; retail.ApplicationId = "RAPIDCONNECTVXN"; retail.IndustryType = FdmsrcretailIndustryTypes.fitRetail; retail.STAN = "112"; retail.TransactionNumber = "1234"; retail.OrderNumber = "123"; retail.ReferenceNumber = "123"; retail.TransactionAmount = "1200"; retail.Card.MagneticStripe = "B4012000033330026^FDCS TEST CARD /VISA^170410054321000000000000000 150 A"; retail.Card.EntryDataSource = EntryDataSources.edsTrack1; retail.Sale(); string aggregate = retail.GetDetailAggregate(); //Reverse retail = new Fdmsrcretail(); retail.TPPID = "AAA000"; retail.MerchantTerminalNumber = "00000001"; retail.MerchantId = "1234"; retail.GroupId = "20001"; retail.DatawireId = "00011122233344455566"; retail.URL = "https://stg.dw.us.fdcnet.biz/rc"; retail.ApplicationId = "RAPIDCONNECTVXN"; retail.STAN = "113"; retail.TransactionNumber = "1235"; retail.ReferenceNumber = "123457"; retail.SetDetailAggregate(aggregate); retail.Reverse();