Showing
1 changed file
with
17 additions
and
3 deletions
@@ -325,14 +325,28 @@ class PaymentModel | @@ -325,14 +325,28 @@ class PaymentModel | ||
325 | $input->SetBody('有货订单号:' . $orderCode); | 325 | $input->SetBody('有货订单号:' . $orderCode); |
326 | $input->SetOut_trade_no('YOHOBuy_' . $orderCode); // 商户订单号 | 326 | $input->SetOut_trade_no('YOHOBuy_' . $orderCode); // 商户订单号 |
327 | $input->SetTotal_fee($totalFee); | 327 | $input->SetTotal_fee($totalFee); |
328 | - $input->SetTime_start(date("YmdHis")); | ||
329 | - $input->SetTime_expire(date("YmdHis", time() + 600)); | 328 | + //到期时间 |
329 | + if (!empty($orderDetail['data']['pay_expire']) && ($payExpireTime = strtotime($orderDetail['data']['pay_expire']))) { | ||
330 | + $payExpireTime = $payExpireTime; | ||
331 | + } else { | ||
332 | + $payExpireTime = time(); | ||
333 | + } | ||
334 | + | ||
335 | + $input->SetTime_start(date("YmdHis", strtotime('-2 hours', $payExpireTime))); | ||
336 | + //最短失效时间间隔必须大于5分钟 [https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1] | ||
337 | + $input->SetTime_expire(date("YmdHis", $payExpireTime + 300)); | ||
330 | $input->SetTrade_type("NATIVE"); | 338 | $input->SetTrade_type("NATIVE"); |
331 | $input->SetProduct_id($orderCode); | 339 | $input->SetProduct_id($orderCode); |
332 | $notify = new WxPayNativePay(); | 340 | $notify = new WxPayNativePay(); |
333 | $payResult = $notify->GetPayUrl($input); | 341 | $payResult = $notify->GetPayUrl($input); |
342 | + //错误信息,EQ:超时 | ||
343 | + if (!empty($payResult['return_code']) && $payResult['return_code'] === 'FAIL') { | ||
344 | + self::$code['message'] = $payResult['return_msg']; | ||
345 | + break; | ||
346 | + } | ||
334 | 347 | ||
335 | - if ($payResult['result_code'] === 'FAIL') { | 348 | + //错误信息,EQ:多次涮新 |
349 | + if (!empty($payResult['result_code']) && $payResult['result_code'] === 'FAIL') { | ||
336 | self::$code['message'] = $payResult['err_code_des']; | 350 | self::$code['message'] = $payResult['err_code_des']; |
337 | break; | 351 | break; |
338 | } | 352 | } |
-
Please register or login to post a comment