背景:客戶支付成功,無法返回支付結果
=====================================
查找原因,追蹤代碼:
verified = AlipayNotify.verify(params,alipayConfig.sign_type,alipayConfig.partner,alipayConfig.key,alipayConfig.input_charset);?
??????? if (!verified)?{
??????????? Debug.logError("###### Alipay did not verify this request, need investigation!", module);
??????????? return "error";
????????}
AlipayNotify
? responseTxt = verifyResponse(notify_id,apiUserName);
??? boolean isSign = getSignVeryfy(params, sign,paymentEncodeType,apiPassword,apiCharset);
????????? String sWord =?"responseTxt="?+ responseTxt +?"\n isSign="?+ isSign +?"\n?返回回來的參數:"?+ AlipayCore.createLinkString(params);
??????? Debug.log(sWord);
tail log 發現:
??? responseTxt的值為空,至此可以判定:
????????“驗證是否支付寶返回的url”模塊(verifyResponse)錯誤
????支付寶提示:
??????? false 請檢查防火墻或者是服務器阻止端口問題以及驗證時間是否超過一分鐘
手動請求https://mapi.alipay.com/gateway.do?service=notify_verify&查看是否存在問題
返回結果:
???? Couldn't resolve host 'mapi.alipay.com'
確認結果:
????前些日子,主機服務商調整機房電源配置,主機重啟過一次,進而丟失DNS解析。
????至此,問題解決,但多少讓人有點失望,DNS竟然會丟失!記得上次在這家服務商處購置另一臺主機,我來部署環境,apt-get就發現無法解析域名的問題。感慨,不靠譜的主機商,浪費我這么長時間找問題,像這些基礎設施,還是建議大家找靠譜的商家吧。