Apple 2017年1月1号起要求Appstore 上线的应用都必须使用 https 加密请求协议,在二月份又改为建议 从 http 升级为 https 协议,此为背景。
公司做的APP同时在App Store和安卓应用市场上了线。应要求,我们也将协议升级为https。由于自制https证书不能用于支付宝请求协议,故从阿里云购买的证书服务。升级为https之后碰到了诸多问题。
1.支付宝微信支付成功却收不到notify回调的情况。
支付notify_url 要求回调时 url 不得带任何参数,如果请求为 https 证书必须由认证机构发放,自制证书无效。
微信要求必须为80端口,那么回调请求就应该为http请求。
项目由nginx加tomcat搭建,部署在ECS Linux 上面。那么支付请求如下
1)APP发起支付请求——>
2)支付宝确认签名,如果正确则支付成功——>
3)支付宝给notify_url 发异步通知——>
4)服务器收到异步通知,确认订单状态,结束此次支付请求。

