Refund a specific transaction.
This method refunds a sale. Both credit card and check sale transactions may be refunded. You may choose to refund the entire amount or just a portion of the original sale.
For credit cards, the refund will show up as a separate transaction on the card holder's statement. To cancel the original sale before the batch it is in has been settled, the voidTransaction method should be used instead.
The transaction to be refunded must be retrieved using the reference number (RefNum) assigned to the transaction by the gateway. The RefNum is assigned by the gateway and returned when a transaction is processed. To find a missing RefNum, use the searchTransactions method.
This method pulls forward all of the information such as invoice number from the original sale transaction and saves it with the refund transaction. If you want to override any of this information, use runTransaction with the “Command” parameter set to “Refund” and the “RefNum” parameter set to the transaction refnum of the sale. You can then populate the Details object with any information specific to the refund.
TransactionResponse refundTransaction ( ueSecurityToken Token, integer RefNum, double Amount )
Type |
Name |
Description |
Token |
Merchant security token: used to identify merchant and validate transaction. |
|
integer |
RefNum |
Transaction Reference number assigned by the gateway. |
double |
Amount |
Amount to be refunded (set to 0 if refunding entire original amount) |
Returns a TransactionResponse object containing the results of the transaction and all relevant data. |
<?php
try {
$refnum="1009411";
$amount="1.99";
print_r($client->refundTransaction($token,$refnum, $amount));
}
catch(SoapFault $e) {
echo $e->getMessage();
echo "\n\nRequest: " . $client->__getLastRequest();
echo "\n\nResponse: " . $client->__getLastResponse();
}
?>
A refund with additional information passed.
$Request=array(
'AccountHolder' => 'Tester Jones',
'ClientIP' => '123.123.123.123',
'CustomerID' => '123456',
'Command' => 'refund',
'Details' => array(
'Amount' => '10.00',
'Clerk' => 'John Doe',
'Description' => 'Refund transaction',
'Invoice' => '44539',
'OrderID' => '12345',
'PONum' => '54321',
'Table' => '1',
'Terminal' => '27',
),
'RefNum' => $SaleRefNum
);
$res=$client->runTransaction($token, $Request);
try {
//Set RefNum to the Reference Number of transaction you
//want to refund.
BigInteger RefNum = _runTransaction();
TransactionResponse response;
response = client.refundTransaction(token, RefNum, 10.10);
System.out.println(response.getStatus());
} catch (Exception e) {
System.out.println("Soap Exception: " + e.getMessage());
}
Dim client As eBizCharge.eBizChargeService = New eBizCharge.eBizChargeService
Dim token As eBizCharge.ueSecurityToken
token = Me.CreateToken("714SSUxv1uohng2XkMJ7kLpETsu58G66", "1234")
Dim transaction As eBizCharge.TransactionRequestObject = New eBizCharge.TransactionRequestObject
transaction.Details = New eBizCharge.TransactionDetail
transaction.Details.Amount = "11.11"
transaction.Details.AmountSpecified = "true"
transaction.Details.Invoice = "123456"
transaction.AuthCode = "009915"
transaction.RefNum = "46993455"
Dim response As eBizCharge.TransactionResponse = New eBizCharge.TransactionResponse
response = client.captureTransaction(token, transaction.RefNum, transaction.Details.Amount)
If response.ResultCode = "A" Then
MsgBox("Transaction Approved, Refnum: " & response.RefNum)
Else
MsgBox("Transaction Error, Reason: " & response.Error)
End If
string refnum;
double amount;
refnum = "46973575";
amount = 10.00;
eBizCharge.TransactionResponse response = new eBizCharge.TransactionResponse();
try
{
response = client.refundTransaction(token, refnum, amount);
if (response.ResultCode == "A")
{
MessageBox.Show(string.Concat("Transaction Approved, RefNum: ",
response.RefNum));
}
else
{
MessageBox.Show(string.Concat("Transaction Failed: ",
response.Error));
}
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:eBizCharge" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:refundTransaction>
<Token xsi:type="ns1:ueSecurityToken">
<ClientIP xsi:type="xsd:string">192.168.0.1</ClientIP>
<PinHash xsi:type="ns1:ueHash">
<HashValue xsi:type="xsd:string">11ac55b0a0b59f8f028dbf85bc32266fa973dd0e</HashValue>
<Seed xsi:type="xsd:string">12678150211876663375</Seed>
<Type xsi:type="xsd:string">sha1</Type>
</PinHash>
<SourceKey xsi:type="xsd:string">HB4P7C4K2w2ZCQQQXRqrxDj6agrS2NIT</SourceKey>
</Token>
<RefNum xsi:type="xsd:integer">1009411</RefNum>
<Amount xsi:type="xsd:double">1.99</Amount>
</ns1:refundTransaction>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>