写点什么

App 支付报错“商家订单参数异常,请重新发起付款“排查流程

作者:盐焗代码虾
  • 2023-10-31
    浙江
  • 本文字数:833 字

    阅读完需:约 3 分钟

今天在对接支付宝 APP 支付的时候遇到了一个报错,记录下问题的排查过程~



报错过程


APP 中弹窗提示的报错“商家订单参数异常,请重新发起付款”,检查了下参数感觉没啥问题,不知道是啥问题导致的。



去官网搜了下,折腾排查了一遍,发现是环境问题,没有切到沙箱环境导致的 (*/ω\*) 。

先放个官网提供的报错排查思路:

👉 [商家订单参数异常,请尝试返回后重新付款或联系商家确认 (ALIN10146)]


排查思路


造成这个问题的原因还挺多的,下面把排查过程总结下:


第一步:使用官方的诊断工具查日志


支付宝提供了一个日志的查询工具,可以直接根据交易号查到报错信息,(๑•̀ㅂ•́)و✧nice~!

👉 [诊断工具] 建议收藏使用

输入 out_trade_no 之后,说是“接口传入的 app_id(9021000123607990)不正确”



发现 appid 没有从沙箱的换回线上的,重新切换回线上的环境,发现查不到日志了=-=



⚠️注意:这个工具只能查线上环境的,沙箱环境的无法查询!!!


第二步:排查参数是否有问题


没有办法,只能重新确认下请求参数



method 没有问题,product_code 参数也跟文档上一致。

没啥思路了,重新按照官方的文档排查下。


第三步:排查密钥是否有问题


可以参考官网文档 👉 [如何检验 RSA2 密钥是否匹配]

检查了下密钥,发现没有问题,是匹配的;

应用私钥放在代码中,应用公钥上传到平台上,跟文档说的一致。



第四步:排查权限是否正常


可以参考官网文档 👉 [如何确认是否完成签约]

直接到应用下产品绑定里查看产品开通状态,是 已开通 的,没有问题



第五步:排查测试的环境


沙箱联调时要在客户端代码里加上下面这行代码,客户端请求的时候才能请求到沙箱环境,如果不加的话,就是请求到正式网关。


EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
复制代码



找到这里就定位到问题了

我之前在沙箱测试的,想着网关和密钥切回去了之后就没有问题了,忘记了客户端还得改。



去掉这行代码之后,走通了。


希望能对你有所帮助~✿✿ヽ(°▽°)ノ✿,有问题一起沟通~。


关于沙箱的更多内容,可以参考这一篇:

支付宝沙箱超详细教程 + 避雷经验,看这篇就够了


用户头像

还未添加个人签名 2023-10-17 加入

还未添加个人简介

评论

发布
暂无评论
App 支付报错“商家订单参数异常,请重新发起付款“排查流程_支付宝_盐焗代码虾_InfoQ写作社区