runAuthOnly
Run an authorization only transaction.
Description
This method is equivalent to running the runTransaction method with the Command set to "AuthOnly."
It will run an authorization check on a customer's credit card or checking account without actually charging the customer's account.
See also runTransaction, runQuickSale, voidTransaction, runCredit, runSale
Syntax
TransactionResponse runAuthOnly ( ueSecurityToken Token, TransactionRequestObject Params )
Arguments
Type | Name | Description |
---|---|---|
ueSecurityToken | Token | Merchant security token: used to identify merchant and validate transaction. |
TransactionRequestObject | Params | 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. |
Return Value
Type | Description |
---|---|
TransactionResponse | Returns a TransactionResponse object containing the results of the transaction and all relevant data. |
Examples
PHP
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' => '0919',
'AvsStreet' => '1234 Main Street',
'AvsZip' => '99281',
'CardCode' => '999'
)
);
$res=$client->runAuthOnly($token, $Request);
}
catch (SoapFault $e) {
echo $client->__getLastRequest();
echo $client->__getLastResponse();
die("QuickSale failed :" .$e->getMessage());
}
?>
Java
This example uses the Newtek Gateway Java library. For directions on how to install the library and create the token/client objects, go to the Java JAX-WS Howto.
try {
TransactionRequestObject params = new TransactionRequestObject();
// set card holder name
params.setAccountHolder("Test Joe");
// 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("0919");
ccdata.setCardCode("999");
params.setCreditCardData(ccdata);
// Create request object
RunAuthOnly request = new RunAuthOnly();
request.setToken(token);
request.setParams(params);
// Create response object
TransactionResponse response;
// run sale
response = client.runAuthOnly(token, params);
System.out.println("Result: " + response.getResult());
} catch (Exception e) {
System.out.println("Soap Exception: " + e.getMessage());
}
VB.NET
For directions on how to set up the WSDL link, create "token" and "client", go to Visual Basic .Net Soap How-to.
Dim client As newtek.newtekService = New newtek.newtekService
Dim token As newtek.ueSecurityToken
token = Me.CreateToken("714SSUxv1uohng2XkMJ7kLpETsu58G66", "1234")
Dim tran As newtek.TransactionRequestObject = New newtek.TransactionRequestObject
tran.CreditCardData = New newtek.CreditCardData
tran.CreditCardData.CardNumber = "4444555566667779"
tran.CreditCardData.CardExpiration = "0919"
tran.CreditCardData.CardCode = "999"
tran.Details = New newtek.TransactionDetail
tran.Details.Amount = 9.02
tran.Details.AmountSpecified = True
tran.Details.Invoice = "434534"
tran.Details.Description = "Example transaction"
Dim response As newtek.TransactionResponse
response = client.runAuthOnly(token, tran)
If response.ResultCode = "A" Then
MsgBox("Transaction Approved, Refernce Number: " & response.RefNum)
ElseIf response.ResultCode = "D" Then
MsgBox("Transaction Declined, Reason: " & response.Error)
Else
MsgBox("Transaction Error, Reason: " & response.Error)
End If
.NET C
For directions on how to set up the WSDL link and create the "token" and "client" variables, go to the C Sharp .Net Soap How-to.
newtek.TransactionRequestObject tran = new newtek.TransactionRequestObject();
tran.Command = "cc:authonly";
tran.Details = new newtek.TransactionDetail();
tran.Details.Amount = 1.00;
tran.Details.AmountSpecified = true;
tran.Details.Invoice = "1234";
tran.Details.Description = "Example Transaction";
tran.CreditCardData = new newtek.CreditCardData();
tran.CreditCardData.CardNumber = "4444555566667779";
tran.CreditCardData.CardExpiration = "1219";
newtek.TransactionResponse response = new newtek.TransactionResponse();
try
{
response = client.runTransaction(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
Request:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:newtek"
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:runAuthOnly>
<Token xsi:type="ns1:ueSecurityToken">
<ClientIP xsi:type="xsd:string">123.123.123.123</ClientIP>
<PinHash xsi:type="ns1:ueHash">
<HashValue xsi:type="xsd:string">58bdbfeb7c15078fa62291bd6a4473990dd50dd8</HashValue>
<Seed xsi:type="xsd:string">11139209200-test</Seed>
<Type xsi:type="xsd:string">sha1</Type>
</PinHash>
<SourceKey xsi:type="xsd:string">_B4P7C4K2w2ZCQQQXRqrxDj6agrS2NIT</SourceKey>
</Token>
<Params xsi:type="ns1:TransactionRequestObject">
<AccountHolder xsi:type="xsd:string">Tester Jones</AccountHolder>
<BillingAddress xsi:type="ns1:Address">
<City xsi:type="xsd:string">Albany</City>
<Company xsi:type="xsd:string">testing</Company>
<Country xsi:type="xsd:string">Un</Country>
<FirstName xsi:type="xsd:string">SoapAPI</FirstName>
<LastName xsi:type="xsd:string">Testor</LastName>
<Phone xsi:type="xsd:string">5183310981</Phone>
<State xsi:type="xsd:string">NY</State>
<Street xsi:type="xsd:string">180 State st</Street>
<Street2 xsi:type="xsd:string">133 Lancaster st</Street2>
<Zip xsi:type="xsd:string">12210</Zip>
</BillingAddress>
<ClientIP xsi:type="xsd:string">123.123.123.123</ClientIP>
<Command xsi:type="xsd:string">authonly</Command>
<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">123boatload1293</CardCode>
<CardExpiration xsi:type="xsd:string">1219</CardExpiration>
<CardNumber xsi:type="xsd:string">4444555566667779</CardNumber>
</CreditCardData>
<CustomerID xsi:type="xsd:string">123456</CustomerID>
<Details xsi:type="ns1:TransactionDetail">
<Amount xsi:type="xsd:double">22</Amount>
<Clerk xsi:type="xsd:string">John Doe</Clerk>
<Currency xsi:type="xsd:string">0</Currency>
<Description xsi:type="xsd:string">Example Transaction</Description>
<Discount xsi:type="xsd:double">10</Discount>
<Invoice xsi:type="xsd:string">44539</Invoice>
<OrderID xsi:type="xsd:string">12345</OrderID>
<PONum xsi:type="xsd:string">54321</PONum>
<Shipping xsi:type="xsd:double">2</Shipping>
<Subtotal xsi:type="xsd:double">12</Subtotal>
<Table xsi:type="xsd:string">1</Table>
<Tax xsi:type="xsd:double">10</Tax>
<Terminal xsi:type="xsd:string">15</Terminal>
<Tip xsi:type="xsd:double">8</Tip>
</Details>
<LineItems SOAP-ENC:arrayType="ns1:LineItem[1]" xsi:type="ns1:LineItemArray">
<item xsi:type="ns1:LineItem">
<SKU xsi:type="xsd:string">1234</SKU>
<ProductName xsi:type="xsd:string">Test Example</ProductName>
<Description xsi:type="xsd:string">Test</Description>
<UnitPrice xsi:type="xsd:string">19.99</UnitPrice>
<Qty xsi:type="xsd:string">9</Qty>
<Taxable xsi:type="xsd:boolean">true</Taxable>
</item>
</LineItems>
<ShippingAddress xsi:type="ns1:Address">
<City xsi:type="xsd:string">Los Angeles</City>
<Company xsi:type="xsd:string">Location 2</Company>
<Country xsi:type="xsd:string">Un</Country>
<FirstName xsi:type="xsd:string">Ship</FirstName>
<LastName xsi:type="xsd:string">Tome</LastName>
<Phone xsi:type="xsd:string">3133129163</Phone>
<State xsi:type="xsd:string">CA</State>
<Street xsi:type="xsd:string">9999 s sycamore</Street>
<Street2 xsi:type="xsd:string">9999 Lancaster st</Street2>
<Zip xsi:type="xsd:string">90036</Zip>
</ShippingAddress>
</Params>
</ns1:runAuthOnly>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:newtek"
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:runAuthOnlyResponse>
<runAuthOnlyReturn xsi:type="ns1:TransactionResponse">
<AcsUrl xsi:type="xsd:string"></AcsUrl>
<AuthAmount xsi:type="xsd:double">0</AuthAmount>
<AuthCode xsi:type="xsd:string">036996</AuthCode>
<AvsResult xsi:type="xsd:string">Address: Match & 5 Digit Zip: Match</AvsResult>
<AvsResultCode xsi:type="xsd:string">YYY</AvsResultCode>
<BatchNum xsi:type="xsd:string">0</BatchNum>
<BatchRefNum xsi:type="xsd:string">197454</BatchRefNum>
<CardCodeResult xsi:type="xsd:string">No Match</CardCodeResult>
<CardCodeResultCode xsi:type="xsd:string">N</CardCodeResultCode>
<CardLevelResult xsi:type="xsd:string">Unknown Code</CardLevelResult>
<CardLevelResultCode xsi:type="xsd:string"></CardLevelResultCode>
<ConversionRate xsi:type="xsd:double">0</ConversionRate>
<ConvertedAmount xsi:type="xsd:double">0</ConvertedAmount>
<ConvertedAmountCurrency xsi:type="xsd:string">840</ConvertedAmountCurrency>
<CustNum xsi:type="xsd:string">0</CustNum>
<Error xsi:type="xsd:string">Approved</Error>
<ErrorCode xsi:type="xsd:integer">0</ErrorCode>
<isDuplicate xsi:type="xsd:boolean">true</isDuplicate>
<Payload xsi:type="xsd:string"></Payload>
<RefNum xsi:type="xsd:string">100104998</RefNum>
<Result xsi:type="xsd:string">Approved</Result>
<ResultCode xsi:type="xsd:string">A</ResultCode>
<Status xsi:type="xsd:string">Pending</Status>
<StatusCode xsi:type="xsd:string">P</StatusCode>
<VpasResultCode xsi:type="xsd:string"></VpasResultCode>
</runAuthOnlyReturn>
</ns1:runAuthOnlyResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>