WordPress主题RiPro 优化(第二期:码支付)

WordPress主题RiPro 优化(第二期:码支付)
WordPress主题RiPro 优化(第二期:码支付
本期内容:修复解密版 码支付 回调问题(支持4.6及以下版本)
修复思路及处理过程
经过对除码支付外的其他支付模块研究发现,支付回调代码一致,皆为如图所示代码
WordPress主题RiPro 优化(第二期:码支付)-度崩网-几度崩溃
那么问题也来了,本人将码支付回调模块中的“send_order_trade_success($out_trade_no,$trade_no);”替换为上图所示代码,支付测试,码支付后台提示通知成功,但网站无回调
通过对返回参数的深入剖悉发现,支付成功后需要先验证数据库是否存在商户本地单号“$out_trade_no”,因此修改“send_order_trade_success($out_trade_no,$trade_no);”为如下格式
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
global $wpdb;
global $order_table_name;
$data = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . $order_table_name . " WHERE order_trade_no = %s AND status = 0 ", $out_trade_no));
if($data){
        // 验证通过 获取基本信息
   $ShopOrder = new ShopOrder();
   $order     = $ShopOrder->get($out_trade_no);
        // 是否有效订单 && 订单类型为充值
    if ($order && $order->order_type == 'charge') {
        // 实例化用户信息
        $CaoUser = new CaoUser($order->user_id);
        // 计算充值数量
        $charge_rate  = (int) _cao('site_change_rate'); //充值比例
        $old_money    = $CaoUser->get_balance(); //用户原来余额
        $charge_money = sprintf('%0.2f', $order->order_price * $charge_rate); // 实际充值数量
        //更新用户余额信息
        if ($CaoUser->update_balance($charge_money)) {
            // 写入记录
            $Caolog    = new Caolog();
            $new_money = $old_money + $charge_money; //充值后金额
            $note      = '支付宝-在线充值 [¥' . $order->order_price . '] +' . $charge_money;
            $Caolog->addlog($order->user_id, $old_money, $charge_money, $new_money, 'charge', $note);
            //更新订单状态
            $ShopOrder->update($out_trade_no, $trade_no);
            //发放佣金 查找推荐人
            add_to_user_bonus($order->user_id,$charge_money);
            //发送邮件
            $obj_user = get_user_by('ID', $order->user_id);
            _sendMail($obj_user->user_email, '支付成功', $note);
        }
    }
}
OK,问题解决,支付回调成功!!!但是发现这样看起来让人难以接收,而在类“ShopOrder”中我们可以使用“$ShopOrder->get($out_trade_no);” 取得本地单号,这样一来反而是多此一举,后经过多次测试,得出如下结果:
1.保持“send_order_trade_success($out_trade_no,$trade_no);”不变,对其进行申明即可
2.在functions.php 中添加如下声明
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function send_order_trade_success($out_trade_no,$trade_no){
        
        $ShopOrder = new ShopOrder();
        $order     = $ShopOrder->get($out_trade_no);
    // 是否有效订单 && 订单类型为充值
    if ($order && $order->order_type == 'charge') {
        // 实例化用户信息
        $CaoUser = new CaoUser($order->user_id);
        // 计算充值数量
        $charge_rate  = (int) _cao('site_change_rate'); //充值比例
        $old_money    = $CaoUser->get_balance(); //用户原来余额
        $charge_money = sprintf('%0.2f', $order->order_price * $charge_rate); // 实际充值数量
        //更新用户余额信息
        if ($CaoUser->update_balance($charge_money)) {
            // 写入记录
            $Caolog    = new Caolog();
            $new_money = $old_money + $charge_money; //充值后金额
            $note      = '在线充值'. $charge_money.' 积分成功,收益[¥' . $order->order_price . ']';
            $Caolog->addlog($order->user_id, $old_money, $charge_money, $new_money, 'charge', $note);
            //更新订单状态
            $ShopOrder->update($out_trade_no, $trade_no);
            //发放佣金 查找推荐人
            add_to_user_bonus($order->user_id,$charge_money);
            //发送邮件
            $obj_user = get_user_by('ID', $order->user_id);
            _sendMail($obj_user->user_email, '支付成功', $note);
        }
    }
}
就此,码支付回调问题完美解决
若有其他不足之处或建议,欢迎指出,若觉得有用,请大家给点评分,不甚感激
转载自吾爱破解

 

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress主题RiPro优化[建站教程]

2019-12-17 11:28:21

WordPress教程

关于本站ripro主题4.8版本后门分析[建站教程]

2019-12-17 17:58:20

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索