支付宝回调如何验证签名?

发布于 2022-09-02 10:29:27 字数 1154 浏览 10 评论 0

支付宝回调,得到这样一个数组(数组只是形式,并不是真实数据)

array (
  'discount' => '0.00',
  'payment_type' => '1',
  'subject' => '测试02',
  'trade_no' => '201603122100106821',
  'buyer_email' => '18776152065',
  'gmt_create' => '2016-03-12 11:30:08',
  'notify_type' => 'trade_status_sync',
  'quantity' => '1',
  'out_trade_no' => '1603125610283',
  'seller_id' => '2088122451677261',
  'notify_time' => '2016-03-13 11:54:40',
  'body' => '测试02',
  'trade_status' => 'TRADE_SUCCESS',
  'is_total_fee_adjust' => 'N',
  'total_fee' => '0.01',
  'gmt_payment' => '2016-03-12 11:30:09',
  'seller_email' => 'xxxx@126.com',
  'price' => '0.01',
  'buyer_id' => '2088612804',
  'notify_id' => 'ba20b13f6lk2',
  'use_coupon' => 'N',
  'sign_type' => 'RSA',
  'sign' => 'Bn6IEyE9=',
)

然后ksort()排序,去除sign_type,sign,拼接成
body=Hello&buyer_email=13788888888&buyer_id=2088002007013600..............这样字符串

openssl_verify(`拼接字符串`, base64_decode($_POST['sign']), $publickey);

总返回 0 ,验证不成功,是哪一步出错

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沉默的熊 2022-09-09 10:29:27

支付宝都会提供 demo 的,里面包含了验证签名的算法,其实提供了整个lib包,你直接拿来用就可以了

难如初 2022-09-09 10:29:27

请问解决了吗?我也遇到这个问题了,直接用的官方php sdk,总是返回0.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文