查看: 716|回复: 4

[Android代码] MobPay预支付接口签名错误

[复制链接]

Rank: 1

主题:
帖子:
积分:
0

[Android代码] MobPay预支付接口签名错误

[复制链接]
716 4 | 发表于 2018-9-9 19:01:41 |阅读模式 | |
本帖最后由 滴水 于 2018-9-9 21:01 编辑

当时选型时特意咨询了好多家支付对接,Mob客服的服务非常及时到位,最终选择了Mob,主要是因为Mob还提供了很多优质的开发服务,非常贴心!


主题分类没有服务端,抱歉选了个android的分类。问题如下:

参考mob的签名算法:http://wiki.mob.com/%E7%AD%BE%E5 ... %E5%8A%A1%E7%AB%AF/

前提:开通支付宝渠道,并填写参数,使用openapi配置,公钥是支付宝公钥,公钥与私钥在支付宝的RSA工具里匹配不成功。(应用私钥只能与应用公钥匹配)
同样的支付宝公钥和支付宝私钥,调用支付宝自己的SDK可以请求成功,可见公钥私钥是没有问题的。


拼接的stringA值如下:
amount=1&appkey=27af9bb94554d&client_ip=192.168.1.25&nonce_str=N936LniOE6QGgfq4SG2McBAi401een&order_id=24431414_20180909195049&pay_channel=50&plat=1&subject=open server test

得到的签名值:9A10F8EC947C7E49979D03FDE63F8C91

随机字符串使用应用私钥加密,且能用应用公钥解密,解密后内容与明文一致。

最终传输url如下:
preparepay?amount=1&appkey=27af9bb94554d&client_ip=192.168.1.25&nonce_str=4QlVeJZIuqsvKQuICNFXXDk0EJpNnt8mc46tJLqH7t3jUeRuJoLjpuYVi6AgYohyNBnuoGEBqH+/oqHZHFk+t8WPiJ7SazJUR09m178HhJRFh0okRffcLrvDsXRdd15OIJZ3RgTkCIvBNSyY+GLaYua5GB0R6g+kST/jtt0pAvMaHCM/Qz1TmnzG6/Iid4oQCGGnXM5uXiQzoBP8cncSpm2LvsAQxFXiZ+7YavmqSwdWT2bED4dzL09P3Zb2K3C7jS2xKS5isvvJKaHxTKBNtlzPlhUZf7TdmiASvh9967EC0I8HGwwIkS7XkIBVqvD5uj3W7dD0fRX5KZIopmABjg==&order_id=24431414_20180909195049&pay_channel=50&plat=1&subject=open%20server%20test&sign=9A10F8EC947C7E49979D03FDE63F8C91
但不知为何总是返回 签名错误:{"code":"4112002","msg":"sign error"}

请问以上操作有什么问题吗?

========================================
这个问题好几天了,不甘心,干脆把我的配置参数写的跟示例一样:
stringA=amount=1&appkey=moba6b6c6d6&client_ip=192.168.44.190&nonce_str=f9ad4627b785f3a91046a10213111330&order_id=3435353535353535&pay_channel=50&plat=1&subject=open server test

MD5.hash(stringA) = FB71837F00B15862B210C60EB4BBA005

简直一模一样啊摔,但是仍然提示签名失败。
这是url:
/preparepay?amount=1&appkey=moba6b6c6d6&client_ip=192.168.44.190&nonce_str=tT4QNKN/NZ74g6g4MK8UoNLQUNlLmt1ixCFzbw7iVM0w7OaYrd9Ms62afvUJNenWm1klqTocDD5gF4/At4SdrBST5b7Z86Hl38qFMkRjje0PlYHbg1FO4Ore8V0DtW9X6IsAyGI0qyDlx6gIvq1202vOjC3NTn0asWAUOki2+h0i8mWtQcLvziC6ZG2uBEUkqtZdXXn8paihbXEyxouK5kC0Qiem8Xj/mW9Xudtlv3TyMYCSfRReNmJac6dn8pRkRUnu24ZGNKnzbXtj7n7GqfCNZFL2BgUVEiNP/UBm4aodriLqHIn79/EL5XCTTYCo+PyKZjnjzb53JV/LKufgdg==&order_id=3435353535353535&pay_channel=50&plat=1&subject=open%20server%20test&sign=FB71837F00B15862B210C60EB4BBA005



Rank: 5Rank: 5

主题:
帖子:
积分:
0
发表于 2018-9-10 10:52:41 |
私钥和公钥是自己创建的吗?如果不是后台有没有配置后公钥;

Rank: 1

主题:
帖子:
积分:
0
发表于 2018-9-10 17:52:36 |
wolf 发表于 2018-9-10 10:52
私钥和公钥是自己创建的吗?如果不是后台有没有配置后公钥;

您好 可不可提供一个服务器的demo,可以去掉框架的东西,保留逻辑上的代码,参考一下,QQ 308217571,希望可以直接聊

Rank: 1

主题:
帖子:
积分:
0
 楼主| 发表于 2018-9-10 20:17:21 |
wolf 发表于 2018-9-10 10:52
私钥和公钥是自己创建的吗?如果不是后台有没有配置后公钥;

不是。公钥是支付宝公钥,私钥是商户私钥,调支付宝API成功

Rank: 5Rank: 5

主题:
帖子:
积分:
0
发表于 2018-9-11 10:40:03 |
滴水 发表于 2018-9-10 20:17
不是。公钥是支付宝公钥,私钥是商户私钥,调支付宝API成功

在mob后台的MobPay-->开发者设置下面配置的商家RSA公钥,您看看是否是正确的 或者说是否是您签名的时候用到的公钥
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术支持
免费咨询 | 24小时在线
快速回复 返回顶部 返回列表