本周主要在对接腾讯应用宝(道具直购模式)支付,期间遇到了几个大坑。现在以问答的形式总结如下,以免后来之人再纠结于相同问题。
一、配置支付通知地址为什么收不到腾讯服务器端发送来的支付通知?
在说明这个问题之前,必须明白对接腾讯应用宝(道具直购模式)支付,需要在腾讯后台配置一个腾讯云上的内网地址,并且通知地址必须使用9001端口。我公司服务器在腾讯云上很容易配置一个内网通知地址,不过配置之后测试多次都不能收到腾讯服务器端的支付通知。检查之后,确认网络正常,并且模拟一个支付通知,我方服务器可以接受和处理。多次和腾讯应用宝技术人员沟通之后,他们表示“可以通知到,不过你方服务器给他们返回0字节数据”。后面通过仿佛查看对方的开发文档和提供的错误日志,和大量网上查找资料,打算从“是否是对方使用了Https协议”和“假设已经收到数据了是不是我方服务器不能正常处理”。
将我们处理支付通知请求的tomcat容器,改造得能够同时处理Http和Https请求。按照网上文章(http://blog.csdn.net/lanwenbing/article/details/24741973)进行改造之后,我方服务器tomcat容器已经能够处理https请求了。再进行测试发现还是不行。使用命令sudo tcpdump port 9001 -X 抓取监听端口数据包,之后看到如下数据。
我方服务器端口收到的信息&#x