function verify() { $vars = $this->ipn_vars; $this->ipn = $this->ipn_vars; $vars['cmd'] = '_notify-validate'; $options = array('headers' => array('Content-Type' => 'application/x-www-form-urlencoded'), 'method' => 'POST', 'data' => drupal_http_build_query($vars)); $result = drupal_http_request($this->ipnLink, $options); $this->ipnResult = $result->data; if (!empty($result->error)) { $this->lastError = t('IPN Validation Error: @error', array('@error' => $result->error)); return FALSE; } else { if ($result->code == 200) { if ($result->data == 'VERIFIED') { return TRUE; } else { $this->lastError = t('IPN Validation Failed: @error', array('@error' => $result->data)); return FALSE; } } else { // The server might be down, let's log an error but still pass the // validation. ms_core_log_error('ms_paypal_wps', 'The Validation Server had an error processing a request. Request: !request Response: !response', array('!request' => ms_core_print_r($options), '!response' => ms_core_print_r($result)), WATCHDOG_CRITICAL); return TRUE; } } }
/** * Send parameters * * @param array $params * @return string result */ function sentPost($params) { if (!file_exists($this->keystore)) { $result = "file " . $this->keystore . " not exists"; error_log($result); return $result; } if (!is_readable($this->keystore)) { $result = "Please check CHMOD for file \"" . $this->keystore . "\"! It must be readable!"; error_log($result); return $result; } $post = ""; foreach ($params as $key => $value) { $post .= "{$key}={$value}&"; } $curl = curl_init(); if ($this->verbose) { curl_setopt($curl, CURLOPT_VERBOSE, TRUE); } curl_setopt($curl, CURLOPT_URL, $this->url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); //curl_setopt($curl, CURLOPT_SSLVERSION,2); curl_setopt($curl, CURLOPT_SSLCERT, $this->keystore); curl_setopt($curl, CURLOPT_CAINFO, $this->keystore); curl_setopt($curl, CURLOPT_SSLKEYPASSWD, $this->keystorepassword); curl_setopt($curl, CURLOPT_POSTFIELDS, $post); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($curl); if (curl_error($curl)) { $result = curl_error($curl); ms_core_log_error('ms_ibis', 'Error with CURL call. Settings: !settings CURL: !curl Result: !result', array('!settings' => ms_core_print_r($this), '!curl' => ms_core_print_r(curl_getinfo($curl)), '!result' => $result)); } curl_close($curl); return $result; }
public function setParameter($field = '', $value = null) { $field = is_string($field) ? trim($field) : $field; $value = is_string($value) ? trim($value) : $value; if (!is_string($field)) { ms_core_log_error('ms_authorizenet_arb', 'setParameter() arg 1 must be a string or integer: ' . gettype($field) . ' given.'); } elseif (!is_string($value) && !is_numeric($value) && !is_bool($value)) { ms_core_log_error('ms_authorizenet_arb', 'setParameter() arg 2 must be a string, integer, or boolean value: ' . gettype($value) . ' given.'); } elseif (empty($field)) { ms_core_log_error('ms_authorizenet_arb', 'setParameter() requires a parameter field to be named.'); } elseif ($value === '') { ms_core_log_error('ms_authorizenet_arb', 'setParameter() requires a parameter value to be assigned: ' . $field); } else { $this->params[$field] = $value; } }