Пример #1
0
//==============spcheck檢查碼
function gwSpcheck($s, $U)
{
    //算出認證用的字串
    $a = substr($U, 0, 1) . substr($U, 2, 1) . substr($U, 4, 1);
    //取出檢查碼的跳字組合 1,3,5 字元
    $b = substr($U, 1, 1) . substr($U, 3, 1) . substr($U, 5, 1);
    //取出檢查碼的跳字組合 2,4,6 字元
    $c = $s % $U + $s + $a + $b;
    //取餘數 + 檢查碼 + 奇位跳字組合 + 偶位跳字組合
    return $c;
    //最大9碼輸出
}
$TOkSi = substr($rehohsn, 8, 6) + $Cxc[3] + $amount;
//process_time+gwsr+amount
$spcheck = gwSpcheck($form['chma'], $TOkSi);
//商店檢查碼,值
//==============spcheck檢查碼 end
//==================新的幕後回傳檢核
$rech_time = substr($rehohsn, 0, 14);
//20121231101030 回傳的時間dt
$rech_sr = $Cxc[3];
//單號
$rech_chma = $form['chma'];
//店家檢查碼
$rech_amount = $amount;
$rech_body = $rech_time . $rech_sr . $rech_amount;
$rech_key = data_crypt($rech_chma, $rech_body, 'encrypt');
//加密後的資料
//======
//==============送出電子發票
Пример #2
0
define('IN_DISCUZ', true);
include_once '../../config.inc.php';
require_once '../../include/global.func.php';
require_once '../../include/db_' . $database . '.class.php';
include_once '../../forumdata/cache/plugin_greenworld.php';
$chk = $_DPLUGIN['greenworld']['vars']['ecpay_chk'];
function gwSpcheck($s, $U)
{
    $a = substr($U, 0, 1) . substr($U, 2, 1) . substr($U, 4, 1);
    $b = substr($U, 1, 1) . substr($U, 3, 1) . substr($U, 5, 1);
    $c = $s % $U + $s + $a + $b;
    return $c;
}
$TOkSi = $_REQUEST['process_time'] + $_REQUEST['gwsr'] + $_REQUEST['amount'];
$my_spcheck = gwSpcheck($chk, $TOkSi);
$res_str = "<center><div style='background-color:white'>";
$db = new dbstuff();
$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, true, $dbcharset);
$db->select_db($dbname);
$orderid = $_REQUEST['orderid'];
$status = 1;
$buyer = $_REQUEST['buyer'];
$uid = $_REQUEST['uid'];
$amount = $_REQUEST['amount'];
$price = $_REQUEST['price'];
$submitdate = $_REQUEST['submitdate'];
$db->query("INSERT INTO {$tablepre}orders (orderid, status, buyer, admin, uid, amount, price, submitdate, confirmdate)VALUES ('{$orderid}', '{$status}', '{$buyer}', 'admin', {$uid}, {$amount}, {$price}, {$submitdate}, 0)");
$amt = 0;
$query = $db->query("SELECT * FROM {$tablepre}orders WHERE orderid = '{$orderid}'");
while ($t = $db->fetch_array($query)) {
Пример #3
0
 /**
  * 处理函数
  */
 function respond()
 {
     if ($_REQUEST['succ'] == '1') {
         $_REQUEST['c_succmark'] = 'Y';
     }
     if ($_REQUEST['succ'] == '0') {
         $_REQUEST['c_succmark'] = 'N';
     }
     $payment = get_payment('gw_allpay6');
     //print_r($_REQUEST);
     $c_mid = $_REQUEST['c_mid'];
     $c_order = $_REQUEST['od_sob'];
     //訂單編號
     $c_orderamount = $_REQUEST['amount'];
     //商户提供的订单总金额,
     $c_ymd = $_REQUEST['process_date'];
     //商户传输过来的订单产生日期,格式为"yyyymmdd",如20050102
     $c_transnum = $_REQUEST['gwsr'];
     //云网支付网关提供的该笔订单的交易流水号,
     $c_succmark = $_REQUEST['c_succmark'];
     //交易成功标志,Y-成功 N-失败
     $c_moneytype = $_REQUEST['c_moneytype'];
     //支付币种,0为人民币
     $c_cause = $_REQUEST['response_msg]'];
     //如果订单支付失败,则该值代表失败原因
     $c_memo1 = $_REQUEST['c_memo1'];
     //商户提供的需要在支付结果通知中转发的商户参数一
     $c_memo2 = $_REQUEST['c_memo2'];
     //商户提供的需要在支付结果通知中转发的商户参数二
     $c_signstr = $_REQUEST['inspect'];
     //云网支付网关对已上信息进行MD5加密后的字
     $c_checkcode = trim($payment['gw_allpay6_checkcode']);
     $c_installmente = trim($payment['gw_allpay6_installment']);
     function gwSpcheck($s, $U)
     {
         //算出認證用的字串
         $a = substr($U, 0, 1) . substr($U, 2, 1) . substr($U, 4, 1);
         //取出檢查碼的跳字組合 1,3,5 字元
         $b = substr($U, 1, 1) . substr($U, 3, 1) . substr($U, 5, 1);
         //取出檢查碼的跳字組合 2,4,6 字元
         $c = $s % $U + $s + $a + $b;
         //取餘數 + 檢查碼 + 奇位跳字組合 + 偶位跳字組合
         return $c;
     }
     $TOkSi = $_REQUEST['process_time'] + $_REQUEST['gwsr'] + $_REQUEST['amount'];
     $my_spcheck = gwSpcheck($c_checkcode, $TOkSi);
     /*if(intval(order_amount($c_order))==intval($c_orderamount)){
           $checkAmount="1";
       };*/
     if (check_money($c_order, $c_orderamount)) {
         $checkAmount = "1";
     }
     /* echo '$c_orderamount='.$c_orderamount.'<br>'        ;
        echo '$c_order='.$c_order.'<br>';
        echo '$my_spcheck='.$my_spcheck.'<br>';
        echo '$_REQUEST["spcheck"]='.$_REQUEST['spcheck'].'<br>';
        echo '$_REQUEST["succ"]='.$_REQUEST['succ'].'<br>';
        echo '$checkAmount='.$checkAmount.'<br>'; */
     if ($my_spcheck != $_REQUEST['spcheck'] || $_REQUEST['succ'] != '1' || $checkAmount != "1") {
         echo '失敗';
         return false;
     } else {
         $note = '歐付寶交易流水号:' . $c_transnum . ' 總金額:' . $c_orderamount;
         if ($_REQUEST['inv_error'] == "0") {
             $note .= ',發票開立成功。';
         } else {
             if ($_REQUEST['inv_error'] == "") {
                 $note .= ',未開立發票。';
             } else {
                 $note .= ',發票錯誤代碼' . $_REQUEST['inv_error'];
             }
         }
         /* 改变订单状态 */
         // PS_PAYING  代表已經付款
         // PS_PAYED   代表還沒有付款
         //echo $c_order."-".PS_PAYED."-".$c_ymd."<br>";
         order_paid($c_order, PS_PAYED, $note);
         //exit;
         //order_paid($c_memo2, PS_PAYING, $note);
         return true;
     }
 }
Пример #4
0
 */
function gwSpcheck($s, $U)
{
    //
    $a = substr($U, 0, 1) . substr($U, 2, 1) . substr($U, 4, 1);
    // 取出檢查碼的跳字組合 1,3,5 字元
    $b = substr($U, 1, 1) . substr($U, 3, 1) . substr($U, 5, 1);
    // 取出檢查碼的跳字組合 2,4,6 字元
    $c = $s % $U + $s + $a + $b;
    // 取餘數 + 檢查碼 + 奇位跳字組合 + 偶位跳字組合
    return $c;
    // 最大9碼輸出
}
$szToken = substr($szTradeDateTime, 8, 6) + $szMerchantTradeNo + $nTradeAmount;
//
$szSpcheck = gwSpcheck($arUser['chma'], $szToken);
//商店檢查碼,值
// 新的幕後回傳檢核參數
$szRechTime = substr($szTradeDateTime, 0, 14);
// 20121231101030 回傳的時間
$szRechSr = $szMerchantTradeNo;
// 單號
$szRechChma = $arUser['chma'];
// 店家檢查碼
$szRechAmount = $nTradeAmount;
$szRechBody = $szRechTime . $szRechSr . $szRechAmount;
$szRechKey = data_crypt($szRechChma, $szRechBody, 'encrypt');
// 加密後的資料
$nClient = $arOrigionAuth['client'];
/*
// 送出電子發票
Пример #5
0
<?php

require '../../source/class/class_core.php';
$discuz = C::app();
$discuz->init();
$arr = C::t('common_plugin')->fetch_by_identifier('gw');
$pluginid = $arr['pluginid'];
foreach (C::t('common_pluginvar')->fetch_all_by_pluginid($pluginid) as $plugin) {
    $vars[$plugin['variable']] = $plugin['value'];
}
$ecpay_chk = $vars['stage_ecpay_chk'];
$TOkSi = $_REQUEST['process_time'] + $_REQUEST['gwsr'] + $_REQUEST['amount'];
$my_spcheck = gwSpcheck($ecpay_chk, $TOkSi);
$amt = 0;
$query = DB::query("SELECT * FROM " . DB::table('forum_order') . " where orderid = '" . $orderid . "'");
while ($order_rec = DB::fetch($query)) {
    $amt = $order_rec['amount'];
}
$res_str = "<center><div style='background-color:white'>";
if ($my_spcheck == $_REQUEST['spcheck'] && $_REQUEST['succ'] == '1' && $amt == $amount) {
    insert($_REQUEST['od_sob']);
    $res_str .= "<FONT COLOR='green'>交易成功";
} else {
    $res_str .= "<FONT COLOR='red'>交易失敗";
}
$home = strrpos($_SERVER['REQUEST_URI'], '/api');
$cur_url = "http://" . $_SERVER['HTTP_HOST'] . substr($_SERVER['REQUEST_URI'], 0, $home);
$res_str .= "</FONT> <a href='" . $cur_url . "'>回首頁</a></div></center>";
echo $res_str;
function gwSpcheck($s, $U)
{
Пример #6
0
<?php

require '../../source/class/class_core.php';
$discuz = C::app();
$discuz->init();
$arr = C::t('common_plugin')->fetch_by_identifier('gw');
$pluginid = $arr['pluginid'];
foreach (C::t('common_pluginvar')->fetch_all_by_pluginid($pluginid) as $plugin) {
    $vars[$plugin['variable']] = $plugin['value'];
}
$allpay_chk = $vars['allpay_chk'];
$TOkSi = $_REQUEST['process_time'] + $_REQUEST['gwsr'] + $_REQUEST['amount'];
$my_spcheck = gwSpcheck($allpay_chk, $TOkSi);
$amt = 0;
$query = DB::query("SELECT * FROM " . DB::table('forum_order') . " where orderid = '" . $orderid . "'");
while ($order_rec = DB::fetch($query)) {
    $amt = $order_rec['amount'];
}
$res_str = "<center><div style='background-color:white'>";
if ($my_spcheck == $_REQUEST['spcheck'] && $_REQUEST['succ'] == '1' && $amt == $amount) {
    insert($_REQUEST['od_sob']);
    $res_str .= "<FONT COLOR='green'>交易成功";
} else {
    $res_str .= "<FONT COLOR='red'>交易失敗";
}
$home = strrpos($_SERVER['REQUEST_URI'], '/api');
$cur_url = "http://" . $_SERVER['HTTP_HOST'] . substr($_SERVER['REQUEST_URI'], 0, $home);
$res_str .= "</FONT> <a href='" . $cur_url . "'>回首頁</a></div></center>";
echo $res_str;
function gwSpcheck($s, $U)
{
Пример #7
0
//==============spcheck檢查碼
function gwSpcheck($s, $U)
{
    //算出認證用的字串
    $a = substr($U, 0, 1) . substr($U, 2, 1) . substr($U, 4, 1);
    //取出檢查碼的跳字組合 1,3,5 字元
    $b = substr($U, 1, 1) . substr($U, 3, 1) . substr($U, 5, 1);
    //取出檢查碼的跳字組合 2,4,6 字元
    $c = $s % $U + $s + $a + $b;
    //取餘數 + 檢查碼 + 奇位跳字組合 + 偶位跳字組合
    return $c;
    //最大9碼輸出
}
$TOkSi = substr($bbx[dt], 8, 6) + $bbx[sr] + $bbx[amount];
//process_time+gwsr+amount
$spcheck = gwSpcheck($MidO['chma'], $TOkSi);
//商店檢查碼,值
//==============spcheck檢查碼 end
//==================新的幕後回傳檢核
$rech_time = substr($bbx[dt], 0, 14);
//20121231101030 回傳的時間dt
$rech_sr = $bbx[sr];
//單號
$rech_chma = $MidO['chma'];
//店家檢查碼
$rech_amount = $bbx[amount];
$rech_body = $rech_time . $rech_sr . $rech_amount;
$rech_key = data_crypt($rech_chma, $rech_body, 'encrypt');
//加密後的資料
//======
//==============補觸發不作送出電子發票
Пример #8
0
 $order_id = intval(vmGet($_REQUEST, "order_id"));
 $q = "SELECT order_status FROM #__{vm}_orders WHERE ";
 $q .= "#__{vm}_orders.user_id= " . $auth["user_id"] . " ";
 $q .= "AND #__{vm}_orders.order_id= {$order_id} ";
 $db->query($q);
 if ($db->next_record()) {
     $order_status = $db->f("order_status");
     if ($order_status == 'C' || $order_status == 'P') {
         //print_r($_REQUEST);
         $process_time = trim(stripslashes($_POST['process_time']));
         $gwsr = trim(stripslashes($_POST['gwsr']));
         $amount = trim(stripslashes($_POST['amount']));
         $spcheck = trim(stripslashes($_POST['spcheck']));
         $succ = trim(stripslashes($_POST['succ']));
         $checkcode = ECPAY_CHECKCODE;
         $strAuth = gwSpcheck($process_time, $gwsr, $amount, $spcheck, $checkcode);
         $d['order_id'] = $_REQUEST["order_id"];
         if ($strAuth == 'YES' && $succ == '1') {
             $d['order_status'] = 'C';
             echo '<img src="' . VM_THEMEURL . 'images/button_ok.png"     align="middle" alt="' . $VM_LANG->_('VM_CHECKOUT_SUCCESS') . '" border="0" />';
             echo "付款已經完成";
             require_once CLASSPATH . 'ps_order.php';
             $ps_order = new ps_order();
             $ps_order->order_status_update($d);
         } else {
             $d['order_status'] = 'X';
             echo '<img src="' . VM_THEMEURL . 'images/button_cancel.png" align="middle" alt="' . $VM_LANG->_('VM_CHECKOUT_FAILURE') . '" border="0" />';
             echo "付款失敗,點選下列 < 點擊此鏈結查看訂單詳情 > 可重新進行線上刷卡支付";
         }
         echo '<br /><p><a href="index.php?option=com_virtuemart&page=account.order_details&order_id=' . $order_id . '">' . $VM_LANG->_('PHPSHOP_ORDER_LINK') . '</a></p>';
     } else {