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


     

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

     

     

    报错过程

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

     

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

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

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

     

    排查思路

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

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

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

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

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

     

     

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

     

     

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

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

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

     

     

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

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

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

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

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

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

     

     

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

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

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

     

     

    第五步:排查测试的环境

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

     

    EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);

     

     

    找到这里就定位到问题了

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

     

     

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

     

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

     

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

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

     

     

     

     

  • 相关阅读:
    正则化之L1和L2已经dropout的一些理解和pytorch代码实现与效果证明
    Timer和ScheduledThreadPoolExecutor的区别及源码分析
    Java多线程【锁优化与死锁】
    单节点安装Proxmox VE
    对这6年的测试经历做个总结
    QT项目移植到VS+QT(RTI-DDS)
    TextView设置跑马灯效果
    2.4G无线通信
    高数定理集合啦
    产品经理常用软件汇总
  • 原文地址:https://www.cnblogs.com/yjdmx/p/17799791.html