{"_id":"5632a5e849e16d0d0012246b","__v":0,"user":"55b932ba8fd1a02b00f496c8","version":{"_id":"5632a5e549e16d0d00122443","__v":6,"project":"55b933b3146ef121002158d3","createdAt":"2015-10-29T23:04:05.701Z","releaseDate":"2015-10-29T23:04:05.701Z","categories":["5632a5e749e16d0d00122444","5632a5e749e16d0d00122445","5632a5e749e16d0d00122446","5632a5e749e16d0d00122447","5632a5e749e16d0d00122448","5632a5e749e16d0d00122449","5632a5e749e16d0d0012244a","5632a5e749e16d0d0012244b","5632a5e749e16d0d0012244c","5632a5e749e16d0d0012244d","5632a5e749e16d0d0012244e","5632a5e749e16d0d0012244f","5632a5e749e16d0d00122450","5632b179df556c0d00cd095b","564e13053b2b4a19000cd69b","59caa9df65accc001a489c95","59cab50965accc001a489d28","59cadd464ab7b70024378e74"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.1.0","version":"1.1"},"category":{"_id":"5632a5e749e16d0d00122445","project":"55b933b3146ef121002158d3","version":"5632a5e549e16d0d00122443","__v":1,"pages":["5632a5e849e16d0d00122460","5632a5e849e16d0d00122461","5632a5e849e16d0d00122462","5632a5e849e16d0d00122463","5632a5e849e16d0d00122464","5632a5e849e16d0d00122465","5632a5e849e16d0d00122466","5632a5e849e16d0d00122467","5632a5e849e16d0d00122468","5632a5e849e16d0d00122469","5632a5e849e16d0d0012246a","5632a5e849e16d0d0012246b","5632a5e849e16d0d0012246c","5632a5e849e16d0d0012246d","5632a5e849e16d0d0012246e","5632a5e849e16d0d0012246f","5632a5e849e16d0d00122470","5632a5e849e16d0d00122471","5632a5e849e16d0d00122472","5632a5e849e16d0d00122473","5632a5e849e16d0d00122474","5632a5e849e16d0d00122475","5632a5e849e16d0d00122476","5632a5e849e16d0d00122477"],"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-07-31T23:43:21.882Z","from_sync":false,"order":3,"slug":"transactions","title":"Transactions"},"githubsync":"","project":"55b933b3146ef121002158d3","parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-08-03T17:51:11.821Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":11,"body":"Refund a specific transaction.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Description\"\n}\n[/block]\nThis 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.\nFor 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](/docs/void-transactions) method should be used instead.\nThe 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](/docs/searchtransactions) method.\nThis 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](/docs/run-transactions) 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](/docs/transactiondetail) object with any information specific to the refund.\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Syntax\"\n}\n[/block]\n[TransactionResponse](/docs/transactionresponse) **refundTransaction** ( [ueSecurityToken](/docs/uesecuritytoken) Token, integer RefNum, double Amount )\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Arguments\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Type\",\n    \"h-1\": \"Name\",\n    \"h-2\": \"Description\",\n    \"0-0\": \"[ueSecurityToken](/docs/uesecuritytoken)\",\n    \"0-1\": \"Token\",\n    \"0-2\": \"Merchant security token: used to identify merchant and validate transaction.\",\n    \"1-0\": \"integer\",\n    \"1-1\": \"RefNum\",\n    \"1-2\": \"Transaction Reference number assigned by the gateway.\",\n    \"2-0\": \"double\",\n    \"2-1\": \"Amount\",\n    \"2-2\": \"Amount to be refunded (set to 0 if refunding entire original amount)\"\n  },\n  \"cols\": 3,\n  \"rows\": 3\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Return Value\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"0-1\": \"Returns a TransactionResponse object containing the results of the transaction and all relevant data.\",\n    \"0-0\": \"[TransactionResponse](/docs/transactionresponse)\"\n  },\n  \"cols\": 2,\n  \"rows\": 1\n}\n[/block]\n## PHP \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<?php\\ntry {\\n $refnum=\\\"1009411\\\";\\n $amount=\\\"1.99\\\";\\n print_r($client->refundTransaction($token,$refnum, $amount));\\n}\\ncatch(SoapFault $e) {    \\n echo $e->getMessage();\\n echo \\\"\\\\n\\\\nRequest: \\\" . $client->__getLastRequest();\\n echo \\\"\\\\n\\\\nResponse: \\\" . $client->__getLastResponse();\\n}\\n?>\\n\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]\nA refund with additional information passed.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"$Request=array(\\n       'AccountHolder' => 'Tester Jones',\\n       'ClientIP' => '123.123.123.123',\\n       'CustomerID' => '123456',\\n       'Command' => 'refund',\\n       'Details' => array(\\n               'Amount' => '10.00',\\n               'Clerk' => 'John Doe',\\n               'Description' => 'Refund transaction',\\n               'Invoice' => '44539',\\n               'OrderID' => '12345',\\n               'PONum' => '54321',\\n               'Table' => '1',\\n               'Terminal' => '27',\\n       ),\\n       'RefNum' => $SaleRefNum\\n);\\n$res=$client->runTransaction($token, $Request);\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]\n## Java \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"try {\\n //Set RefNum to the Reference Number of transaction you\\n //want to refund.\\n BigInteger RefNum = _runTransaction();\\n TransactionResponse response;\\n response = client.refundTransaction(token, RefNum, 10.10);\\n System.out.println(response.getStatus());\\n} catch (Exception e) {\\n   System.out.println(\\\"Soap Exception: \\\" + e.getMessage());\\n}\",\n      \"language\": \"java\"\n    }\n  ]\n}\n[/block]\n## Visual Basic (.NET) \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"Dim client As eBizCharge.eBizChargeService = New eBizCharge.eBizChargeService\\n       Dim token As eBizCharge.ueSecurityToken\\n       token = Me.CreateToken(\\\"714SSUxv1uohng2XkMJ7kLpETsu58G66\\\", \\\"1234\\\")\\n       Dim transaction As eBizCharge.TransactionRequestObject = New eBizCharge.TransactionRequestObject\\n       transaction.Details = New eBizCharge.TransactionDetail\\n       transaction.Details.Amount = \\\"11.11\\\"\\n       transaction.Details.AmountSpecified = \\\"true\\\"\\n       transaction.Details.Invoice = \\\"123456\\\"\\n       transaction.AuthCode = \\\"009915\\\"\\n       transaction.RefNum = \\\"46993455\\\"\\n       Dim response As eBizCharge.TransactionResponse = New eBizCharge.TransactionResponse\\n       response = client.captureTransaction(token, transaction.RefNum, transaction.Details.Amount)\\n       If response.ResultCode = \\\"A\\\" Then\\n           MsgBox(\\\"Transaction Approved, Refnum: \\\" & response.RefNum)\\n       Else\\n           MsgBox(\\\"Transaction Error, Reason: \\\" & response.Error)\\n       End If\",\n      \"language\": \"c\"\n    }\n  ]\n}\n[/block]\n## C Sharp (.Net)\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"string refnum;\\n           double amount;\\n           refnum = \\\"46973575\\\";\\n           amount = 10.00;\\n           eBizCharge.TransactionResponse response = new eBizCharge.TransactionResponse();\\n           try\\n           {\\n               response = client.refundTransaction(token, refnum, amount);\\n               if (response.ResultCode == \\\"A\\\")\\n               {\\n                   MessageBox.Show(string.Concat(\\\"Transaction Approved, RefNum: \\\",\\n                   response.RefNum));\\n               }\\n               else\\n               {\\n                   MessageBox.Show(string.Concat(\\\"Transaction Failed: \\\",\\n                   response.Error));\\n               }\\n           }\\n           catch (Exception err)\\n           {\\n               MessageBox.Show(err.Message);\\n           }\",\n      \"language\": \"csharp\"\n    }\n  ]\n}\n[/block]\n## XML \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\\\"http://schemas.xmlsoap.org/soap/envelope/\\\"\\nxmlns:ns1=\\\"urn:eBizCharge\\\" xmlns:xsd=\\\"http://www.w3.org/2001/XMLSchema\\\"\\nxmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\"\\nxmlns:SOAP-ENC=\\\"http://schemas.xmlsoap.org/soap/encoding/\\\"\\nSOAP-ENV:encodingStyle=\\\"http://schemas.xmlsoap.org/soap/encoding/\\\">\\n<SOAP-ENV:Body>\\n<ns1:refundTransaction>\\n<Token xsi:type=\\\"ns1:ueSecurityToken\\\">\\n<ClientIP xsi:type=\\\"xsd:string\\\">192.168.0.1</ClientIP>\\n<PinHash xsi:type=\\\"ns1:ueHash\\\">\\n<HashValue xsi:type=\\\"xsd:string\\\">11ac55b0a0b59f8f028dbf85bc32266fa973dd0e</HashValue>\\n<Seed xsi:type=\\\"xsd:string\\\">12678150211876663375</Seed>\\n<Type xsi:type=\\\"xsd:string\\\">sha1</Type>\\n</PinHash>\\n<SourceKey xsi:type=\\\"xsd:string\\\">HB4P7C4K2w2ZCQQQXRqrxDj6agrS2NIT</SourceKey>\\n</Token>\\n<RefNum xsi:type=\\\"xsd:integer\\\">1009411</RefNum>\\n<Amount xsi:type=\\\"xsd:double\\\">1.99</Amount>\\n</ns1:refundTransaction>\\n</SOAP-ENV:Body>\\n</SOAP-ENV:Envelope>\",\n      \"language\": \"xml\"\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"refund-transactions","type":"basic","title":"refundTransaction"}
Refund a specific transaction. [block:api-header] { "type": "basic", "title": "Description" } [/block] 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](/docs/void-transactions) 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](/docs/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](/docs/run-transactions) 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](/docs/transactiondetail) object with any information specific to the refund. [block:api-header] { "type": "basic", "title": "Syntax" } [/block] [TransactionResponse](/docs/transactionresponse) **refundTransaction** ( [ueSecurityToken](/docs/uesecuritytoken) Token, integer RefNum, double Amount ) [block:api-header] { "type": "basic", "title": "Arguments" } [/block] [block:parameters] { "data": { "h-0": "Type", "h-1": "Name", "h-2": "Description", "0-0": "[ueSecurityToken](/docs/uesecuritytoken)", "0-1": "Token", "0-2": "Merchant security token: used to identify merchant and validate transaction.", "1-0": "integer", "1-1": "RefNum", "1-2": "Transaction Reference number assigned by the gateway.", "2-0": "double", "2-1": "Amount", "2-2": "Amount to be refunded (set to 0 if refunding entire original amount)" }, "cols": 3, "rows": 3 } [/block] [block:api-header] { "type": "basic", "title": "Return Value" } [/block] [block:parameters] { "data": { "0-1": "Returns a TransactionResponse object containing the results of the transaction and all relevant data.", "0-0": "[TransactionResponse](/docs/transactionresponse)" }, "cols": 2, "rows": 1 } [/block] ## PHP [block:code] { "codes": [ { "code": "<?php\ntry {\n $refnum=\"1009411\";\n $amount=\"1.99\";\n print_r($client->refundTransaction($token,$refnum, $amount));\n}\ncatch(SoapFault $e) { \n echo $e->getMessage();\n echo \"\\n\\nRequest: \" . $client->__getLastRequest();\n echo \"\\n\\nResponse: \" . $client->__getLastResponse();\n}\n?>\n", "language": "php" } ] } [/block] A refund with additional information passed. [block:code] { "codes": [ { "code": "$Request=array(\n 'AccountHolder' => 'Tester Jones',\n 'ClientIP' => '123.123.123.123',\n 'CustomerID' => '123456',\n 'Command' => 'refund',\n 'Details' => array(\n 'Amount' => '10.00',\n 'Clerk' => 'John Doe',\n 'Description' => 'Refund transaction',\n 'Invoice' => '44539',\n 'OrderID' => '12345',\n 'PONum' => '54321',\n 'Table' => '1',\n 'Terminal' => '27',\n ),\n 'RefNum' => $SaleRefNum\n);\n$res=$client->runTransaction($token, $Request);", "language": "php" } ] } [/block] ## Java [block:code] { "codes": [ { "code": "try {\n //Set RefNum to the Reference Number of transaction you\n //want to refund.\n BigInteger RefNum = _runTransaction();\n TransactionResponse response;\n response = client.refundTransaction(token, RefNum, 10.10);\n System.out.println(response.getStatus());\n} catch (Exception e) {\n System.out.println(\"Soap Exception: \" + e.getMessage());\n}", "language": "java" } ] } [/block] ## Visual Basic (.NET) [block:code] { "codes": [ { "code": "Dim client As eBizCharge.eBizChargeService = New eBizCharge.eBizChargeService\n Dim token As eBizCharge.ueSecurityToken\n token = Me.CreateToken(\"714SSUxv1uohng2XkMJ7kLpETsu58G66\", \"1234\")\n Dim transaction As eBizCharge.TransactionRequestObject = New eBizCharge.TransactionRequestObject\n transaction.Details = New eBizCharge.TransactionDetail\n transaction.Details.Amount = \"11.11\"\n transaction.Details.AmountSpecified = \"true\"\n transaction.Details.Invoice = \"123456\"\n transaction.AuthCode = \"009915\"\n transaction.RefNum = \"46993455\"\n Dim response As eBizCharge.TransactionResponse = New eBizCharge.TransactionResponse\n response = client.captureTransaction(token, transaction.RefNum, transaction.Details.Amount)\n If response.ResultCode = \"A\" Then\n MsgBox(\"Transaction Approved, Refnum: \" & response.RefNum)\n Else\n MsgBox(\"Transaction Error, Reason: \" & response.Error)\n End If", "language": "c" } ] } [/block] ## C Sharp (.Net) [block:code] { "codes": [ { "code": "string refnum;\n double amount;\n refnum = \"46973575\";\n amount = 10.00;\n eBizCharge.TransactionResponse response = new eBizCharge.TransactionResponse();\n try\n {\n response = client.refundTransaction(token, refnum, amount);\n if (response.ResultCode == \"A\")\n {\n MessageBox.Show(string.Concat(\"Transaction Approved, RefNum: \",\n response.RefNum));\n }\n else\n {\n MessageBox.Show(string.Concat(\"Transaction Failed: \",\n response.Error));\n }\n }\n catch (Exception err)\n {\n MessageBox.Show(err.Message);\n }", "language": "csharp" } ] } [/block] ## XML [block:code] { "codes": [ { "code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"\nxmlns:ns1=\"urn:eBizCharge\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\nxmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\nxmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\"\nSOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n<SOAP-ENV:Body>\n<ns1:refundTransaction>\n<Token xsi:type=\"ns1:ueSecurityToken\">\n<ClientIP xsi:type=\"xsd:string\">192.168.0.1</ClientIP>\n<PinHash xsi:type=\"ns1:ueHash\">\n<HashValue xsi:type=\"xsd:string\">11ac55b0a0b59f8f028dbf85bc32266fa973dd0e</HashValue>\n<Seed xsi:type=\"xsd:string\">12678150211876663375</Seed>\n<Type xsi:type=\"xsd:string\">sha1</Type>\n</PinHash>\n<SourceKey xsi:type=\"xsd:string\">HB4P7C4K2w2ZCQQQXRqrxDj6agrS2NIT</SourceKey>\n</Token>\n<RefNum xsi:type=\"xsd:integer\">1009411</RefNum>\n<Amount xsi:type=\"xsd:double\">1.99</Amount>\n</ns1:refundTransaction>\n</SOAP-ENV:Body>\n</SOAP-ENV:Envelope>", "language": "xml" } ] } [/block]