runTransaction

Description

The runTransaction method processes a transaction such as sales, credits, checks, and more.

Syntax

TransactionResponse runTransaction(SecurityToken securityToken, TransactionRequestObject tran)

Arguments

Type

Name

Req.

Description

SecurityToken

securityToken

R

A unique token that is used to identify a merchant and authenticate the API request.

TransactionRequestObject

tran

R

Contains transaction request details.

Required Fields
  • Details:
    • Amount
    • NonTax
    • Tax
    • Table
    • Subtotal
    • Shipping
    • Duty
    • Discount
    • AllowPartialAuth
    • Tip
  • Command
  • IsRecurring
  • IgnoreDuplicate
  • IfAuthExpired
  • CustReceipt
  • AccountHolder

The following fields below are required based on the Command field input.

AuthOnly, Sale, Credit, QuickCredit:

Check:

  • CheckData:
    • Account
    • AccountType
    • CheckNumber
    • Routing

Void, CreditVoid, QuickAuthOnly, Capture, Refund:

  • RefNum

PostAuth:

  • AuthCode
  • Note: Do not include the RefNum.

If using the objects below, the following fields are required. Unused objects must be removed from the request.

If LineItem is not sent, the following fields will default to the values set in the integration server.

  • DiscountRate
  • SKU
  • CommodityCode
  • ProductName
  • Description
  • DiscountAmount
  • TaxRate
  • UnitOfMeasure
  • UnitPrice
  • Qty
  • Taxable
Recommended Fields
  • CustomerId

Return Value

TypeDescription
TransactionResponseReturns whether the transaction was approved, along with the associated batch and transaction details.

