예제 #1
0
 public function return_url()
 {
     require_once CSCMSPATH . "pay/yeepay/yeepayCommon.php";
     $return = getCallBackValue($r0_Cmd, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac);
     $bRet = CheckHmac($r0_Cmd, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac);
     if ($bRet) {
         if ($r1_Code == "1") {
             if ($r9_BType == "1") {
                 $out_trade_no = $this->input->get_post('r6_Order', true, true);
                 $row = $this->CsdjDB->get_row('pay', '*', $out_trade_no, 'dingdan');
                 if ($row && $row->pid != 1) {
                     //增加金钱
                     $this->db->query("update " . CS_SqlPrefix . "user set rmb=rmb+" . $row->rmb . " where id=" . $row->uid . "");
                     //改变状态
                     $this->db->query("update " . CS_SqlPrefix . "pay set pid=1 where id=" . $row->id . "");
                     //发送通知
                     $add['uida'] = $row->uid;
                     $add['uidb'] = 0;
                     $add['name'] = L('pay_11');
                     $add['neir'] = L('pay_17', array($row->rmb, $out_trade_no));
                     $add['addtime'] = time();
                     $this->CsdjDB->get_insert('msg', $add);
                 }
                 msg_url(L('pay_07') . $out_trade_no, spacelink('pay'));
             } elseif ($r9_BType == "2") {
                 msg_url(L('pay_09'), spacelink('pay'));
             }
         } else {
             msg_url(L('pay_09'), spacelink('pay'));
         }
     }
 }
예제 #2
0
<?php

require_once dirname(__FILE__) . "/../../../include/common.inc.php";
require_once DEDEINC . '/shopcar.class.php';
require_once DEDEDATA . '/sys_pay.cache.php';
require_once DEDEINC . '/memberlogin.class.php';
include_once dirname(__FILE__) . '/yeepay_config.php';
$cfg_ml = new MemberLogin();
$cfg_ml->PutLoginInfo($cfg_ml->M_ID);
$cart = new MemberShops();
$cart->MakeOrders();
#	只有支付成功时易宝支付才会通知商户.
##支付成功回调有两次,都会通知到在线支付请求参数中的p8_Url上:浏览器重定向;服务器点对点通讯.
#	解析返回参数.
$return = getCallBackValue($r0_Cmd, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac);
#	判断返回签名是否正确(True/False)
$bRet = CheckHmac($r0_Cmd, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac);
#	以上代码和变量不需要修改.
#	校验码正确.
if ($bRet) {
    if ($r1_Code == "1") {
        #	需要比较返回的金额与商家数据库中订单的金额是否相等,只有相等的情况下才认为是交易成功.
        #	并且需要对返回的处理进行事务控制,进行记录的排它性处理,防止对同一条交易重复发货的情况发生.
        if ($r9_BType == "1") {
            success_db($r6_Order);
        } elseif ($r9_BType == "2") {
            #如果需要应答机制则必须回写流,以success开头,大小写不敏感.
            echo "success";
            success_db($r6_Order);
        } elseif ($r9_BType == "3") {
            success_db($r6_Order);
예제 #3
0
/* 返回参数
$sCmd = trim($_REQUEST['sCmd']);
$sErrorCode = trim($_REQUEST['sErrorCode']);
$sTrxId = trim($_REQUEST['sTrxId']);
$amount = trim($_REQUEST['amount']);
$cur = trim($_REQUEST['cur']);
$productId = trim($_REQUEST['productId']);
$orderId = trim($_REQUEST['orderId']);
$userId = trim($_REQUEST['userId']);
$MP = trim($_REQUEST['MP']);
$bType = trim($_REQUEST['bType']);
$svrHmac = trim($_REQUEST['svrHmac']);
*/
#以下代码和变量不需要修改
#解析返回参数
$return = getCallBackValue($sCmd, $sErrorCode, $sTrxId, $amount, $cur, $productId, $orderId, $userId, $MP, $bType, $svrHmac);
#判断返回签名是否正确(True/False)
$bRet = CheckHmac($sCmd, $sErrorCode, $sTrxId, $orderId, $amount, $cur, $productId, $userId, $MP, $bType, $svrHmac);
#以上代码和变量不需要修改
#校验码正确
if ($bRet) {
    if ($sErrorCode == '1') {
        #需要比较返回的金额与商家数据库中订单的金额是否相等,只有相等的情况下才认为是交易成功
        #并且需要对返回的处理进行事务控制,进行记录的排它性处理,防止对同一条交易重复发货的情况发生
        include_once $jieqiModules['pay']['path'] . '/class/paylog.php';
        $paylog_handler = JieqiPaylogHandler::getInstance('JieqiPaylogHandler');
        $orderid = intval($orderId);
        $paylog = $paylog_handler->get($orderid);
        if (is_object($paylog)) {
            $buyname = $paylog->getVar('buyname');
            $buyid = $paylog->getVar('buyid');
예제 #4
0
 public function success()
 {
     #	只有支付成功时易宝支付才会通知商户.
     ##支付成功回调有两次,都会通知到在线支付请求参数中的p8_Url上:浏览器重定向;服务器点对点通讯.
     #	解析返回参数.
     $return = getCallBackValue($r0_Cmd, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac);
     #	判断返回签名是否正确(True/False)
     //$bRet = CheckHmac($r0_Cmd,$r1_Code,$r2_TrxId,$r3_Amt,$r4_Cur,$r5_Pid,$r6_Order,$r7_Uid,$r8_MP,$r9_BType,$hmac);
     #	以上代码和变量不需要修改.
     #	校验码正确.
     if ($bRet) {
         if ($r1_Code == "1") {
             #	需要比较返回的金额与商家数据库中订单的金额是否相等,只有相等的情况下才认为是交易成功.
             #	并且需要对返回的处理进行事务控制,进行记录的排它性处理,在接收到支付结果通知后,判断是否进行过业务逻辑处理,不要重复进行业务逻辑处理,防止对同一条交易重复发货的情况发生.
             if ($r9_BType == "1") {
                 echo "交易成功";
                 echo "<br />在线支付页面返回";
             } elseif ($r9_BType == "2") {
                 #如果需要应答机制则必须回写流,以success开头,大小写不敏感.
                 echo "success";
                 echo "<br />交易成功";
                 echo "<br />在线支付服务器返回";
             }
         }
     } else {
         echo "交易信息被篡改";
     }
     $this->display();
 }