今天在对接支付宝 APP 支付的时候遇到了一个报错,记录下问题的排查过程~
报错过程
APP 中弹窗提示的报错“商家订单参数异常,请重新发起付款”,检查了下参数感觉没啥问题,不知道是啥问题导致的。
去官网搜了下,折腾排查了一遍,发现是环境问题,没有切到沙箱环境导致的 (*/\*) 。
先放个官网提供的报错排查思路:
[商家订单参数异常,请尝试返回后重新付款或联系商家确认 (ALIN10146)]
排查思路
造成这个问题的原因还挺多的,下面把排查过程总结下:
第一步:使用官方的诊断工具查日志
支付宝提供了一个日志的查询工具,可以直接根据交易号查到报错信息,(๑•ㅂ•)✧nice~!
[诊断工具] 建议收藏使用
输入 out_trade_no 之后,说是“接口传入的 app_id(9021000123607990)不正确”
发现 appid 没有从沙箱的换回线上的,重新切换回线上的环境,发现查不到日志了=-=
⚠️注意:这个工具只能查线上环境的,沙箱环境的无法查询!!!
第二步:排查参数是否有问题
没有办法,只能重新确认下请求参数
method 服务器托管网没有问题,product_code 参数也跟文档上一致。
没啥思路了,重新按照官方的文档排查下。
第三步:排查密钥是否有问题
可以参考官网文档 [如何检服务器托管网验 RSA2 密钥是否匹配]
检查了下密钥,发现没有问题,是匹配的;
应用私钥放在代码中,应用公钥上传到平台上,跟文档说的一致。
第四步:排查权限是否正常
可以参考官网文档 [如何确认是否完成签约]
直接到应用下产品绑定里查看产品开通状态,是 已开通 的,没有问题
第五步:排查测试的环境
沙箱联调时要在客户端代码里加上下面这行代码,客户端请求的时候才能请求到沙箱环境,如果不加的话,就是请求到正式网关。
EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
找到这里就定位到问题了。
我之前在沙箱测试的,想着网关和密钥切回去了之后就没有问题了,忘记了客户端还得改。
去掉这行代码之后,走通了。
希望能对你有所帮助~✿✿ヽ(▽)ノ✿,有问题一起沟通~。
关于沙箱的更多内容,可以参考这一篇:
支付宝沙箱超详细教程+避雷经验,看这篇就够了
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: GaussDB分区表查询性能异常分析
问题现象
原因分析
处理方法问题现象 使用分区表进行相关查询业务,SQL性能慢。 原因分析 导致分区表业务慢的常见原因有以下几种: 分区索引失效,顺序扫描导致的SQL性能慢 分区表无法进行分区剪枝导致的SQL性能慢 SQL计划选择非最优导致的SQL性能慢 处理方法 判断是否存在索引异常的…