Example Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ebiz="http://eBizCharge.ServiceModel.SOAP">
   <soapenv:Header/>
   <soapenv:Body>
      <ebiz:runTransaction>
         <ebiz:securityToken>
            <ebiz:SecurityId>*************4621-b899*************</ebiz:SecurityId>
            <ebiz:UserId/>
            <ebiz:Password/>
         </ebiz:securityToken>
         <ebiz:tran>
            <ebiz:CustReceiptName/>
            <ebiz:RecurringBilling>
               <ebiz:Amount>10.00</ebiz:Amount>
               <ebiz:Enabled>false</ebiz:Enabled>
               <ebiz:Expire/>
               <ebiz:Next/>
               <ebiz:NumLeft/>
               <ebiz:Schedule/>
            </ebiz:RecurringBilling>
            <ebiz:LineItems>
               <!--Zero or more repetitions:-->
               <ebiz:LineItem>
                  <ebiz:DiscountRate/>
                  <ebiz:ProductRefNum/>
                  <ebiz:SKU/>
                  <ebiz:CommodityCode/>
                  <ebiz:ProductName/>
                  <ebiz:Description/>
                  <ebiz:DiscountAmount/>
                  <ebiz:TaxRate/>
                  <ebiz:UnitOfMeasure/>
                  <ebiz:UnitPrice/>
                  <ebiz:Qty/>
                  <ebiz:Taxable>true</ebiz:Taxable>
                  <ebiz:TaxAmount>0</ebiz:TaxAmount>
               </ebiz:LineItem>
            </ebiz:LineItems>
            <ebiz:IsRecurring>false</ebiz:IsRecurring>
            <ebiz:InventoryLocation/>
            <ebiz:IgnoreDuplicate>true</ebiz:IgnoreDuplicate>
            <ebiz:IfAuthExpired>false</ebiz:IfAuthExpired>
            <ebiz:Details>
               <ebiz:NonTax>1</ebiz:NonTax>
               <ebiz:Tax>0</ebiz:Tax>
               <ebiz:Table>1</ebiz:Table>
               <ebiz:Subtotal>10.00</ebiz:Subtotal>
               <ebiz:Shipping>1.0</ebiz:Shipping>
               <ebiz:ShipFromZip/>
               <ebiz:SessionID/>
               <ebiz:PONum/>
               <ebiz:OrderID/>
               <ebiz:Invoice/>
               <ebiz:Duty>0</ebiz:Duty>
               <ebiz:Discount>0</ebiz:Discount>
               <ebiz:Comments/>
               <ebiz:Description/>
               <ebiz:Currency/>
               <ebiz:Clerk/>
               <ebiz:Amount>3.13</ebiz:Amount>
               <ebiz:AllowPartialAuth>false</ebiz:AllowPartialAuth>
               <ebiz:Terminal/>
               <ebiz:Tip>0</ebiz:Tip>
            </ebiz:Details>
            <ebiz:Software/>
            <ebiz:CustReceipt>false</ebiz:CustReceipt>
            <ebiz:CustomFields>
               <!--Zero or more repetitions:-->
               <ebiz:FieldValue>
                  <ebiz:Field/>
                  <ebiz:Value/>
               </ebiz:FieldValue>
            </ebiz:CustomFields>
            <ebiz:CustomerID/>
            <ebiz:CreditCardData>
               <ebiz:CAVV/>
               <ebiz:Pares/>
               <ebiz:MagSupport/>
               <ebiz:MagStripe/>
               <ebiz:InternalCardAuth>true</ebiz:InternalCardAuth>
               <ebiz:ECI/>
               <ebiz:DUKPT/>
               <ebiz:XID/>
               <ebiz:CardType/>
               <ebiz:CardPresent>false</ebiz:CardPresent>
               <ebiz:CardNumber>*************1111</ebiz:CardNumber>
               <ebiz:CardExpiration>1228</ebiz:CardExpiration>
               <ebiz:CardCode/>
               <ebiz:AvsZip/>
               <ebiz:AvsStreet/>
               <ebiz:Signature/>
               <ebiz:TermType/>
            </ebiz:CreditCardData>
            <ebiz:Command>sale</ebiz:Command>
            <ebiz:ClientIP/>
            <ebiz:CheckData>
               <ebiz:Account>************</ebiz:Account>
               <ebiz:AccountType>Savings</ebiz:AccountType>
               <ebiz:CheckNumber>****</ebiz:CheckNumber>
               <ebiz:DriversLicense/>
               <ebiz:DriversLicenseState/>
               <ebiz:RecordType/>
               <ebiz:Routing>*******</ebiz:Routing>
               <ebiz:MICR/>
               <ebiz:AuxOnUS/>
               <ebiz:EpcCode/>
               <ebiz:FrontImage/>
               <ebiz:BackImage/>
            </ebiz:CheckData>
            <ebiz:BillingAddress>
               <ebiz:City/>
               <ebiz:Company/>
               <ebiz:Country/>
               <ebiz:Email/>
               <ebiz:Fax/>
               <ebiz:FirstName/>
               <ebiz:LastName/>
               <ebiz:Phone/>
               <ebiz:State/>
               <ebiz:Street/>
               <ebiz:Street2/>
               <ebiz:Zip/>
            </ebiz:BillingAddress>
            <ebiz:AuthCode/>
            <ebiz:AccountHolder>Alina</ebiz:AccountHolder>
            <ebiz:RefNum/>
            <ebiz:ShippingAddress>
               <ebiz:City/>
               <ebiz:Company/>
               <ebiz:Country/>
               <ebiz:Email/>
               <ebiz:Fax/>
               <ebiz:FirstName/>
               <ebiz:LastName/>
               <ebiz:Phone/>
               <ebiz:State/>
               <ebiz:Street/>
               <ebiz:Street2/>
               <ebiz:Zip/>
            </ebiz:ShippingAddress>
         </ebiz:tran>
      </ebiz:runTransaction>
   </soapenv:Body>
</soapenv:Envelope>
var client = new IeBizServiceClient();

//SharbelSB security token
SecurityToken securityToken = new SecurityToken();
securityToken.UserId = "";
securityToken.SecurityId = "**********421b-86ce**********";
securityToken.Password = "";
// Create the transaction request object
TransactionRequestObject transactionRequestObject = new TransactionRequestObject();

