mirror of
https://gitee.com/technical-laohu/mpay.git
synced 2025-09-17 09:16:40 +08:00
更新订单回调通知逻辑
This commit is contained in:
parent
2515515182
commit
f9c804c1e5
@ -97,7 +97,12 @@ class PayController
|
|||||||
$sign = self::getSign($notify, $user_key);
|
$sign = self::getSign($notify, $user_key);
|
||||||
$notify['sign'] = $sign;
|
$notify['sign'] = $sign;
|
||||||
// 跳转通知URL
|
// 跳转通知URL
|
||||||
$res_return_url = $act_order->return_url . '?' . http_build_query($notify);
|
$res_return_url = '';
|
||||||
|
if (strpos($act_order->return_url, '?')) {
|
||||||
|
$res_return_url = $act_order->return_url . '&' . http_build_query($notify);
|
||||||
|
} else {
|
||||||
|
$res_return_url = $act_order->return_url . '?' . http_build_query($notify);
|
||||||
|
}
|
||||||
// 响应消息
|
// 响应消息
|
||||||
$data['order_id'] = $act_order->order_id;
|
$data['order_id'] = $act_order->order_id;
|
||||||
$data['passtime'] = $passtime > 0 ? $passtime : 0;
|
$data['passtime'] = $passtime > 0 ? $passtime : 0;
|
||||||
@ -187,7 +192,13 @@ class PayController
|
|||||||
$sign = self::getSign($notify, $user_key);
|
$sign = self::getSign($notify, $user_key);
|
||||||
$notify['sign'] = $sign;
|
$notify['sign'] = $sign;
|
||||||
// 异步通知
|
// 异步通知
|
||||||
$res_notify = self::getHttpResponse($order->notify_url . '?' . http_build_query($notify));
|
$notify_url = '';
|
||||||
|
if (strpos($order->notify_url, '?')) {
|
||||||
|
$notify_url = $order->notify_url . '&' . http_build_query($notify);
|
||||||
|
} else {
|
||||||
|
$notify_url = $order->notify_url . '?' . http_build_query($notify);
|
||||||
|
}
|
||||||
|
$res_notify = self::getHttpResponse($notify_url);
|
||||||
if ($res_notify === 'success') {
|
if ($res_notify === 'success') {
|
||||||
return ['order' => $order->order_id, 'code' => 1, 'msg' => 'notify success'];
|
return ['order' => $order->order_id, 'code' => 1, 'msg' => 'notify success'];
|
||||||
} else {
|
} else {
|
||||||
@ -314,7 +325,8 @@ class PayController
|
|||||||
'sign_type' => 'MD5',
|
'sign_type' => 'MD5',
|
||||||
];
|
];
|
||||||
// 添加扩展参数
|
// 添加扩展参数
|
||||||
$notify = array_merge($notify, unserialize($param->param));
|
// $notify = array_merge($notify, unserialize($param->param));
|
||||||
|
$notify['param'] = unserialize($param->param);
|
||||||
return $notify;
|
return $notify;
|
||||||
}
|
}
|
||||||
// 请求外部资源
|
// 请求外部资源
|
||||||
|
@ -42,7 +42,7 @@ class Order extends BaseModel
|
|||||||
// 设备类型
|
// 设备类型
|
||||||
'device' => isset($data['device']) ? $data['device'] : '',
|
'device' => isset($data['device']) ? $data['device'] : '',
|
||||||
// 业务扩展参数
|
// 业务扩展参数
|
||||||
'param' => serialize(self::getParams($data)),
|
'param' => serialize(isset($data['param']) ? $data['param'] : ''),
|
||||||
// 等待/过期:0, 支付成功:1
|
// 等待/过期:0, 支付成功:1
|
||||||
'state' => 0,
|
'state' => 0,
|
||||||
// 开启监听:1, 关闭监听:0
|
// 开启监听:1, 关闭监听:0
|
||||||
@ -148,17 +148,17 @@ class Order extends BaseModel
|
|||||||
return $channel;
|
return $channel;
|
||||||
}
|
}
|
||||||
// 获取扩展参数数组
|
// 获取扩展参数数组
|
||||||
private static function getParams(array $data): array
|
// private static function getParams(array $data): array
|
||||||
{
|
// {
|
||||||
$keys = ['pid', 'type', 'out_trade_no', 'notify_url', 'return_url', 'name', 'money', 'sign', 'sign_type'];
|
// $keys = ['pid', 'type', 'out_trade_no', 'notify_url', 'return_url', 'name', 'money', 'sign', 'sign_type'];
|
||||||
$params = [];
|
// $params = [];
|
||||||
foreach ($data as $key => $value) {
|
// foreach ($data as $key => $value) {
|
||||||
if (!in_array($key, $keys)) {
|
// if (!in_array($key, $keys)) {
|
||||||
$params[$key] = $value;
|
// $params[$key] = $value;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return $params;
|
// return $params;
|
||||||
}
|
// }
|
||||||
// 检查金额
|
// 检查金额
|
||||||
private static function checkMoney($money, $type, $aid, $cid): float
|
private static function checkMoney($money, $type, $aid, $cid): float
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user