SWS ReversePayment Method
Reverses payments associated with a rental item. The given transaction will be reversed entirely, including payment on all rental items and retail items. Use the GetPreReversePayDetails method to determine what items are affected by the reversal and if it can be reversed based on the site rules.
Parameters
Name | DataType | Is Required |
---|---|---|
TranReversalInfo:AccountID | Long | Required |
Description | The account’s ID number. This is returned when you use the CreateNewAccount method or can be retrieved with the SearchBy method. | |
TranReversalInfo:DontCreditCard | Boolean | Optional |
Description | Indicates if the reversal should be sent back to the card (“False”) or if it should be reversed in Store but not have a credit go back to the card (“False”). This is used for externally processed cards, NSFs on debit card transactions and for charge-backs on cards due to disputes. | |
TranReversalInfo:RentalID | Long | Required |
Description | The rental item’s ID number. This is returned when using the MakeReservation method or can be searched for using the SearchBy method. | |
TranReversalInfo:TranDates | TransactionDate | Required |
Description | An array or TransactionDate objects, one for each transaction needing to be reversed. | |
TransactionDate:TranDate | DateTime | Required |
Description | The date of the occurrence for the transaction being reversed. | |
TransactionDate:TranID | Long | Required |
Description | The transaction ID that is being reversed. | |
SiteID | Long | Required |
Description | The site’s ID number. This can be found using the GetSiteList method. |
Returned Parameters
Name | DataType |
---|---|
ErrorMessage | String |
Description | Provides details as to why the reversal of the transaction failed. |
ReversedTran | Long |
Description | The transaction’s ID number. Transaction IDs are system generated for each payment transaction that occurs in the system. |
ReversingTran | Long |
Description | The transaction’s ID number. Transaction IDs are system generated for each payment transaction that occurs in the system. A null or “0” response indicates the transaction failed. |
Example
As with every method we need to pass in credentials. We do this with the LookupUser request object.
We’ll assume you’ve got a web reference, let’s name it SWS, in your Visual Studio project. At this point we need to our objects. We’ll need the standard service object, a ReversePayment request object and a ReversePayment response object. We will also need a TranReversalInfo object and a TransactionDate object. We can define and create those like this:
// Create a request and response objects
SWS.WSSoapClient service = new SWS.WSSoapClient();
SWS.ReversePayment_Request request = new SWS.ReversePayment_Request();
SWS.ReversePayment_Response response;
SWS.TranReversalInfo tranInfo = new SWS.TranReversalInfo();
SWS.TransactionDate tranData = new SWS.TransactionDate();
Here’s my sample code of the Request object.
// Request
tranData.TranID = 123456;
tranData.TranDate = new DateTime(2017, 3, 9);
tranInfo.AccountID = 123456;
tranInfo.RentalID = 123456;
tranInfo.TranDates = new SWS.TransactionDate [] { tranData };
tranInfo.DontCreditCard = false;
request.SiteID = 123456;
request.ReversalDetails =new SWS.TranReversalInfo[] { tranInfo };
Finally we can call the method and pass across the login object and the request object to reverse our payment. It’s a good idea to do this in a Try Catch block.
// Call the method that will load the response object
try
{
response = service.ReversePayment(user_request, request);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Note that if something goes wrong the service will respond with an exception. You’ll want to take a look at that message returned in that exception so it can be debugged.
For a full list of methods see SWS Methods.