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')); } } }
<?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);
/* 返回参数 $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');
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(); }