Search transactions and return full transaction records.
This method allows you to find transactions even if you have misplaced or can't remember the transaction's RefNum (a unique number assigned to each transaction by the gateway).
The following fields may be used to search the database and return transaction details:
See also searchTransactionsCustom and searchTransactionsCount
TransactionSearchResult searchTransactions ( ueSecurityToken Token, SearchParam Search, boolean MatchAll, integer Start, integer Limit, string Sort)
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 | Record number to start returning from (ie if 1,000 were found and you only want to receive the last 200 you would set Start=800 and Limit=200) |
integer | Limit | Maximum number of transactions to return in result set. |
string | Sort | Comma separated list of fields to sort by. |
TransactionSearchResult | Returns the full transaction records for all transactions matching the specified search parameters. |
For directions on how to set up the WSDL link, create “$token” and “$client”, go to PHP Soap How-to.
<?php try { // Create search parameter list $search=array( array( 'Field'=>'amount', 'Type'=>'eq', 'Value'=>'4.00'), array( 'Field'=>'created', 'Type'=>'gt', 'Value'=>'2007-03-21'), array( 'Field'=>'created', 'Type'=>'lt', 'Value'=>'2007-03-22'), array( 'Field'=>'response', 'Type'=>'eq', 'Value'=>'A') ); $start=0; $limit=100; $matchall=true; $sort='created'; $res=$client->searchTransactions($token,$search,$matchall,$start,$limit,$sort); print_r($res); } catch(SoapFault $e) { echo $client->__getLastResponse(); die("Search Transaction Failed :".$e->getMessage()); } ?>
<?php include './nusoap.php'; // Create Soap Client $s=new soapclient("./usaepay.wsdl",'wsdl'); $tran=$s->getProxy(); // Source Key Setting $sourcekey='yQbOFkjD8wwlkZ3AhY248k3Lc9PH1l14'; $pin='1234'; // Prep source key $seed=mktime() . rand(); $tmp=$sourcekey . $seed . $pin; $hash=sha1($tmp); $token=array('SourceKey'=>$sourcekey, 'PinHash'=>array('Type'=>'sha1', 'Seed'=>$seed,'HashValue'=>$hash)); // Prep Request data $search=array( array('Field'=>'amount', 'Type'=>'gt','Value'=>'5.00'), array('Field'=>'created', 'Type'=>'gt', 'Value'=>'2005-01-01'), array('Field'=>'response', 'Type'=>'eq', 'Value'=>'A') ); $start=0; $limit=10; $matchall=true; $sort='created'; $res=$tran->searchTransactions($token,$search,$matchall,$start,$limit,$sort); if(!$err=$tran->getError()) { print_r($res); } else { echo "Error: $err\n"; echo $tran->request; }
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.
Dim client As usaepay.usaepayService = New usaepay.usaepayService Dim token As usaepay.ueSecurityToken token = Me.CreateToken("714SSUxv1uohng2XkMJ7kLpETsu58G66", "1234") Dim MatchAll As Boolean MatchAll = False Dim searchParams(1) As usaepay.SearchParam searchParams(0) = New usaepay.SearchParam searchParams(0).Field = "Created" searchParams(0).Type = "eq" searchParams(0).Value = "2009-02-19" Dim start As Integer start = 1 Dim limit As Integer limit = "999999" Dim SearchResults As usaepay.TransactionSearchResult = New usaepay.TransactionSearchResult SearchResults = client.searchTransactions(token, searchParams, MatchAll, 0, 1000, "") MsgBox(SearchResults.TransactionsMatched)
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 startTransID = "1234"; usaepay.SearchParam[] search = new usaepay.SearchParam[2]; search[0] = new usaepay.SearchParam(); search[1] = new usaepay.SearchParam(); search[0].Field = "Response"; search[0].Type = "eq"; search[0].Value = "A"; search[1].Field = "TransID"; search[1].Type = "gt"; search[1].Value = startTransID; usaepay.TransactionSearchResult result = new usaepay.TransactionSearchResult(); int pos = 0; int limit = 10; // size of result set int totalFound =0; try { // loop through result sets do { result = client.searchTransactions(token, search, matchAll, pos.ToString(), limit.ToString(), "TransID"); // Perform operations on returned data MessageBox.Show(string.Concat("Retrieved ", pos, " to ", pos + Convert.ToInt32(result.TransactionsReturned), " of ", result.TransactionsMatched)); pos += limit; if (totalFound == 0) totalFound = Convert.ToInt32(result.TransactionsMatched); } while (pos< totalFound); } catch (Exception err) { MessageBox.Show(err.Message); }
NOTE: this example has not been tested and is provided as is
<cfscript> Start = 0; Limit = 10; MatchAll=1; Sort='created'; Search=ArrayNew(1); Search[1]=structnew(); Search[1].Field='created'; Search[1].Type='gt'; Search[1].Value='2006-09-01'; ws = createObject("webservice", "https://www.usaepay.com/soap/gate/3213EA2A/usaepay.wsdl"); Output = ws.searchTransactions(Token, Search, MatchAll, Start, Limit, Sort); </cfscript>
<?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:searchTransactions> <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> <Sort xsi:type="xsd:string">created</Sort> </ns1:searchTransactions> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Version | Change |
---|---|
1.2 | Added Sort Parameter |
1.1 | Soap 1.1 Release |