public function getRequestFields() { $fields = $this->_buildRequestFields(); // pass it through validate so that an exception is thrown $this->_validateFields($fields); $airpCheckfields = Checksum::sanitizedParam($fields['buyerEmail']) . Checksum::sanitizedParam($fields['buyerFirstName']) . Checksum::sanitizedParam($fields['buyerLastName']) . Checksum::sanitizedParam($fields['buyerAddress']) . Checksum::sanitizedParam($fields['buyerCity']) . Checksum::sanitizedParam($fields['buyerState']) . Checksum::sanitizedParam($fields['buyerCountry']) . Checksum::sanitizedParam($fields['amount']) . Checksum::sanitizedParam($fields['orderid']); $all = $airpCheckfields; error_log("Logging stripped params : " . $all); $airpayConfig = $this->getAirpayConfig(); $privatekey = Checksum::encrypt($airpayConfig['username'] . ":|:" . $airpayConfig['password'], $airpayConfig['secret_key']); $checksum = Checksum::calculateChecksum($all . date('Y-m-d'), $privatekey); error_log("Logging stripped params : " . $all); error_log('Logging key used to produce checksum : ' . $airpayConfig['secret_key']); error_log('Logging checksum : ' . $checksum); $this->_checksum = $checksum; // var_dump($all, $checksum); #ksort($fields); // first sort by key and then append checksum in the end $fields['checksum'] = $checksum; $fields['privatekey'] = $privatekey; $fields['mercid'] = $airpayConfig['merchant_id']; return $fields; }