developer:soap-1.4:methods:runsale

Soap API v1.4

runSale

Run a new sale transaction.

Description

This method is equivalent to running the runTransaction method with the Command set to “Sale.”

It will run a transaction charging a customer's credit card or checking account for the desired amount. If a mistake is made or a refund must be given you can use either the voidTransaction or runCredit method.

If the sale is for a customer whose information has been stored, you may use the runQuickSale method to avoid having to reenter all of the customer's information.

See also runTransaction, runQuickSale, voidTransaction, runCredit, runAuthOnly

Syntax

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

TransactionResponse Returns a TransactionResponse object containing the results of the transaction and all relevant data.

Exceptions

The following exceptions (errors) are applicable to this method.

Code Message Advice

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' => '0909',
      'AvsStreet' => '1234 Main Street',
      'AvsZip' => '99281',
      'CardCode' => '999'
      )
    );
 
  $res=$client->runSale($token, $Request);
 
}  
 
catch (SoapFault $e)  {
  echo $client->__getLastRequest();
  echo $client->__getLastResponse();
  die("QuickSale failed :" .$e->getMessage());
  }
 
?> 

Java

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
    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("0912");
      ccdata.setCardCode("999");
    params.setCreditCardData(ccdata);
 
 
  // Create request object
  RunSale request = new RunSale();
    request.setToken(token);
    request.setParams(params);
 
  // Create response object
  TransactionResponse response;
 
  // run sale
  response = client.runSale(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 usaepay.usaepayService = New usaepay.usaepayService
        Dim token As usaepay.ueSecurityToken
 
        token = Me.CreateToken("714SSUxv1uohng2XkMJ7kLpETsu58G66", "1234")
 
 
 
        Dim transaction As usaepay.TransactionRequestObject = New usaepay.TransactionRequestObject
 
        transaction.CreditCardData = New usaepay.CreditCardData
        transaction.CreditCardData.CardNumber = "4444555566667779"
        transaction.CreditCardData.CardExpiration = "0913"
        transaction.CreditCardData.CardCode = "999"
 
        transaction.Details = New usaepay.TransactionDetail
        transaction.Details.Amount = 9.02
        transaction.Details.AmountSpecified = True
        transaction.Details.Invoice = "434534"
        transaction.Details.Description = "Example transaction"
 
        Dim response As usaepay.TransactionResponse
 
        response = client.runSale(token, transaction)
 
        If response.ResultCode = "A" Then
            MsgBox("Transaction Approved, Reference Number: " & response.RefNum & vbLf _
                        & "AVS Result: " & response.AvsResult)
        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.

usaepay.TransactionRequestObject tran = new usaepay.TransactionRequestObject();
 
            tran.Details = new usaepay.TransactionDetail();
            tran.Details.Amount = 1.00;
            tran.Details.AmountSpecified = true;
            tran.Details.Invoice = "1234";
            tran.Details.Description = "Example Transaction";
 
            tran.CreditCardData = new usaepay.CreditCardData();
            tran.CreditCardData.CardNumber = "4444555566667779";
            tran.CreditCardData.CardExpiration = "1212";
 
            usaepay.TransactionResponse response = new usaepay.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

<?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:runSale>
<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>
<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:runSale>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Change History

Version Change
1.1 Method added prior to soap-1.1
developer/soap-1.4/methods/runsale.txt · Last modified: 2010/08/30 11:26 by tem

Page Tools