网站接入微信支付,使用了yansongda/pay,遇到YansongdaPayExceptionInvalidResponseException异常,但是没有异常说明,解决办法是通过try catch手动抛出异常信息。

try{
    $wechatOrder = Pay::wechat()->scan([
        'out_trade_no' => $order->no,  // 商户订单流水号,与支付宝 out_trade_no 一样
        'description' => '报名费:'.$order->no, // 订单描述
        'amount' => [
            'total' => $order->total_amount * 100, // 与支付宝不同,微信支付的金额单位是分。
        ],
    ]);
}catch(Exception $e){
    dd($e);
}

这样就可以看到异常详情了,根据实际情况解决问题即可。

我遇到的异常是:Http头Authorization中的timestamp与发起请求的时间不得超过5分钟,根据官方文档提示:请检查系统时间是否准确,或者获取时间的逻辑是否正确。检查了系统时间,发现系统时间快了15分钟,同步一下异常消失。