function after_process() { global $order, $insert_id; unset($_SESSION['discount_value']); unset($_SESSION['discount_name']); unset($_SESSION['voucher_value']); unset($_SESSION['voucher_name']); unset($_SESSION['coupon_value']); unset($_SESSION['coupon_name']); unset($_SESSION['lofee_value']); unset($_SESSION['lofee_name']); $token = $_GET['token']; if ($this->response->ack == 'OK' && $this->response->status == 'ACCEPTED') { if ($this->order_status) { xtc_db_query('UPDATE ' . TABLE_ORDERS . ' SET orders_status = "' . xtc_db_input($this->order_status) . '" WHERE orders_id = "' . xtc_db_input($insert_id) . '"'); } $customer = $this->response->customer; xtc_db_query('INSERT INTO billsafe_orders_2 (id, orderid, transactionid, token, billsafeStatus, type, paymentStatus, date) VALUES (NULL,"' . xtc_db_input($insert_id) . '", "' . xtc_db_input($this->response->transactionId) . '", "' . $token . '", "' . xtc_db_input($this->response->status) . '", "installment", NULL, "' . date('Y-m-d H:i:s') . '")'); $resultQuery = xtc_db_query('SELECT id FROM billsafe_orders_2 WHERE transactionId = "' . xtc_db_input($this->response->transactionId) . '"'); $result = xtc_db_fetch_array($resultQuery); xtc_db_query('INSERT INTO billsafe_orders_user_2 (id, bsorders_id, gender, company, firstname, lastname, street, housenumber, postcode, city, country, dateofbirth, email, phone) VALUES (NULL, "' . xtc_db_input($result['id']) . '", "' . xtc_db_input($customer->gender) . '", "' . xtc_db_input($customer->firstname) . '", "' . xtc_db_input($customer->company) . '", "' . xtc_db_input($customer->lastname) . '", "' . xtc_db_input($customer->street) . '", "' . xtc_db_input($customer->housenumber) . '", "' . xtc_db_input($customer->postcode) . '", "' . xtc_db_input($customer->city) . '", "' . xtc_db_input($customer->country) . '", "0000-00-00", "' . xtc_db_input($customer->email) . '", "' . xtc_db_input($customer->phone) . '")'); $bs = new Billsafe_Sdk(DIR_FS_CATALOG . 'includes/external/billsafe/classes/billsafe_2/ini.php'); //DokuMan - 2012-06-19 - move billsafe to external directory if ($_SESSION['language_charset'] == 'iso-8859-1' || $_SESSION['language_charset'] == 'iso-8859-15') { $bs->setUtf8Mode(false); } else { $bs->setUtf8Mode(true); } if (MODULE_PAYMENT_BILLSAFE_2HP_SERVER == 'Live') { $bs->setMode("LIVE"); } else { $bs->setMode("SANDBOX"); } $bs->setCredentials(array('merchantId' => MODULE_PAYMENT_BILLSAFE_2HP_MERCHANT_ID, 'merchantLicenseSandbox' => MODULE_PAYMENT_BILLSAFE_2HP_MERCHANT_LICENSE, 'merchantLicenseLive' => MODULE_PAYMENT_BILLSAFE_2HP_MERCHANT_LICENSE, 'applicationSignature' => $this->applicationSignature, 'applicationVersion' => $this->application_version)); $params = array('transactionId' => $this->response->transactionId); $response = $bs->callMethod('getArticleList', $params); $article = $response->articleList; for ($i = 0, $n = sizeof($article); $i < $n; $i++) { for ($ii = 0, $nn = intval($article[$i]->quantity); $ii < $nn; $ii++) { $article[$i]->name = str_replace("\"", "\\\"", $article[$i]->name); $article[$i]->name = str_replace("\\'", "\\\\'", $article[$i]->name); xtc_db_query('INSERT INTO billsafe_orders_details_2 (ordernumber, product_id, articletype, articlenumber, articlename, articleprice, articletax, bsorders_id) values("' . xtc_db_input($insert_id) . '", "' . xtc_db_input($order->products[$i]['id']) . '", "' . xtc_db_input($article[$i]->type) . '", "' . xtc_db_input($article[$i]->number) . '", "' . xtc_db_input($article[$i]->name) . '", "' . xtc_db_input($article[$i]->grossPrice) . '", "' . xtc_db_input($article[$i]->tax) . '", "' . xtc_db_input($result['id']) . '")'); } } $comments = MODULE_PAYMENT_BILLSAFE_2HP_STATUS_TEXT . ': ' . $this->response->status . '; ' . MODULE_PAYMENT_BILLSAFE_2HP_TRANSACTIONID . ': ' . $this->response->transactionId; xtc_db_query('INSERT INTO orders_status_history (orders_status_history_id, orders_id, orders_status_id, date_added, customer_notified, comments) VALUES (NULL, "' . xtc_db_input($insert_id) . '", "1", "' . date('Y-m-d H:i:s') . '", "0", "' . xtc_db_input($comments) . '")'); $params = array('transactionId' => xtc_db_input($this->response->transactionId), 'orderNumber' => xtc_db_input($insert_id)); $response = $bs->callMethod('setOrderNumber', $params); if ($response->ack == 'OK') { } else { } } else { $_SESSION['billsafe_status'] = 'declined'; $message = $this->get_error_message($response); xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'payment_error=' . $this->code . '&error_message=' . stripslashes(urlencode(html_entity_decode($message))), 'SSL')); } return false; }
$smarty->assign('DATE', xtc_date_long($order->info['date_purchased'])); $smarty->assign('order_data', $order_data); $smarty->assign('order_total', $order_total); require_once DIR_FS_CATALOG . 'includes/external/billsafe/classes/billsafe_2/billsafe_2.php'; //DokuMan - 2012-06-19 - move billsafe to external directory require DIR_FS_CATALOG . 'includes/external/billsafe/classes/billsafe_2/ini.php'; //DokuMan - 2012-06-19 - move billsafe to external directory $bs = new Billsafe_Sdk(DIR_FS_CATALOG . 'includes/external/billsafe/classes/billsafe_2/ini.php'); //DokuMan - 2012-06-19 - move billsafe to external directory if ($_SESSION['language_charset'] == 'iso-8859-1' || $_SESSION['language_charset'] == 'iso-8859-15') { $bs->setUtf8Mode(false); } else { $bs->setUtf8Mode(true); } if (MODULE_PAYMENT_BILLSAFE_2_SERVER == 'Live') { $bs->setMode('LIVE'); } else { $bs->setMode('SANDBOX'); } $bs->setCredentials(array('merchantId' => MODULE_PAYMENT_BILLSAFE_2_MERCHANT_ID, 'merchantLicenseSandbox' => MODULE_PAYMENT_BILLSAFE_2_MERCHANT_LICENSE, 'merchantLicenseLive' => MODULE_PAYMENT_BILLSAFE_2_MERCHANT_LICENSE, 'applicationSignature' => $ini['applicationSignature'], 'applicationVersion' => $ini['applicationVersion'])); $orders_query = xtc_db_query('SELECT id, transactionid, billsafeStatus, type FROM billsafe_orders_2 WHERE orderid = "' . xtc_db_input($order_id) . '"'); $billsafe_orders = xtc_db_fetch_array($orders_query); $paramsIns = array('transactionId' => $billsafe_orders['transactionid']); $responseInstruction = $bs->callMethod('getPaymentInstruction', $paramsIns); $smarty->assign('BillsafeType', $billsafe_orders['type']); if ($billsafe_orders['type'] == 'invoice') { if ($responseInstruction->ack == 'OK') { $url = substr(HTTP_SERVER, 7) . DIR_WS_CATALOG; $ins = $responseInstruction->instruction; $smarty->assign('BillsafeText', $ins->legalNote); $smarty->assign('BillsafeText2', '<b>' . $ins->note . '</b>');