www.gusucode.com > Destoon B2B仿淘宝电子商务网站 UTF8 v6.0源码程序 > destoon/api/pay/yeepay/receive.inc.php
<?php defined('IN_DESTOON') or exit('Access Denied'); /* * @Description 易宝支付B2C在线支付接口范例 * @V3.0 * @Author rui.xin */ include DT_ROOT.'/api/pay/'.$bank.'/yeepayCommon.php'; # 只有支付成功时易宝支付才会通知商户. ##支付成功回调有两次,都会通知到在线支付请求参数中的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"){ if($r6_Order != $charge_orderid) { $charge_status = 2; $charge_errcode = '订单号不匹配'; #$note = $charge_errcode.'S:'.$charge_orderid.'R:'.$r6_Order; #log_write($note, 'ryeepay'); } else if($r3_Amt != $charge_money) { $charge_status = 2; $charge_errcode = '充值金额不匹配'; $note = charge_errcode.'S:'.$charge_money.'R:'.$r3_Amt; log_write($note, 'ryeepay'); } else { $charge_status = 1; } //echo "交易成功"; //echo "<br />在线支付页面返回"; }elseif($r9_BType=="2"){ #如果需要应答机制则必须回写流,以success开头,大小写不敏感. //echo "success"; //echo "<br />交易成功"; //echo "<br />在线支付服务器返回"; } } }else{ //echo "交易信息被篡改"; } ?>