一、前言
二、解决过程
(1)问题描述
在按照官方提供的指引步骤下,完成了支付,并且商户能够正常收到钱,但是就是不回调。
(2)解决历程
根据官方的解决回调的办法,我分别进行了回调地址的修改(由返回String 改为返回页面),尝试使用查询账户替代回调,使用云排查进行请求排查,只将问题锁定在请求参数或者配置之上。(基本上也就是从官方提供的这几个方向进行)。
1、异步通知发送地址错误
2、notify_url参数位置设置错误
3、异步地址设置错误
4、异步地址必须外网可访问
5、异步地址必须能post接收数据
6、接口默认不触发相关的交易状态数据通知
经过近三到四小时,仍然不能解决。然后想到咨询官方服务。得到以下回复,于是我再开始检查代码(但代码不是按照要求设置了回调吗,唯一不同的地方就是request进行设置参数的顺序不一致(设置BizContent和回调地址)),于是思考是不是问题就在这儿(但心里还是想着不都一样吗,难道异步需要先设置),然后就进行了修改即可发送了。
成功之后,再发现官方也进行了进一步解答,果然问题就在此。还是代码问题。
(3)反思总结
- 在调用SDK时,务必先熟悉文档,严格按照文档执行,也使用官方代码,在未能理解之前,切忌修改,包括参数设置顺序。
- 问题不能解决时,先结合文档思考问题点,原因,再根据官方解决办法解决和步骤一一对应,若不能解决再寻求客服帮助
- 文档+Demo+客户服务,切忌自己反复测试,测试需要是建立在严谨的思考之后的验证。
(4)关于回调
同步和异步回调