searchTransactionsCustom

Search transactions and return only specific fields.

Description

Use this method if you only need to view a few select fields of the transactions you are searching for. Since it will only return the fields you specify, it is more efficient than the searchTransactions method.

See also getTransaction, getTransactionStatus, getTransactionCustom, searchTransactions, getTransactionReport

Search, Sort and Return Fields

The following fields may be used in the SearchParam, Sort and FieldList parameters:

  • transactiontype
  • response.authcode
  • response.avsresult
  • response.avsresultcode
  • response.batchnum
  • response.batchrefnum
  • response.cardcoderesult
  • response.cardcoderesultcode
  • response.conversionrate
  • response.convertedamount
  • response.convertedamountcurrency
  • response.custnum
  • response.error
  • response.errorcode
  • response.refnum
  • response.result
  • response.resultcode
  • response.status
  • response.statuscode
  • checktrace.trackingnum
  • checktrace.effective
  • checktrace.processed
  • checktrace.settled
  • checktrace.returned
  • checktrace.banknote
  • datetime
  • accountholder
  • details.invoice
  • details.ponum
  • details.orderid
  • details.clerk
  • details.terminal
  • details.table
  • details.description
  • details.amount
  • details.currency
  • details.tax
  • details.tip
  • details.nontax
  • details.shipping
  • details.discount
  • details.subtotal
  • creditcarddata.cardtype
  • creditcarddata.cardnumber
  • creditcarddata.cardexpiration
  • creditcarddata.cardcode
  • creditcarddata.avsstreet
  • creditcarddata.avszip
  • creditcarddata.cardpresent
  • checkdata.checknumber
  • checkdata.routing
  • checkdata.account
  • checkdata.ssn
  • checkdata.driverslicense
  • checkdata.driverslicensestate
  • checkdata.recordtype
  • user
  • source
  • serverip
  • clientip
  • customerid
  • billingaddress.firstname
  • billingaddress.lastname
  • billingaddress.company
  • billingaddress.street
  • billingaddress.street2
  • billingaddress.city
  • billingaddress.state
  • billingaddress.zip
  • billingaddress.country
  • billingaddress.phone
  • billingaddress.fax
  • billingaddress.email
  • shippingaddress.firstname
  • shippingaddress.lastname
  • shippingaddress.company
  • shippingaddress.street
  • shippingaddress.street2
  • shippingaddress.city
  • shippingaddress.state
  • shippingaddress.zip
  • shippingaddress.country
  • shippingaddress.phone
  • shippingaddress.fax
  • shippingaddress.email

Syntax

string searchTransactionsCustom ( ueSecurityToken Token, SearchParam Search, boolean MatchAll, integer Start, integer Limit, string FieldList, string Format, string Sort )

Arguments

Type Name Description
ueSecurityToken Token Merchant security token: used to identify merchant and validate transaction.
SearchParam Search Array of search parameters (SearchParam objects) available.
boolean MatchAll If set to "true," only results matching all search criteria will be returned, if set to "false," results matching any of the search criteria will be returned.
integer Start Sequence number to start returning on.
integer Limit Maximum number of transactions to return in result set.
string FieldList String Array of fields to return in search.
string Format Specify format of return data. Possible formats include: csv, tab, xml.
string Sort Field name to sort the results by

Return Value

Type Description
string Base64 encode result set. Returns all of the fields from any transactions matching your search parameters.

Examples

PHP

For directions on how to set up the WSDL link, create "$token" and "$client", go to PHP Soap How-to.

    <?php

    try {

    // make sure you prep data to search on

      $search=array(
        array(
          'Field'=>'amount',  
          'Type'=>'eq',
          'Value'=>'3.83'),
        array(
          'Field'=>'created',  
          'Type'=>'gt',  
          'Value'=>'2007-05-09'),
        array(
          'Field'=>'created',  
          'Type'=>'lt',  
          'Value'=>'2007-05-22'),
        array(
          'Field'=>'response',  
          'Type'=>'eq',  
          'Value'=>'A')
        );

      $start=0;
      $limit=100;
      $matchall=true;

      $fieldList=array(
        'Details.Amount',  
        'AccountHolder',  
        'CheckTrace.TrackingNum');

      $format ='csv';
      $sort = 'invoice';

      $res=$client->searchTransactionsCustom($token,$search,$matchall,$start,$limit,$fieldList,$format,$sort);

      $res=base64_decode($res);
      print_r($res);

    }

    catch(SoapFault $e) {
      echo $client->__getLastResponse();
      die("Serach Transaction Failed :".$e->getMessage());
      }

    ?>