// Set basic fields
transactionRequestObject.CustReceiptName = "";
transactionRequestObject.Command = "AuthOnly";
transactionRequestObject.Software = "NAV_EBC";
transactionRequestObject.CustReceipt = false;
transactionRequestObject.CustomerID = "CS0001";
transactionRequestObject.AccountHolder = "CBS";

// Populate LineItems
transactionRequestObject.LineItems =
new LineItem[] {
new LineItem
    {
        DiscountRate = "0",
        ProductRefNum = "Ref001",
        SKU = "ssu001",
        ProductName = "Services",
        Description = "Services",
        DiscountAmount = "0",
        TaxRate = "0",
        UnitOfMeasure = "EA",
        UnitPrice = "500",
        Qty = "1",
        Taxable = true,
        TaxAmount = "25"
    }
};

// Populate Details
transactionRequestObject.Details = new TransactionDetail
{
    NonTax = true,
    Tax = 0,
    Shipping = 0,
    ShipFromZip = "95678",
    PONum = "po2",
    OrderID = "o12",
    Invoice = "inv008",
    Duty = 0,
    Discount = 0,
    Comments = "New Transaction",
    Description = "Validation Authorization 2",
    Currency = "",
    Clerk = "Sam",
    Amount = 100,
    Terminal = "pc-1",
    Tip = 0
};

// Populate CreditCardData
transactionRequestObject.CreditCardData = new CreditCardData()
{
    //CardNumber = "4000100011112224",
    CardNumber = "************4998", // Purchase Card
    CardExpiration = "1229",
    CardCode = "123",
    AvsZip = "92618",
    AvsStreet = "20 Alton"
};

// Populate BillingAddress
transactionRequestObject.BillingAddress = new GwAddress()
{
    City = "antro luctantis ventos",
    Company = "sciret dare",
    Country = "luctantis ventos",
    Email = "ipsa iovis",
    Fax = "aris imponet",
    FirstName = "imperio premit",
    LastName = "arce sceptra tenens",
    Phone = "ni faciat",
    State = "circum claustra fremunt",
    Street = "corde volutans",
    Street2 = "insuper altos",
    Zip = "temperat iras"
};

//Populate ShippingAddress
transactionRequestObject.ShippingAddress = new GwAddress()
{
    City = "premere et",
    Company = "iovisque et",
    Country = "nubibus ignem disiecitque",
    Email = "imposuit regemque",
    Fax = "rates evertitque",
    FirstName = "supplex aris imponet",
    LastName = "ipsa iovis",
    Phone = "volutans nimborum in",
    State = "maria ac",
    Street = "foedere certo",
    Street2 = "sciret dare iussus",
    Zip = "rapidi secum verrantque"
};

TransactionResponse response = client.runTransaction(securityToken, transactionRequestObject);
function runTransaction()
{
  $client = new SoapClient('End point URL');
  $securityToken = array(
    'SecurityId' => '******4757-4567********',
    'UserId' => 'merchant1',
    'Password' => 'merchant1'
  );
  $transactionRequest = array(
    'CustReceipt' => '2',
    'CustReceiptName' => '',
    'Software' => 'Woocommerce',
    'LineItems' => array(
    'SKU' => 'sku-aca',
    'ProductName' => 'AC',
    'Description' => 'cool ac',
    'UnitPrice' => 5000,
    'Taxable' => 'N',
    'TaxAmount' => 0,
    'Qty' => 1
  ),
    'IsRecurring' => false,
    'IgnoreDuplicate' => false,
    'Details' => array(
    'OrderID' => 1,
    'Invoice' => 'AND-0101',
    'PONum' => '****411',
    'Description' => 'Testing',
    'Amount' => 5000,
    'Tax' => 0,
    'Currency' => 'USD',
    'Shipping' => '',
    'ShipFromZip' => '54000',
    'Discount' => 0,
    'Subtotal' => 5000,
    'AllowPartialAuth' => false,
    'Tip' => 0,
    'NonTax' => false,
    'Duty' => 0,
  ),
    'CustomerID' => 123,
    'CreditCardData' => array(
    'InternalCardAuth' => false,
    'CardPresent' => true,
    'CardNumber' => '**************2224',
    'CardExpiration' => '1120',
    'CardCode' => '123',
    'AvsStreet' => 'St # 10',
    'AvsZip' => '54000'
  ),
    'Command' => 'Credit',
    'ClientIP' => '****.113.34',
    'AccountHolder' => 'Frank',
    'RefNum' => '********',
    'BillingAddress' => array(), // billing address object
    'ShippingAddress' => array(), // shipping address object
  );
  $transaction = $client->runTransaction(
    array(
    'securityToken' => $securityToken,
    'tran' => $transactionRequest
  ))
    ;
  $transactionResult = $transaction->runTransactionResult;
}

