src/icepay_api_webservice.php
public function phoneDirectCheckout(Icepay_PaymentObject_Interface_Abstract $paymentObj)
    {
        $obj = new StdClass();

        // Must be in specific order for checksum ---------
        $obj->MerchantID = $this->getMerchantID();
        $obj->Timestamp = $this->getTimeStamp();
        $obj->Amount = $paymentObj->getAmount();
        $obj->Country = $paymentObj->getCountry();
        $obj->Currency = $paymentObj->getCurrency();
        $obj->Description = $paymentObj->getDescription();
        $obj->EndUserIP = $this->getIP();
        $obj->Issuer = $paymentObj->getIssuer();
        $obj->Language = $paymentObj->getLanguage();
        $obj->OrderID = $paymentObj->getOrderID();
        $obj->PaymentMethod = $paymentObj->getPaymentMethod();
        $obj->Reference = $paymentObj->getReference();
        $obj->URLCompleted = $this->getSuccessURL();
        $obj->URLError = $this->getErrorURL();
        $obj->PINCode = $this->getPinCode();

        $obj->Checksum = $this->generateChecksum($obj, $this->getSecretCode());

        $result = $this->client->phoneDirectCheckout(array('request' => $obj));
        $result = $result->PhoneDirectCheckoutResult;

        /* store the checksum momentarily */
        $checksum = $result->Checksum;

        /* Replace the checksum in the data with secretCode to generate a new checksum */
        $result->Checksum = $this->getSecretCode();

        // Reverse Success and Error Description, since order must be specific for Checksum
        $success = $result->Success;
        $errorDescription = $result->ErrorDescription;

        unset($result->Success, $result->ErrorDescription);

        $result->Success = $success;
        $result->ErrorDescription = $errorDescription;

        /* Verify response data */
        if ($checksum != $this->generateChecksum($result))
            throw new Exception("Data could not be verified");

        /* Return mister checksum */
        $result->Checksum = $checksum;

        /* Default return all data */
        return (array) $result;
    }
public function phoneDirectCheckout(Icepay_PaymentObject_Interface_Abstract $paymentObj)
    {
        $obj = new StdClass();

        // Must be in specific order for checksum ---------
        $obj->MerchantID = $this->getMerchantID();
        $obj->Timestamp = $this->getTimeStamp();
        $obj->Amount = $paymentObj->getAmount();
        $obj->Country = $paymentObj->getCountry();
        $obj->Currency = $paymentObj->getCurrency();
        $obj->Description = $paymentObj->getDescription();
        $obj->EndUserIP = $this->getIP();
        $obj->Issuer = $paymentObj->getIssuer();
        $obj->Language = $paymentObj->getLanguage();
        $obj->OrderID = $paymentObj->getOrderID();
        $obj->PaymentMethod = $paymentObj->getPaymentMethod();
        $obj->Reference = $paymentObj->getReference();
        $obj->URLCompleted = $this->getSuccessURL();
        $obj->URLError = $this->getErrorURL();
        $obj->PINCode = $this->getPinCode();

        $obj->Checksum = $this->generateChecksum($obj, $this->getSecretCode());

        $result = $this->client->phoneDirectCheckout(array('request' => $obj));
        $result = $result->PhoneDirectCheckoutResult;

        /* store the checksum momentarily */
        $checksum = $result->Checksum;

        /* Replace the checksum in the data with secretCode to generate a new checksum */
        $result->Checksum = $this->getSecretCode();

        // Reverse Success and Error Description, since order must be specific for Checksum
        $success = $result->Success;
        $errorDescription = $result->ErrorDescription;

        unset($result->Success, $result->ErrorDescription);

        $result->Success = $success;
        $result->ErrorDescription = $errorDescription;

        /* Verify response data */
        if ($checksum != $this->generateChecksum($result))
            throw new Exception("Data could not be verified");

        /* Return mister checksum */
        $result->Checksum = $checksum;

        /* Default return all data */
        return (array) $result;
    }
public function phoneDirectCheckout ( Icepay_PaymentObject_Interface_Abstract $ paymentObj ) { $ obj = new StdClass ( ) ; // Must be in specific order for checksum --------- $ obj -> MerchantID = $ this -> getMerchantID ( ) ; $ obj -> Timestamp = $ this -> getTimeStamp ( ) ; $ obj -> Amount = $ paymentObj -> getAmount ( ) ; $ obj -> Country = $ paymentObj -> getCountry ( ) ; $ obj -> Currency = $ paymentObj -> getCurrency ( ) ; $ obj -> Description = $ paymentObj -> getDescription ( ) ; $ obj -> EndUserIP = $ this -> getIP ( ) ; $ obj -> Issuer = $ paymentObj -> getIssuer ( ) ; $ obj -> Language = $ paymentObj -> getLanguage ( ) ; $ obj -> OrderID = $ paymentObj -> getOrderID ( ) ; $ obj -> PaymentMethod = $ paymentObj -> getPaymentMethod ( ) ; $ obj -> Reference = $ paymentObj -> getReference ( ) ; $ obj -> URLCompleted = $ this -> getSuccessURL ( ) ; $ obj -> URLError = $ this -> getErrorURL ( ) ; $ obj -> PINCode = $ this -> getPinCode ( ) ; $ obj -> Checksum = $ this -> generateChecksum ( $ obj , $ this -> getSecretCode ( ) ) ; $ result = $ this -> client -> phoneDirectCheckout ( array ( 'request' => $ obj ) ) ; $ result = $ result -> PhoneDirectCheckoutResult ; /* store the checksum momentarily */ $ checksum = $ result -> Checksum ; /* Replace the checksum in the data with secretCode to generate a new checksum */ $ result -> Checksum = $ this -> getSecretCode ( ) ; // Reverse Success and Error Description, since order must be specific for Checksum $ success = $ result -> Success ; $ errorDescription = $ result -> ErrorDescription ; unset ( $ result -> Success , $ result -> ErrorDescription ) ; $ result -> Success = $ success ; $ result -> ErrorDescription = $ errorDescription ; /* Verify response data */ if ( $ checksum != $ this -> generateChecksum ( $ result ) ) throw new Exception ( "Data could not be verified" ) ; /* Return mister checksum */ $ result -> Checksum = $ checksum ; /* Default return all data */ return ( array ) $ result ; }
The phoneDirectCheckout web method allows you to initialize a new payment in the ICEPAY system
with paymentmethod Phone with Pincode

@since version 2.1.0
@access public
@param object $data
@return array result
The phoneDirectCheckout web method allows you to initialize a new payment in the ICEPAY system with paymentmethod Phone with Pincode