注意:码支付回调问题修复主要本次修复针对4.9及以下版本的解密版。
修改RiPro主题根目录下的 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);
}
}
}
修改shop\codepay目录下的 notify.php 第31行
原代码:send_order_trade_notify_succ($out_trade_no,$trade_no,'ripropaysucc');
修改为:send_order_trade_success($out_trade_no,$trade_no);
收藏