Closed wojiaowuqi closed 6 years ago
请查看公钥是否填写正确
请检查 verify()
方法有无正确传递参数。
麻烦请贴出相关代码并说明问题,不然这样丝毫没有帮助的。
兄弟 感谢你回我信息~ 支付宝这边我大概是这样做的:
1:
//支付宝支付
$config_biz = [
'subject' => $pay_info['order_info']['serve_name'],
'out_trade_no' => $pay_info['order_info']['ordersum_no'],
'timeout_express' => $pay_info['order_info']['timeout_express'],
'total_amount' => '0.01', //暂时写死
'quit_url' => U('Mobile/Order/index', '', true, true)
];
$pay = new Pay($this->alipay_config);
$html = $pay->driver('alipay')->gateway('wap')->pay($config_biz);
2:
/**
* 同步接收消息
*/
public function ReceiveReturnInfo()
{
$pay = new Pay($this->alipay_config);
unset($_GET['_URL_']);
$data = I('get.');
var_dump($data);
file_put_contents('./return.txt', json_encode($data), FILE_APPEND);
if ($pay->driver('alipay')->gateway('wap')->verify($data)) {
echo '正在等待支付宝返回结果';
} else {
echo '签名验证失败';
}
}
3.
/**
* 支付异步返回信息接收
*/
public function ReceiveNotifyInfo()
{
$data = I('post.');
file_put_contents('./notify.txt', json_encode($data), FILE_APPEND);
$pay = new Pay($this->alipay_config);
if ($pay->driver('alipay')->gateway('wap')->verify($data)) {
file_put_contents('./notify.txt', "收到来自支付宝的异步通知\r\n", FILE_APPEND);
file_put_contents('./notify.txt', '订单号:' . $data['out_trade_no'] . "\r\n", FILE_APPEND);
file_put_contents('./notify.txt', '订单金额:' . $data['total_amount'] . "\r\n\r\n", FILE_APPEND);
} else {
file_put_contents('./notify.txt', "收到异步通知\r\n", FILE_APPEND);
}
echo "success";
}
4.
同步返回信息(有信息返回,就是签名失败)
array(12) { ["total_amount"]=> string(4) "0.01" ["timestamp"]=> string(19) "2017-08-31 16:53:14" ["sign"]=> string(344) "DVQPFAEKG TKjQThXHuIZXltRuNLEWSNpNn181V22tMG8or XyL2tgPAUKN5aiKZY4LAqMhoBgsLcrZJ4TmXKchWWaT/YL/QVCbBhYAhZLdCsY5nLt2WFwF mhVbgMRm8ZwQYA/syHJHZu50ya6GX1aYaoUNv6veb76uXdnOF7G65CS73YUNzTKfb4m2RWnqjOAJyY GQFEGq6Ff/9cKbMOeg87u9ZLtiyF0ug7KruO/WB2qXCJnt6iaLEvfR8Or7V5MGw4fCLblHA7ZsyqHznGPkmZlfNK/aWXnHrHTMvNB//r91oMukmJ6HSQ7j9tkr3gPUrQqoSvcgJcYS83XLA==" ["trade_no"]=> string(28) "2017083121001004080222071369" ["sign_type"]=> string(4) "RSA2" ["auth_app_id"]=> string(16) "2017022405855451" ["charset"]=> string(5) "utf-8" ["seller_id"]=> string(16) "2088621295872532" ["method"]=> string(27) "alipay.trade.wap.pay.return" ["app_id"]=> string(16) "2017022405855451" ["out_trade_no"]=> string(19) "2017083116393449636" ["version"]=> string(3) "1.0" }
签名验证失败
框架为 ThinkPHP
找到问题了 返回信息的引号“被转义了 我也是醉了 。。。总之还是得谢谢你
@wojiaowuqi 哪个字段被转义了?我也是死活验签失败,公钥、私钥都是对的。
@wojiaowuqi 请问你可以接收到异步消息吗?
@wojiaowuqi 你好!我用的是沙箱模式,死活就是收不到异步通知呀! 请看这里:#125
公钥设置没问题 可还是验签失败
找到原因了 回调时候不知道为什么多了个字段s
我的签名验证失败,找了半天都没找到哪儿的问题。。。