驗簽出錯:Alipay Sign Verify FAILED
visualNext opened this issue · comments
visualNext commented
版本號
"laravel/framework": "5.8.*",
"yansongda/laravel-pay": "^2.1"
問題描述
支付寶支付成功回傳出現 Alipay Sign Verify FAILED 的錯誤訊息
支付寶密鑰取得方式
公私鑰是按照網站說明產生
https://opendocs.alipay.com/open/291/105971
代碼
config/pay.php
'alipay' => [
// 支付宝分配的 APPID
'app_id' => env('ALI_APP_ID', ''),
// 支付宝异步通知地址
'notify_url' => env('APP_URL').'/api/pay/alipay/notify',
// 支付成功后同步通知地址
'return_url' => env('APP_URL').'/api/pay/alipay/return',
// 阿里公共密钥,验证签名时使用
'ali_public_key' => env('ALI_PUBLIC_KEY', ''),
// 自己的私钥,签名时使用
'private_key' => env('ALI_PRIVATE_KEY', ''),
'log' => [
'file' => storage_path('logs/alipay.log'),
'level' => 'debug',
'type' => 'single', // optional, 可选 daily.
],
],
OrderController.php
public function notify($method)
{
if ($method == 'wechat') {
Log::info('Pay method wechat');
$pay = Pay::wechat();
} else {
Log::info('Pay method alipay');
$pay = Pay::alipay();
}
try{
Log::info('Pay notify message');
$data = $pay->verify();
$order = Order::where('order_no', $data->out_trade_no)->first();
if(!$order->status) {
$order->status = true;
$order->payment_time = Carbon::now()->toDateTimeString();
$order->save();
}
Log::debug('Pay notify', $data->all());
return response()->json([
'status' => 'success',
'data' => $pay->success()
]);
} catch (\Exception $e) {
Log::error($e->getMessage());
return response()->json([
'status' => 'error',
'message' => trans('api.pay_error')
]);
}
}
public function return($method)
{
$data = Pay::alipay()->verify();
}
Alipay 日誌
yansongda.pay.WARNING > Alipay Sign Verify FAILED {"gmt_create":"2020-05-05 10:39:11","charset":"utf-8","seller_email":"*****","subject":"企业方案-10","sign":"*****","buyer_id":"2088522069415796","invoice_amount":"0.01","notify_id":"2020050500222103912015791423061300","fund_bill_list":"[{\"amount\":\"0.01\",\"fundChannel\":\"ALIPAYACCOUNT\"}]","notify_type":"trade_status_sync","trade_status":"TRADE_SUCCESS","receipt_amount":"0.01","app_id":"2017082308341861","buyer_pay_amount":"0.01","sign_type":"RSA2","seller_id":"2088721642933483","gmt_payment":"2020-05-05 10:39:12","notify_time":"2020-05-05 10:39:12","version":"1.0","out_trade_no":"e94ce5b7a47827a9bc3fb9c48beca5ad","total_amount":"0.01","trade_no":"2020050522001415791446123599","auth_app_id":"2017082308341861","buyer_logon_id":"183****4684","point_amount":"0.00"}
Laravel 日誌
[2020-05-05 10:39:13] local.INFO: Pay method alipay
[2020-05-05 10:39:13] local.INFO: Pay notify message
[2020-05-05 10:39:13] local.ERROR: INVALID_SIGN: Alipay Sign Verify FAILED
Aoeng commented
我也遇到了这个问题,查询find
提示Alipay Sign Verify FAILED
但是却打印出了成功的查询结果!
{"alipay_trade_query_response":{"code":"10000","msg":"Success","buyer_logon_id":"188******31","buyer_pay_amount":"0.00","buyer_user_id":"2088212773163646","invoice_amount":"0.00","out_trade_no":"O20200721150756128","point_amount":"0.00","receipt_amount":"0.00","send_pay_date":"2020-07-21 15:08:01","total_amount":"0.01","trade_no":"2020072122001463641436941420","trade_status":"TRADE_SUCCESS"},"sign":"ubXu0RElcqekB9zAZ/2jeqrwhLudToBlYmqbUBVk6XTZrQkTnfydoOM6qua0roSpfHcIbmPsZnA2pvVyBgW0OkkzBElAQXOaqWO14YlXGhjUxaLAci8qfagxh65Uz6t4EvaR8UCjiizWEZFcAaO/Tgv/2KF75ASBeR+mmgo/Au9pDV/ltAzvvdaYX/YQOcmk+Efm/j2IeV2zI0SznwFduhqec93Oxh0jxcH9x5K0LZ1ybDsGNd4vC5Wq3lwAPa3gwGgwO8fbGCVj4yI4debuxM08HvtaPynS9ttouzUU+h6KelaXByYiT8QVbSqywWhCOf51NtscI059PSroXdpL+w=="}
Leslack commented
我也遇到了这个问题,查询
find
提示Alipay Sign Verify FAILED
但是却打印出了成功的查询结果!{"alipay_trade_query_response":{"code":"10000","msg":"Success","buyer_logon_id":"188******31","buyer_pay_amount":"0.00","buyer_user_id":"2088212773163646","invoice_amount":"0.00","out_trade_no":"O20200721150756128","point_amount":"0.00","receipt_amount":"0.00","send_pay_date":"2020-07-21 15:08:01","total_amount":"0.01","trade_no":"2020072122001463641436941420","trade_status":"TRADE_SUCCESS"},"sign":"ubXu0RElcqekB9zAZ/2jeqrwhLudToBlYmqbUBVk6XTZrQkTnfydoOM6qua0roSpfHcIbmPsZnA2pvVyBgW0OkkzBElAQXOaqWO14YlXGhjUxaLAci8qfagxh65Uz6t4EvaR8UCjiizWEZFcAaO/Tgv/2KF75ASBeR+mmgo/Au9pDV/ltAzvvdaYX/YQOcmk+Efm/j2IeV2zI0SznwFduhqec93Oxh0jxcH9x5K0LZ1ybDsGNd4vC5Wq3lwAPa3gwGgwO8fbGCVj4yI4debuxM08HvtaPynS9ttouzUU+h6KelaXByYiT8QVbSqywWhCOf51NtscI059PSroXdpL+w=="}
我也遇到了这个问题,你们是怎么处理的呢 到底是成功没有
yansongda commented
麻烦尝试使用最新 v3 版
感谢支持