function success() { global $rmag_options; $data = array('pay_id' => $_REQUEST["InvId"], 'user_id' => $_REQUEST["shpa"]); if (parent::get_pay((object) $data)) { wp_redirect(get_permalink($rmag_options['page_successfully_pay'])); exit; } else { wp_die(__('A record of the payment in the database was not found', 'wp-recall')); } }
function result($data) { global $rmag_options; $secret_key = $rmag_options['WO_SECRET_KEY']; $data->pay_summ = $_REQUEST["WMI_PAYMENT_AMOUNT"]; $data->pay_id = $_REQUEST["WMI_PAYMENT_NO"]; $data->user_id = $_REQUEST["USER_ID"]; $data->pay_type = $_REQUEST["TYPE_PAY"]; if (!isset($_REQUEST["WMI_SIGNATURE"])) { $this->print_answer("Retry", "Отсутствует параметр WMI_SIGNATURE"); } if (!isset($_REQUEST["WMI_PAYMENT_NO"])) { $this->print_answer("Retry", "Отсутствует параметр WMI_PAYMENT_NO"); } if (!isset($_REQUEST["WMI_ORDER_STATE"])) { $this->print_answer("Retry", "Отсутствует параметр WMI_ORDER_STATE"); } // Извлечение всех параметров POST-запроса, кроме WMI_SIGNATURE foreach ($_REQUEST as $name => $value) { if ($name !== "WMI_SIGNATURE") { $params[$name] = $value; } } // Сортировка массива по именам ключей в порядке возрастания // и формирование сообщения, путем объединения значений формы uksort($params, "strcasecmp"); $values = ""; foreach ($params as $name => $value) { //Конвертация из текущей кодировки (UTF-8) //необходима только если кодировка магазина отлична от Windows-1251 //$value = iconv("utf-8", "windows-1251", $value); $values .= $value; } // Формирование подписи для сравнения ее с параметром WMI_SIGNATURE $signature = base64_encode(pack("H*", md5($values . $secret_key))); //Сравнение полученной подписи с подписью W1 if ($signature == $_REQUEST["WMI_SIGNATURE"]) { if (strtoupper($_REQUEST["WMI_ORDER_STATE"]) == "ACCEPTED") { // TODO: Пометить заказ, как «Оплаченный» в системе учета магазина if (!parent::get_pay($data)) { //print_answer("Ok", "Заказ #" . $_POST["WMI_PAYMENT_NO"] . " оплачен!"); print "WMI_RESULT=" . strtoupper("Ok") . "&"; print "WMI_DESCRIPTION=" . urlencode("Заказ #" . $_POST["WMI_PAYMENT_NO"] . " оплачен!"); parent::insert_pay($data); exit; } } else { // Случилось что-то странное, пришло неизвестное состояние заказа $this->print_answer("Retry", "Неверное состояние " . $_REQUEST["WMI_ORDER_STATE"]); } } else { // Подпись не совпадает, возможно вы поменяли настройки интернет-магазина $this->print_answer("Retry", "Неверная подпись " . $_REQUEST["WMI_SIGNATURE"], $signature); } }
function success() { global $rmag_options; $data['pay_id'] = $_REQUEST["orderNumber"]; $data['user_id'] = $_REQUEST["customerNumber"]; if (parent::get_pay((object) $data)) { wp_redirect(get_permalink($rmag_options['page_successfully_pay'])); exit; } else { wp_die(__('A record of the payment in the database was not found', 'wp-recall')); } }
function rcl_payments() { global $rmag_options, $rcl_payments; if (!$rmag_options['connect_sale']) { return false; } if (!isset($rcl_payments[$rmag_options['connect_sale']])) { return false; } if (isset($_REQUEST[$rcl_payments[$rmag_options['connect_sale']]->request])) { $payment = new Rcl_Payment(); $payment->payment_process(); } }
function rcl_payform($args) { $payment = new Rcl_Payment(); return $payment->get_form($args); }