VB.Net

For directions on how to set up the WSDL link and create the "token" and "client" variables, go to the Visual Basic .Net Soap How-to.

    ' instantiate client
    Dim client As newtek.newtekService = New newtek.newtekService

    ' build security token using sourcekey and pin
    Dim token As newtek.ueSecurityToken
    token = Me.CreateToken("982lz9VsLm87MA54Sv8E582h8OZMArL6", "443311")

    ' Search type is AND  (all search parameters must be matched)
    Dim MatchAll As Boolean
    MatchAll = True

    ' List of search parameters
    Dim searchParams(1) As newtek.SearchParam
    searchParams(0) = New newtek.SearchParam
    searchParams(0).Field = "Created"
    searchParams(0).Type = "gt"
    searchParams(0).Value = "2009-05-13 00:00:00"
    searchParams(1) = New newtek.SearchParam
    searchParams(1).Field = "reccustid"
    searchParams(1).Type = "gt"
    searchParams(1).Value = "0"

    ' Result Record to start on
    Dim start As Integer
    start = 1

    ' List of fields to return
    Dim FieldList(2) As String
    FieldList(0) = "Response.RefNum"
    FieldList(1) = "Response.ResultCode"
    FieldList(2) = "CustomerID"

    ' limit to 10 results
    Dim limit As Integer
    limit = "10"

    Dim SearchResults As String
    SearchResults = client.searchTransactionsCustom(token, searchParams, MatchAll, 0, 1000, FieldList, "csv", "invoice")

    ' results are base64 encode
    Dim binaryData() As Byte
    binaryData = Convert.FromBase64String(SearchResults)
    MsgBox(Encoding.UTF8.GetString(binaryData))

.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.

    Boolean matchAll;
                matchAll = true;

                string[] fields = new string[3];
                newtek.SearchParam[] search = new newtek.SearchParam[2];
                search[0] = new newtek.SearchParam();

                search[0].Field = "Created";
                search[0].Type = "Contains";
                search[0].Value = "2010-08-09";

                int start = 1;
                int limit = 10;

                string[] FieldList = new string[3];
                FieldList[0] = "Response.RefNum";
                FieldList[1] = "Response.ResultCode";
                FieldList[2] = "CustomerID";

                string result;

                try
                {
                    result = client.searchTransactionsCustom(token, search, matchAll, "0", "10", FieldList,"csv", "invoice");
                    Byte[] binaryData = new Byte[3];
                    binaryData = Convert.FromBase64String(result);

                    MessageBox.Show(Encoding.UTF8.GetString(binaryData));

                }


                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: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:searchTransactionsCustom>
    <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>
    <Search SOAP-ENC:arrayType="ns1:SearchParam[1]" xsi:type="ns1:SearchParamArray">
    <item xsi:type="ns1:SearchParam">
    <Field xsi:type="xsd:string">amount</Field>
    <Type xsi:type="xsd:string">eq</Type>
    <Value xsi:type="xsd:string">29.00</Value>
    </item>
    </Search>
    <MatchAll xsi:type="xsd:boolean">true</MatchAll>
    <Start xsi:type="xsd:integer">0</Start>
    <Limit xsi:type="xsd:integer">10</Limit>
    <FieldList SOAP-ENC:arrayType="xsd:string[5]" xsi:type="ns1:stringArray">
    <item xsi:type="xsd:string">Response.AvsResult</item>
    <item xsi:type="xsd:string">Response.AvsResultCode</item>
    <item xsi:type="xsd:string">DateTime</item>
    <item xsi:type="xsd:string">Response.Error</item>
    <item xsi:type="xsd:string">Details.Invoice</item>
    </FieldList>
    <Format xsi:type="xsd:string">xml</Format>
    <Sort xsi:type="xsd:string">Details.Invoice</Sort>
    </ns1:searchTransactionsCustom>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>