fix: alinPay参数类型强转+空响应处理+错误日志增强
This commit is contained in:
@@ -84,7 +84,13 @@ trait alinPay
|
||||
$alinPay = new \pay\AlinPay();
|
||||
$result = $alinPay->createOrder($pay_orderid, sprintf('%.2f', $money), $notify_url, 'uid:' . $user_id);
|
||||
|
||||
if (is_array($result) && isset($result['code']) && $result['code'] == 200) {
|
||||
// 空响应处理(curl失败/DNS/超时等)
|
||||
if (!is_array($result)) {
|
||||
addLogToFile('代收下单:API无响应或返回非JSON,result=' . var_export($result, true), 'alin_error', 'alin');
|
||||
return json(['status' => 0, 'message' => '支付通道无响应,请稍后再试']);
|
||||
}
|
||||
|
||||
if (isset($result['code']) && $result['code'] == 200) {
|
||||
$returnUrl = $result['data']['url'] ?? '';
|
||||
|
||||
if (!$returnUrl) {
|
||||
@@ -120,12 +126,13 @@ trait alinPay
|
||||
|
||||
return json(['status' => 1, 'message' => '发起支付成功,即将跳转...', 'url' => $returnUrl]);
|
||||
} else {
|
||||
$errMsg = $result['message'] ?? '未知错误';
|
||||
$errMsg = isset($result['message']) ? $result['message'] : '未知错误(code=' . ($result['code'] ?? 'null') . ')';
|
||||
addLogToFile('代收下单失败:' . json_encode($result, JSON_UNESCAPED_UNICODE), 'alin_error', 'alin');
|
||||
return json(['status' => 0, 'message' => '支付发起失败:' . $errMsg]);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
addLogToFile('代收下单异常:' . $e->getMessage(), 'alin_error', 'alin');
|
||||
return json(['status' => 0, 'message' => '支付发起失败,请稍后再试']);
|
||||
addLogToFile('代收下单异常:' . $e->getMessage() . ' | file:' . $e->getFile() . ':' . $e->getLine(), 'alin_error', 'alin');
|
||||
return json(['status' => 0, 'message' => '支付发起失败[' . $e->getMessage() . ']']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user