SWS ProcessRefund Method
Submits a request for a cash, check, credit or ‘Deny’ refund, based on a cancelled transaction. You will need data from the cancellation to process this request. If you wish to credit the amount of the refund to an alternate rental on the account, you must use the CancelReservationCashCredit SWS method.
Parameters
Name | DataType | Is Required |
---|---|---|
ContactData | ContactInfo | Required |
Description | The object containing required data for the accounts contact. | |
OrgID | Long | Required |
Description | The organization’s ID number. | |
RefundInfo | RefundData | Required |
Description | The object containing the required refund details. | |
SiteID | Long | Required |
Description | The site’s ID number. This can be found using the GetSiteList method. |
Returned Parameters
Name | DataType |
---|---|
Details | String |
Description | The total amount due to the customer for the assessments. |
Example
As with every method we need to pass in credentials. We do this with the LookupUser request object.
We will assume you have a web reference, let us name it SWS, in your Visual Studio project. At this point we need to define our objects. We will need the standard service object, a ProcessRefund request object, and a ProcessRefund response object. We will also need a ContactInfo object and a RefundData object. We can define and create those like this:
// Create a request and response objects
SWS.WSSoapClient service = new SWS.WSSoapClient();
SWS.ProcessRefund_Request request = new SWS.ProcessRefund_Request();
SWS.ProcessRefund_Response response;
SWS.ContactInfo conRequest = new SWS.ContactInfo();
SWS.RefundData refRequest = new SWS.RefundData();
Here is a sample code of the request object:
// ProcessRefund Request
conRequest.AccountID = 123456;
conRequest.RentalID = 123456;
conRequest.ContactName = "John Doe";
conRequest.Address1 = "123 Main St.";
conRequest.City = "My Town";
conRequest.State = "UT";
conRequest.PostalCode = "12345";
refRequest.TranID = 123456;
refRequest.RefundType = SWS.RefundTypes.CREDIT_CARD;
refRequest.RefundAmount = 25.30m;
refRequest.IsDenied = false;
request.OrgID = 123456;
request.SiteID = 123456;
request.ContactData = conRequest;
request.RefundInfo = refRequest;
Finally we can call the method and pass across the login object and the request object to retrieve our requested information. 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.ProcessRefund(user_request, request);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Note that if something goes wrong the service will respond with an exception. You will want to capture the message in the exception so it can be debugged.
For a full list of methods see SWS Methods.