android沙箱支付,接支付宝APP支付沙箱环境 6001 错误的大坑记

接支付宝支付, 服务端下载 java sdk, 客户端接入android sdk, 设置好沙箱。按照官网流程一步步来,最后进行测试服务器生成一个支付参数字符串,传给客户端客户端用服务器给的支付参数,拉起支付宝(沙箱版)最后支付宝却传来一个失败的map:{resultStatus=6001, result=, memo=用户取消}问题排查通过使用官方的支付客户端demo(在demo中生成支付参数),...
摘要由CSDN通过智能技术生成

接支付宝支付, 服务端下载 java sdk, 客户端接入android sdk, 设置好沙箱。按照官网流程一步步来,最后进行测试

服务器生成一个支付参数字符串,传给客户端

客户端用服务器给的支付参数,拉起支付宝(沙箱版)

最后支付宝却传来一个失败的map:

{resultStatus=6001, result=, memo=用户取消}

问题排查

通过使用官方的支付客户端demo(在demo中生成支付参数),设置好沙箱,私钥等,结果正常拉起支付宝支付,支付成功。

这里可以确定设置的密钥是没有问题的,问题就是在支付参数这里了。

支付参数是由 server-java-sdk 来生成的,对比官网的使用示例,一切都一样,这样下来,就确认是 server-java-sdk 生成的字符串不正确了。想来这个问题也只有出现在沙箱版吧,不然正式版出现这个问题早爆炸更新了。所以最大可能是 server-java-sdk 生成的字符串沙箱支付宝不支持。

首先对 server-java-sdk 生成的字符串进行签名校验(官方工具),确定签名正确。然后与官方的支付客户端demo 生成的字符串仔细比较:

# 官方的支付客户端demo 生成的字符串

charset=utf-8&biz_content=%7B%22timeout_express%22%3A%2230m%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%221%22%2C%22body%22%3A%22%E6%88%91%E6%98%AF%E6%B5%8B%E8%AF%95

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值