Example Response

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <runTransactionResponse xmlns="http://eBizCharge.ServiceModel.SOAP">
         <runTransactionResult>
            <CustNum>0</CustNum>
            <ResultCode>A</ResultCode>
            <Result>Approved</Result>
            <RemainingBalance>0</RemainingBalance>
            <RefNum>2529********</RefNum>
            <Payload/>
            <isDuplicate>false</isDuplicate>
            <ErrorCode>0</ErrorCode>
            <Error>Approved</Error>
            <VpasResultCode/>
            <ConvertedAmountCurrency>840</ConvertedAmountCurrency>
            <ConvertedAmount>0</ConvertedAmount>
            <ConversionRate>0</ConversionRate>
            <CardLevelResultCode>A</CardLevelResultCode>
            <CardLevelResult>Visa Traditional</CardLevelResult>
            <CardCodeResultCode>P</CardCodeResultCode>
            <CardCodeResult>Not Processed</CardCodeResult>
            <BatchRefNum>792********</BatchRefNum>
            <BatchNum>1********</BatchNum>
            <AvsResultCode>YYY</AvsResultCode>
            <AvsResult>Address: Match &amp; 5 Digit Zip: Match</AvsResult>
            <AuthCode>24********</AuthCode>
            <AuthAmount>3.13</AuthAmount>
            <AcsUrl/>
            <Status>Pending</Status>
            <StatusCode>P</StatusCode>
         </runTransactionResult>
      </runTransactionResponse>
   </s:Body>
</s:Envelope>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <runTransactionResponse xmlns="http://eBizCharge.ServiceModel.SOAP">
         <runTransactionResult>
            <CustNum>0</CustNum>
            <ResultCode>E</ResultCode>
            <Result>Error</Result>
            <RemainingBalance>0</RemainingBalance>
            <RefNum>0</RefNum>
            <Payload/>
            <isDuplicate>false</isDuplicate>
            <ErrorCode>11</ErrorCode>
            <Error>Invalid Card Number (1)</Error>
            <VpasResultCode/>
            <ConvertedAmountCurrency/>
            <ConvertedAmount>0</ConvertedAmount>
            <ConversionRate>0</ConversionRate>
            <CardLevelResultCode/>
            <CardLevelResult>Unknown Code</CardLevelResult>
            <CardCodeResultCode/>
            <CardCodeResult>No CVV2/CVC data available for transaction.</CardCodeResult>
            <BatchRefNum>0</BatchRefNum>
            <BatchNum>0</BatchNum>
            <AvsResultCode/>
            <AvsResult>No AVS response (Typically no AVS data sent or swiped transaction)</AvsResult>
            <AuthCode>000000</AuthCode>
            <AuthAmount>0</AuthAmount>
            <AcsUrl/>
            <Status>Pending</Status>
            <StatusCode>P</StatusCode>
         </runTransactionResult>
      </runTransactionResponse>
   </s:Body>
</s:Envelope>