接口报错返回code=20000,sub_code=isp.unknow-error 或 aop.ACQ.SYSTEM_ERROR,sub_msg=未知错误或系统异常等。
错误原因
1、传参错误会导致支付异常。
2、接口的大量调用错误,商户带宽被无效调用占用,容易导致访问支付宝速度变慢,并且容易引发商户端处理错误,造成系统无法正常使用,严重影响系统稳定性及用户体验。
3、部分接口(支付宝预授权冻结接口,APP支付接口)提交方法有误也会出现isp.unknow-error(系统繁忙)错误
解决方案
1、避免不合法的传参
建议方案:对所有返回 INVALID_PARAMETER 的响应进行监控,一旦发现请停止调用并检查请求参数,修改后重新发起请求。
(1)根据云排查查询接口请求参数,进行对比检查,详见云排查流程;
(2)根据文档检查参数是否正确,建议只传必传参数,避免其他参数干扰;
(3)涉及资金交易接口:单笔转账接口、退款接口等,建议联系95188咨询账户是否正常。
如账户资金转出功能关闭、账户风控等也可能导致调用报错系统异常。
(4)建议保持请求参数不变的情况下,稍后重新测试调用。
特殊说明:涉及资金交易接口(如:单笔转账、退款接口、扣款相关接口等),需确认该笔交易处理状态后,进行下一步逻辑处理,避免重复扣款转账等。
2、接口调用发生异常时能够正确处理
在调用支付宝接口时,可能会遇到网络超时或支付宝未知异常(接口返回 code=20000,sub_code=isp.unknow-error 或 aop.ACQ.SYSTEM_ERROR),此时业务处理结果是未知的,需要根据具体 API 采取一下措施。具体措施如下:
(1)查询接口 alipay.trade.query 和撤销接口 alipay.trade.cancel 调用异常:
立即重试一分钟,如果仍然返回超时或未知异常,需要记录该异常交易并走人工处理流程。
(2)预下单接口 alipay.trade.precreate 调用异常:
使用新的商户订单号 out_trade_no 重新调用预下单接口。
(3) 退款接口 alipay.trade.refund 调用异常:
使用相同的参数重试一分钟,如果仍然返回超时或未知异常,需要记录该异常交易并走人工处理流程,不能简单的推断为退款成功或失败。
(4)支付接口 alipay.trade.pay 调用异常,立即调用查询接口,如果:
查询的交易不存在(错误码 ACQ.TRADE_NOT_EXIST),使用相同的参数重新调用支付接口。
网络超时或未知异常,继续查询一分钟,如仍然超时或未知异常,需要记录该异常交易并走人工处理流程,不能简单的推断为付款失败。
当面付接口报错系统繁忙可参考轮询机制。
3、sdk提交方法有误
核实接口中的提交方法是否为sdkExecute方法,例如APP支付,支付宝预授权冻结接口如果使用execute方法作提交会直接返回isp.unknow-error错误,需要修改成sdkExecute方法进行生成请求字符串,作后续在客户端上进行调用请求
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。