支付成功的后置业务逻辑 function pay_success_logic$users_id = 0 $order_code = $pay_details = $paycode = alipay $notify = true $pay_method_arr = configglobalpay_method_arr; $where =
/**
* 支付成功的后置业务逻辑
*/
function pay_success_logic($users_id = 0, $order_code = '', $pay_details = [], $paycode = 'alipay', $notify = true)
{
$pay_method_arr = config('global.pay_method_arr');
$where = [
'order_code' => $order_code,
];
!empty($users_id) && $where['users_id'] = intval($users_id);
$orderData = \think\Db::name('shop_order')->where($where)->find();
if (empty($orderData)) {
return [
'code' => 0,
'msg' => '该订单不存在!',
];
}
else if (0 == $orderData['order_status']) {
$saveData = [
'order_status' => 1,
'pay_details' => serialize($pay_details),
'pay_time' => getTime(),
'update_time' => getTime(),
];
if ('wechat' != $paycode) {
$saveData['pay_name'] = $paycode;
$saveData['wechat_pay_type'] = ''; // 清空微信标志
}
$where = [
'order_id' => $orderData['order_id'],
'users_id' => $orderData['users_id'],
];
$ret = \think\Db::name('shop_order')->where($where)->update($saveData);
if (false !== $ret) {
//埋码
diy_api_code_push($orderData);
echo '<script>';
echo '_baq.track("active_pay", { assets_id: "1774573811565571", product_name: "鲜花"})';
echo '</script>';
// 更新订单变量,保存最新数据
$orderData = array_merge($orderData, $saveData);
if (!empty($paycode) && isset($pay_method_arr[$paycode])){
$orderData['pay_method'] = $pay_method_arr[$paycode];
$actionNote = "使用{$pay_method_arr[$paycode]}完成支付";
} else {
$orderData['pay_method'] = '';
$actionNote = "完成支付";
}
// 添加订单操作记录
AddOrderAction($orderData['order_id'], $orderData['users_id'], 0, 1, 0, 1, "支付成功", $actionNote);
// 发送站内信给后台
SendNotifyMessage($orderData, 5, 1, 0);
// 虚拟自动发货
$PayModel = new \app\user\model\Pay;
$autoSendGoods = $PayModel->afterVirtualProductPay($orderData);
$data = [];
if (false === $autoSendGoods && true === $notify) {
$users = \think\Db::name('users')->field('*')->find($orderData['users_id']);
// 邮箱发送
$data['email'] = GetEamilSendData(tpCache('smtp'), $users, $orderData, 1, $paycode);
// 手机发送
$data['mobile'] = GetMobileSendData(tpCache('sms'), $users, $orderData, 1, $paycode);
}
if ('balance' == $paycode) {
$users = empty($users) ? \think\Db::name('users')->field('*')->find($orderData['users_id']) : $users;
UsersMoneyRecording($order_code, $users, $orderData['order_amount'], '商品购买', 3);
}
// 订单操作完成,返回跳转
$url = url('user/Shop/shop_centre');
if (true === $autoSendGoods) {
$msg = '支付订单完成!';
} else {
$msg = '支付成功,处理订单完成!';
}
return [
'code' => 1,
'msg' => $msg,
'url' => $url,
'data' => $data,
];
}
else {
return [
'code' => 0,
'msg' => '支付成功,处理订单失败!',
];
}
}
else if (1 <= $orderData['order_status'] && $orderData['order_status'] <= 3) {
return [
'code' => 1,
'msg' => '已支付',
];
}
else if (4 == $orderData['order_status']) {
return [
'code' => 0,
'msg' => '该订单已过期!',
];
}
else {
return [
'code' => 0,
'msg' => '该订单不存在或已关闭!',
];
}
}
/**
* 添加JS代码
*/
function add_js_code($code)
{
echo '<script>';
echo $code;
echo '</script>';
}
``
原文地址: https://www.cveoy.top/t/topic/iL9C 著作权归作者所有。请勿转载和采集!