/** * @see FrontController::initContent() */ public function initContent() { parent::initContent(); global $cookie, $link; $language = Language::getIsoById(intval($cookie->id_lang)); $language = !in_array($language, array('ua', 'en', 'ru')) ? 'ru' : $language; $payCurrency = Context::getContext()->currency; $cart = $this->context->cart; $fondy = new Fondy(); $total = $cart->getOrderTotal(); $fondy->validateOrder(intval($cart->id), _PS_OS_PREPARATION_, $total, $fondy->displayName); $fields = array('order_id' => $fondy->currentOrder . FondyCls::ORDER_SEPARATOR . time(), 'merchant_id' => $fondy->getOption('merchant'), 'order_desc' => $fondy->currentOrder, 'amount' => round($total * 100), 'currency' => $payCurrency->iso_code, 'server_callback_url' => $link->getModuleLink('fondy', 'callback'), 'response_url' => $link->getModuleLink('fondy', 'result'), 'lang' => strtoupper($language), 'sender_email' => $this->context->customer->email); $fields['signature'] = FondyCls::getSignature($fields, $fondy->getOption('secret_key')); $fields['fondy_url'] = FondyCls::URL; $this->context->smarty->assign($fields); $this->setTemplate('redirect.tpl'); }
/** * @see FrontController::initContent() */ public function initContent() { global $cart, $cookie, $smarty; // $cart->id = $_GET['id_cart']; $customer = new Customer((int) $cart->id_customer); $language = Language::getIsoById(intval($cookie->id_lang)); $language = !in_array($language, array('ua', 'en', 'ru')) ? 'ru' : $language; $currency = new Currency($cookie->id_currency); $fondy = new Fondy(); $total = $cart->getOrderTotal(); $callback = _PS_BASE_URL_ . __PS_BASE_URI__ . 'modules/fondy/callback.php'; $result = _PS_BASE_URL_ . __PS_BASE_URI__ . 'modules/fondy/result.php'; $fondy->validateOrder(intval($cart->id), _PS_OS_PREPARATION_, $total, $fondy->displayName); $fields = array('order_id' => $fondy->currentOrder . FondyCls::ORDER_SEPARATOR . time(), 'merchant_id' => $fondy->getOption('merchant'), 'order_desc' => 'Order description', 'amount' => round($total * 100), 'currency' => $currency->iso_code, 'server_callback_url' => $callback, 'response_url' => $result, 'lang' => strtoupper($language), 'sender_email' => $customer->email, 'delayed' => 'N'); $fields['signature'] = FondyCls::getSignature($fields, $fondy->getOption('secret_key')); $fields['fondy_url'] = FondyCls::URL; $smarty->assign($fields); echo $this->display('redirect.tpl'); }
if ($_REQUEST['order_status'] == FondyCls::ORDER_APPROVED) { $pp_response['order_status'] = 'P'; $pp_response['reason_text'] = __('transaction_approved'); $pp_response['transaction_id'] = $_REQUEST['payment_id']; if (fn_check_payment_script('fondy.php', $order_id)) { fn_finish_payment($order_id, $pp_response); fn_order_placement_routines('route', $order_id); } } } } elseif ($mode == 'sucsses' && !empty($_REQUEST['order_id'])) { if ($response == true && $order_info['status'] == 'N') { if ($_REQUEST['order_status'] == FondyCls::ORDER_APPROVED) { $pp_response['order_status'] = 'P'; $pp_response['reason_text'] = __('transaction_approved'); $pp_response['transaction_id'] = $_REQUEST['payment_id']; fn_finish_payment($order_id, $pp_response); } } } exit; } else { $payment_url = FondyCls::URL; $amount = fn_format_price($order_info['total'], $processor_data['processor_params']['currency']); $confirm_url = fn_url("payment_notification.sucsses?payment=fondy&order_id={$order_id}", AREA, 'current'); $response_url = fn_url("payment_notification.response?payment=fondy&order_id={$order_id}", AREA, 'current'); $post_data = array('merchant_id' => $processor_data['processor_params']['fondy_merchantid'], 'lang' => $processor_data['processor_params']['fondy_lang'], 'order_id' => time() . $order_id, 'order_desc' => '#' . $order_id, 'amount' => round($amount * 100), 'currency' => $processor_data['processor_params']['currency'], 'server_callback_url' => $confirm_url, 'response_url' => $response_url); $post_data['signature'] = FondyCls::getSignature($post_data, $processor_data['processor_params']['fondy_merchnatSecretKey']); fn_create_payment_form($payment_url, $post_data, 'Fondy', false); exit; }