Apple 2017年1月1號(hào)起要求Appstore 上線的應(yīng)用都必須使用 https 加密請(qǐng)求協(xié)議,在二月份又改為建議 從 http 升級(jí)為 https 協(xié)議,此為背景。

公司做的APP同時(shí)在App Store和安卓應(yīng)用市場(chǎng)上了線。應(yīng)要求,我們也將協(xié)議升級(jí)為https。由于自制https證書(shū)不能用于支付寶請(qǐng)求協(xié)議,故從阿里云購(gòu)買(mǎi)的證書(shū)服務(wù)。升級(jí)為https之后碰到了諸多問(wèn)題。

1.支付寶微信支付成功卻收不到notify回調(diào)的情況。

支付notify_url 要求回調(diào)時(shí) url 不得帶任何參數(shù),如果請(qǐng)求為 https 證書(shū)必須由認(rèn)證機(jī)構(gòu)發(fā)放,自制證書(shū)無(wú)效。

微信要求必須為80端口,那么回調(diào)請(qǐng)求就應(yīng)該為http請(qǐng)求。

項(xiàng)目由nginx加tomcat搭建,部署在ECS Linux 上面。那么支付請(qǐng)求如下

1)APP發(fā)起支付請(qǐng)求——>

2)支付寶確認(rèn)簽名,如果正確則支付成功——>

3)支付寶給notify_url 發(fā)異步通知——>

4)服務(wù)器收到異步通知,確認(rèn)訂單狀態(tài),結(jié)束此次支付請(qǐng)求。

網(wǎng)友評(píng)論