Exemplo n.º 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'));
         }
     }
 }
Exemplo n.º 2
0
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);
        }
Exemplo n.º 3
0
<?php

require_once dirname(dirname(dirname(__FILE__))) . '/app.php';
require_once WWW_ROOT . '/order/yeepay/yeepayCommon.php';
$p1_MerId = $INI['yeepay']['mid'];
$merchantKey = $INI['yeepay']['sec'];
$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, $p1_MerId, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac, $merchantKey);
if ($bRet) {
    if ($r1_Code == "1") {
        list($_, $order_id, $city_id, $_) = explode('-', $r6_Order, 4);
        if ($r9_BType == "1") {
            /* charge */
            if ($_ == 'charge') {
                @(list($_, $user_id, $create_time, $_) = explode('-', $r6_Order, 4));
                $service = 'yeepay';
                if (ZFlow::CreateFromCharge($r3_Amt, $user_id, $create_time, $service)) {
                    Session::Set('notice', "在线充值{$r3_Amt}元成功!");
                }
                redirect(WEB_ROOT . '/credit/index.php');
            }
            /* end charge */
            $currency = 'CNY';
            $service = 'yeepay';
            $bank = '易宝';
            ZOrder::OnlineIt($order_id, $r6_Order, $r3_Amt, $currency, $service, $bank);
            redirect(WEB_ROOT . "/order/pay.php?id={$order_id}");
        } else {
            if ($r9_BType == "2") {
                //如果需要应答机制则必须回写流,以success开头,大小写不敏感.
                /* charge */
Exemplo n.º 4
0
/*
 2011-2-18
*/
require_once dirname(__FILE__) . '/./../../framwork/MooPHP.php';
require_once dirname(__FILE__) . '/./config.php';
require_once dirname(__FILE__) . '/./function.php';
require_once dirname(__FILE__) . '/./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);
$uid = substruid($r6_Order, 14);
if (empty($uid)) {
    MooMessage('您的请求有误。', '../../index.php?n=payment');
}
$payment = $payment_code['yeepay'];
#   判断返回签名是否正确(True/False)
$bRet = CheckHmac($payment['p1_MerId'], $r0_Cmd, $r1_Code, $r2_TrxId, $r3_Amt, $r4_Cur, $r5_Pid, $r6_Order, $r7_Uid, $r8_MP, $r9_BType, $hmac, $payment['merchantKey']);
//$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") {
            //用户成功提示
            $paytime = date("Y.m.d H:i:s");
            $bank_type = urlencode('易宝支付');
            $payurl = array('pay' => '1', 'out_trade_no' => $r6_Order, 'paytime' => $paytime, 'bank_type' => $bank_type, 'trade_state' => 0, 'get_img' => '05.gif', 'img' => $r8_MP, 'total_fee' => $r3_Amt, 'uid' => $uid);
            //会员ID
            $payurl = implode(',', $payurl);
            $payurl = $payurl . ',yeepay';
            $jump = '../../index.php?n=payment&h=payreturnurl&payurl=' . $payurl;
            echo '<script language="JavaScript">self.location=\'' . $jump . '\';</script>';
Exemplo n.º 5
0
$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');
            $payflag = $paylog->getVar('payflag');
            $egold = $paylog->getVar('egold');