Post an offline authorization.
This method allows merchants to post authorization codes obtained offline (ie: telephone authorization) which may be required for some credit card sales depending on the policies of the card's bank of issue.
See also runTransaction, runQuickSale, voidTransaction, runCredit, runSale, captureTransaction, getTransactionStatus, runAuthOnly
TransactionResponse postAuth ( ueSecurityToken Token, TransactionRequestObject Params )
Type | Name | Description |
---|---|---|
ueSecurityToken | Token | Merchant security token: used to identify merchant and validate transaction. |
TransactionRequestObject | Params | Request transaction details from all fields of the transaction form, including reference number, transaction amount, customer ID, currency, authorization code, and any other information entered at the time of the transaction. |
TransactionResponse | Returns a TransactionResponse object containing the results of the transaction and all relevant data. |
For directions on how to set up the WSDL link, create “$token” and “$client”, go to SOAP PHP How-to.
<?php try { $Request=array( 'AccountHolder' => 'Tester Jones', 'Details' => array( 'Description' => 'Example Transaction', 'Amount' => '4.00', 'Invoice' => '44539' ), 'CreditCardData' => array( 'CardNumber' => '4444555566667779', 'CardExpiration' => '0909', 'AvsStreet' => '1234 Main Street', 'AvsZip' => '99281', 'CardCode' => '999' ) ); $res=$client->postAuth($token, $Request); print_r($res); } catch (SoapFault $e) { echo $client->__getLastRequest(); echo $this->client->__getLastResponse(); die("QuickSale failed :" .$e->getMessage()); }
This example uses the USAePay Java library. For directions on how to install the library and create the token/client objects, go to either the Java JAX-RPC Howto or the Java JAX-WS Howto.
try { TransactionRequestObject params = new TransactionRequestObject(); // set card holder name and AuthCode params.setAccountHolder("Test Joe"); params.setAuthCode("123123"); // populate transaction details TransactionDetail details = new TransactionDetail(); details.setAmount(22.34); details.setDescription("My Test Sale"); details.setInvoice("119891"); params.setDetails(details); // populate credit card data CreditCardData ccdata = new CreditCardData(); ccdata.setCardNumber("4444555566667779"); ccdata.setCardExpiration("0912"); ccdata.setCardCode("999"); params.setCreditCardData(ccdata); // Create response object TransactionResponse response; // run sale response = client.postAuth(token, params); System.out.println("Response: " + response.getResult()); System.out.println("RefNum: " + response.getRefNum()); } catch (Exception e) { System.out.println("Soap Exception: " + e.getMessage()); }
Dim client As usaepay.usaepayService = New usaepay.usaepayService Dim token As usaepay.ueSecurityToken token = Me.CreateToken("982lz9VsLm87MA54Sv8E582h8OZMArL6", "443311") Dim transaction As usaepay.TransactionRequestObject = New usaepay.TransactionRequestObject transaction.CreditCardData = New usaepay.CreditCardData transaction.CreditCardData.CardNumber = "4444555566667779" transaction.CreditCardData.CardExpiration = "1212" transaction.CreditCardData.CardCode = "123" transaction.Details = New usaepay.TransactionDetail transaction.Details.Amount = "9.02" transaction.Details.AmountSpecified = True transaction.Details.Invoice = "434534" transaction.RefNum = "46405618" transaction.AuthCode = "035786" Dim response As usaepay.TransactionResponse response = client.postAuth(token, transaction) If response.ResultCode = "A" Then MsgBox("Transaction Approved, Refnum: " & response.RefNum) Else MsgBox("Transaction Error, Reason: " & response.Error) End If
usaepay.TransactionRequestObject tran = new usaepay.TransactionRequestObject(); tran.CreditCardData = new usaepay.CreditCardData(); tran.CreditCardData.CardNumber = "4444555566667779"; tran.CreditCardData.CardExpiration = "1212"; tran.CreditCardData.CardCode = "123"; tran.Details = new usaepay.TransactionDetail(); tran.Details.Amount = 1.01; tran.Details.AmountSpecified = true; tran.Details.Invoice = "123456"; tran.RefNum = "46973415"; tran.AuthCode = "035786"; usaepay.TransactionResponse response = new usaepay.TransactionResponse(); try { response = client.postAuth(token, tran); 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:usaepay" 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:postAuth> <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> <Params xsi:type="ns1:TransactionRequestObject"> <AccountHolder xsi:type="xsd:string">Tester Jones</AccountHolder> <AuthCode xsi:type="xsd:string">123456</AuthCode> <CreditCardData xsi:type="ns1:CreditCardData"> <AvsStreet xsi:type="xsd:string">1234 Main Street</AvsStreet> <AvsZip xsi:type="xsd:string">99281</AvsZip> <CardCode xsi:type="xsd:string">999</CardCode> <CardExpiration xsi:type="xsd:string">1212</CardExpiration> <CardNumber xsi:type="xsd:string">4444555566667779</CardNumber> </CreditCardData> <Details xsi:type="ns1:TransactionDetail"> <Amount xsi:type="xsd:double">4</Amount> <Description xsi:type="xsd:string">Example Transaction</Description> <Invoice xsi:type="xsd:string">44539</Invoice> </Details> </Params> </ns1:postAuth> </SOAP-ENV:Body> </SOAP-ENV:Envelope>