本期内容:修复解密版 码支付 回调问题(支持4.6及以下版本)
修复思路及处理过程
经过对除码支付外的其他支付模块研究发现,支付回调代码一致,皆为如图所示代码
[源码资源]WordPress 主题 RiPro 优化 (第二期:码支付) wordpress主题/插件 第1张
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 中添加如下声明
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);
}
}
}

就此,码支付回调问题完美解决
若有其他不足之处或建议,欢迎指出,若觉得有用,请大家给点评分,不甚感激
本文最后更新于2019年12月18日,若涉及的内容可能已经失效,直接留言反馈补链即可,我们会处理,谢谢
本站所有资源收集于网络,如有侵权违规请联系联系客服处理删帖,谢谢
52草根资源 » [源码资源]WordPress 主题 RiPro 优化 (第二期:码支付)

常见问题FAQ

1.关于新手解压出错 必看(附电脑+安卓WINRAR APP)
新手必看 本站资源解压教程:http://www.52cgzys.com/76304/
2.本站Telegram群组链接
本站Telegram群组链接:https://t.me/joinchat/ElyDb9Es_YNjYjdl
3.所有礼包码下载地址:http://www.52cgzys.com/422289/
所有礼包码下载地址:http://www.52cgzys.com/422289
4.各类问题及解决处理方法合集
各类问题及解决处理方法合集:http://www.52cgzys.com/zhanwu/xinshou/

发表回复

提供最优质的资源集合

立即查看 申请友链