<?php include_once dirname(__FILE__) . '/../../config/config.inc.php'; include_once dirname(__FILE__) . '/../../init.php'; include_once dirname(__FILE__) . '/greenworld_tenpay.php'; include_once dirname(__FILE__) . '/../../classes/OrderHistory.php'; $checkTemp = new greenworld_tenpay(); // 商店設定在ECBank管理後台的交易加密私鑰 $key = $checkTemp->getEncryptionCode(); $amount = $checkTemp->getAmount(Tools::getValue("od_sob")); // 組合字串 $serial = trim($_POST['proc_date'] . $_POST['proc_time'] . $_POST['tsr'] . $_POST['od_sob'] . $_POST['amt']); $mac = trim($_POST['mac']); // 回傳的交易驗證壓碼 // ECBank 驗證Web Service網址 // 取得驗證結果 (也可以使用curl) $ws_url = 'https://ecbank.com.tw/web_service/get_outmac_valid_new.php'; // 串接驗證參數 $post_str = 'key=' . $key . '&serial=' . $serial . '&mac=' . $mac; // 使用curl取得驗證結果 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $ws_url); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str); $strAuth = curl_exec($ch); if (curl_errno($ch)) { $strAuth = false;
session_destroy(); } else { $_SESSION["checkStep"] = "1"; echo Module::display(_iMODULE_NAME_TENPAY_, 'validationOrder.tpl'); } } else { if ($_SESSION["checkStep"] == "1" && $check == "1") { $CheckPay->validateOrder((int) $cart->id, 1, $inttotal, $CheckPay->displayName, NULL, array(), NULL, false, $customer->secure_key); $newOrderStatusId = "1"; $history = new OrderHistory(); $history->id_order = (int) $CheckPay->currentOrder; $history->changeIdOrderState((int) $newOrderStatusId, (int) $CheckPay->currentOrder); $history->addWithemail(); $URL = $CheckPay->getBaseURL(); $PostData .= "mer_id=" . $CheckPay->getShopCode(); $PostData .= "&enc_key=" . $CheckPay->getEncryptionCode(); $PostData .= "&payment_type=" . $CheckPay->getPaymentType(); $PostData .= "&amt=" . $inttotal; $PostData .= "&od_sob=" . $CheckPay->currentOrder; $PostData .= "&return_url=" . rawurlencode("http://" . $_SERVER["HTTP_HOST"] . $CheckPay->path . "doFictitiousDetonate.php"); // 建立CURL連線 $ch = curl_init(); // 設定擷取的URL網址 curl_setopt($ch, CURLOPT_URL, $URL); curl_setopt($ch, CURLOPT_HEADER, false); //將curl_exec()獲取的訊息以文件流的形式返回,而不是直接輸出。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //設定CURLOPT_POST 為 1或true,表示要用POST方式傳遞 curl_setopt($ch, CURLOPT_POST, 0); //CURLOPT_POSTFIELDS 後面則是要傳接的POST資料。 curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);