예제 #1
0
<?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;
예제 #2
0
        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);