支付寶h5支付,無法調起支付控制元件問題
阿新 • • 發佈:2018-12-11
問題描述
支付寶回撥的付款頁面,首次回撥後,安卓系統無法調起支付控制元件,需重新重新整理h5頁面。
參考原因
當頁面載入完後會建立 AlipayJSBridge物件,同時會觸發AlipayJSBridgeReady事件,原因可能是當執行 AlipayJSBridge.call(’’)操作時,AlipayJSBridge還沒有建立,所以無法執行。
//支付寶瀏覽器開啟 var tradeNo1 = result.data; document.addEventListener('AlipayJSBridgeReady', function() { AlipayJSBridge.call("tradePay",{ tradeNO:tradeNo1 },function(result){ if(result.resultCode=='9000'){ AlipayJSBridge.call('closeWebview'); }else{ } }); }, false);
// 由於js的載入是非同步的,所以可以通過該方法,當AlipayJSBridgeReady事件發生後,再執行callback方法 function ready(callback) { if (window.AlipayJSBridge) { callback && callback(); } else { document.addEventListener('AlipayJSBridgeReady', callback, false); } } function tradePay(tradeNO) { ready(function(){ // 通過傳入交易號喚起快捷呼叫方式(注意tradeNO大小寫嚴格) AlipayJSBridge.call("tradePay", { tradeNO: tradeNO }, function (data) { log(JSON.stringify(data)); if ("9000" == data.resultCode) { log("支付成功"); } }); }); }