支付宝小程序后端解析手机号验签一直出错

网上关于支付宝小程序,php相关的资料实在太少了,最近有个问题困扰了好几天了,就是获取手机号后密文的验签和解密,解密是没啥问题了,但是验签一直没通过(项目紧,只能先不验签直接上线了,但总感觉有个疙瘩),调用的是官方demo的rsaCertCheckV1方法,整个处理流程是这样,
首先小程序那边获取到的是{“response”:”xxx”,”sign”:”xxxxxx”}的 一个json字符串
我先把整个json_decode转换成数组,然后和支付宝公钥一起传入rsaCertCheckV1方法,但函数返回一直是false,
相比之下同项目下的还有一个支付宝支付的回调,支付宝公钥是一样的,也是调rsaCertCheckV1方法验签,唯一不同的是支付宝支付的回调是form-data的形式,我从post里面直接拿到的就是请求的一个数组,但函数却可以返回true,验签成功,
官方论坛里面问了也只是让我回去继续看文档,所以想问问各位PHPer有没有做过类似的,我感觉应该还是验签的数组传入或者是验签的方式有问题。。。。。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

我是java开发的,我测试验签的时候也遇到了验签结果老是false的问题(没有任何报错),却可以解密出手机号,后来和客服沟通之后,发现demo例有一行代码我没有用上,如下: String signContent = isDataEncrypted ? “"“ + content + “"“ : content;
gw.alipayobjects.com/zos/sptworksf...
,原链接附上
opendocs.alipay.com/mini/201911010...
,希望可以解决你的问题。

3年前 评论
讨论数量: 7

扩展包

Lar,我第一件事就是找扩展包,而不是自己实现。

3年前 评论
poker_face (楼主) 3年前

可以看下我的文章参考下
百度小程序手机号授权登陆博客:uniapp 小程序 Laravel+jwt 权限认证完整系列
以及兼容多小程序平台支付回调
博客:Laravel 兼容多小程序平台支付回调

3年前 评论
poker_face (楼主) 3年前

我是java开发的,我测试验签的时候也遇到了验签结果老是false的问题(没有任何报错),却可以解密出手机号,后来和客服沟通之后,发现demo例有一行代码我没有用上,如下: String signContent = isDataEncrypted ? “"“ + content + “"“ : content;
gw.alipayobjects.com/zos/sptworksf...
,原链接附上
opendocs.alipay.com/mini/201911010...
,希望可以解决你的问题。

3年前 评论

楼主可以分享下这个流程嘛?现在也在做支付宝小程序获取解析手机号的逻辑嘛,栗子太少了 :sob:

2年前 评论

请问你这个支付宝小程序解析手机号验签的问题解决了吗

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!