Home > Accounting, Payments, Void > SWS ReversePayment Method

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.

Categories: Accounting, Payments, Void Tags: ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: