src/icepay_api_webservice.php
public function searchPayments($searchOptions = array())
    {

        $obj = new stdClass();
        // Must be in specific order for checksum ----------
        $obj->Timestamp = $this->getTimeStamp();
        $obj->SessionID = $this->getSessionID();
        $obj->PinCode = $this->getPinCode();
        $obj->UserAgent = $this->getUserAgent();
        $obj->MerchantID = null;
        $obj->PaymentID = null;
        $obj->OrderID = null;
        $obj->Reference = null;
        $obj->Description = null;
        $obj->Status = null;
        $obj->OrderTime1 = null;
        $obj->OrderTime2 = null;
        $obj->PaymentTime1 = null;
        $obj->PaymentTime2 = null;
        $obj->CountryCode = null;
        $obj->CurrencyCode = null;
        $obj->Amount = null;
        $obj->PaymentMethod = null;
        $obj->ConsumerAccountNumber = null;
        $obj->ConsumerName = null;
        $obj->ConsumerAddress = null;
        $obj->ConsumerHouseNumber = null;
        $obj->ConsumerPostCode = null;
        $obj->ConsumerCity = null;
        $obj->ConsumerCountry = null;
        $obj->ConsumerEmail = null;
        $obj->ConsumerPhoneNumber = null;
        $obj->ConsumerIPAddress = null;
        $obj->Page = (int) 1;
        // ------------------------------------------------

        if (!empty($searchOptions)) {
            foreach ($searchOptions as $key => $filter) {
                $obj->$key = $filter;
            }
        }

        // Generate Checksum
        $obj->Checksum = $this->generateChecksum($obj);

        // Properties only used for the Checksum
        unset($obj->PinCode);

        // Ask for SearchPayments and get response
        $result = $this->client->SearchPayments($obj);
        $result = $result->SearchPaymentsResult;

        $searchResults = isset($result->Payments->Payment) ? $result->Payments->Payment : null;

        $obj = new stdClass();
        $obj->Timestamp = $result->Timestamp;
        $obj->SessionID = $this->getSessionID();
        $obj->ReportingPinCode = $this->getPinCode();

        if (!is_null($searchResults)) {
            // Assign all properties of the sub object(s) as property of mainObject
            $obj = $this->parseForChecksum($obj, $searchResults, true, array(
                "Amount", "ConsumerAccountNumber", "ConsumerAddress", "ConsumerHouseNumber", "ConsumerName",
                "ConsumerPostCode", "CountryCode", "CurrencyCode", "Duration", "MerchantID", "OrderTime",
                "PaymentID", "PaymentMethod", "PaymentTime", "Status", "StatusCode", "TestMode"
            ));
        }

        // Verify response data by making a new Checksum
        $CheckSum = $this->generateChecksum($obj);

        // Compare Checksums
        if ($result->Checksum != $CheckSum)
            throw new Exception('Data could not be verified');

        return (array) $searchResults;
    }
public function searchPayments($searchOptions = array())
    {

        $obj = new stdClass();
        // Must be in specific order for checksum ----------
        $obj->Timestamp = $this->getTimeStamp();
        $obj->SessionID = $this->getSessionID();
        $obj->PinCode = $this->getPinCode();
        $obj->UserAgent = $this->getUserAgent();
        $obj->MerchantID = null;
        $obj->PaymentID = null;
        $obj->OrderID = null;
        $obj->Reference = null;
        $obj->Description = null;
        $obj->Status = null;
        $obj->OrderTime1 = null;
        $obj->OrderTime2 = null;
        $obj->PaymentTime1 = null;
        $obj->PaymentTime2 = null;
        $obj->CountryCode = null;
        $obj->CurrencyCode = null;
        $obj->Amount = null;
        $obj->PaymentMethod = null;
        $obj->ConsumerAccountNumber = null;
        $obj->ConsumerName = null;
        $obj->ConsumerAddress = null;
        $obj->ConsumerHouseNumber = null;
        $obj->ConsumerPostCode = null;
        $obj->ConsumerCity = null;
        $obj->ConsumerCountry = null;
        $obj->ConsumerEmail = null;
        $obj->ConsumerPhoneNumber = null;
        $obj->ConsumerIPAddress = null;
        $obj->Page = (int) 1;
        // ------------------------------------------------

        if (!empty($searchOptions)) {
            foreach ($searchOptions as $key => $filter) {
                $obj->$key = $filter;
            }
        }

        // Generate Checksum
        $obj->Checksum = $this->generateChecksum($obj);

        // Properties only used for the Checksum
        unset($obj->PinCode);

        // Ask for SearchPayments and get response
        $result = $this->client->SearchPayments($obj);
        $result = $result->SearchPaymentsResult;

        $searchResults = isset($result->Payments->Payment) ? $result->Payments->Payment : null;

        $obj = new stdClass();
        $obj->Timestamp = $result->Timestamp;
        $obj->SessionID = $this->getSessionID();
        $obj->ReportingPinCode = $this->getPinCode();

        if (!is_null($searchResults)) {
            // Assign all properties of the sub object(s) as property of mainObject
            $obj = $this->parseForChecksum($obj, $searchResults, true, array(
                "Amount", "ConsumerAccountNumber", "ConsumerAddress", "ConsumerHouseNumber", "ConsumerName",
                "ConsumerPostCode", "CountryCode", "CurrencyCode", "Duration", "MerchantID", "OrderTime",
                "PaymentID", "PaymentMethod", "PaymentTime", "Status", "StatusCode", "TestMode"
            ));
        }

        // Verify response data by making a new Checksum
        $CheckSum = $this->generateChecksum($obj);

        // Compare Checksums
        if ($result->Checksum != $CheckSum)
            throw new Exception('Data could not be verified');

        return (array) $searchResults;
    }
public function searchPayments ( $ searchOptions = array ( ) ) { $ obj = new stdClass ( ) ; // Must be in specific order for checksum ---------- $ obj -> Timestamp = $ this -> getTimeStamp ( ) ; $ obj -> SessionID = $ this -> getSessionID ( ) ; $ obj -> PinCode = $ this -> getPinCode ( ) ; $ obj -> UserAgent = $ this -> getUserAgent ( ) ; $ obj -> MerchantID = null ; $ obj -> PaymentID = null ; $ obj -> OrderID = null ; $ obj -> Reference = null ; $ obj -> Description = null ; $ obj -> Status = null ; $ obj -> OrderTime1 = null ; $ obj -> OrderTime2 = null ; $ obj -> PaymentTime1 = null ; $ obj -> PaymentTime2 = null ; $ obj -> CountryCode = null ; $ obj -> CurrencyCode = null ; $ obj -> Amount = null ; $ obj -> PaymentMethod = null ; $ obj -> ConsumerAccountNumber = null ; $ obj -> ConsumerName = null ; $ obj -> ConsumerAddress = null ; $ obj -> ConsumerHouseNumber = null ; $ obj -> ConsumerPostCode = null ; $ obj -> ConsumerCity = null ; $ obj -> ConsumerCountry = null ; $ obj -> ConsumerEmail = null ; $ obj -> ConsumerPhoneNumber = null ; $ obj -> ConsumerIPAddress = null ; $ obj -> Page = ( int ) 1 ; // ------------------------------------------------ if ( ! empty ( $ searchOptions ) ) { foreach ( $ searchOptions as $ key => $ filter ) { $ obj -> $ key = $ filter ; } } // Generate Checksum $ obj -> Checksum = $ this -> generateChecksum ( $ obj ) ; // Properties only used for the Checksum unset ( $ obj -> PinCode ) ; // Ask for SearchPayments and get response $ result = $ this -> client -> SearchPayments ( $ obj ) ; $ result = $ result -> SearchPaymentsResult ; $ searchResults = isset ( $ result -> Payments -> Payment ) ? $ result -> Payments -> Payment : null ; $ obj = new stdClass ( ) ; $ obj -> Timestamp = $ result -> Timestamp ; $ obj -> SessionID = $ this -> getSessionID ( ) ; $ obj -> ReportingPinCode = $ this -> getPinCode ( ) ; if ( ! is_null ( $ searchResults ) ) { // Assign all properties of the sub object(s) as property of mainObject $ obj = $ this -> parseForChecksum ( $ obj , $ searchResults , true , array ( "Amount" , "ConsumerAccountNumber" , "ConsumerAddress" , "ConsumerHouseNumber" , "ConsumerName" , "ConsumerPostCode" , "CountryCode" , "CurrencyCode" , "Duration" , "MerchantID" , "OrderTime" , "PaymentID" , "PaymentMethod" , "PaymentTime" , "Status" , "StatusCode" , "TestMode" ) ) ; } // Verify response data by making a new Checksum $ CheckSum = $ this -> generateChecksum ( $ obj ) ; // Compare Checksums if ( $ result -> Checksum != $ CheckSum ) throw new Exception ( 'Data could not be verified' ) ; return ( array ) $ searchResults ; }
The searchPayments web method allows you to search for payments linked to your ICEPAY account. There are
several filters which you can employ for a more detailed search.

@since version 2.1.0
@access public
@param array searchOptions
@return array
The searchPayments web method allows you to search for payments linked to your ICEPAY account . There are several filters which you can employ for a more detailed search .