회사의 상품은 Alipay 모바일 웹 인터페이스를 사용하여 결제됩니다. 제3자 판매자가 점프 주소를 전달하면 결제 성공 후 Alipay 페이지가 해당 주소로 점프합니다. 자동으로 닫힙니다.
테스트해보니 iOS 클라이언트에서는 작동하는데, 안드로이드 클라이언트에서는 작동할 때도 있고 안될 때도 있습니다.
이전 코드 :
$(function(){ if('${code}'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview'); } }else{ $("#error_msg").html("支付失败"); $("#error").show(); } });
Alipay 웹결제 관련 js api 문서를 검색하면 해당 페이지가 로딩된 후 AlipayJSBridge 객체가 생성되고 AlipayJSBridgeReady 이벤트가 발생한다고 문서에 기술되어 있습니다. 동시에 발동되었습니다.
Android의 Alipay 클라이언트에서 웹페이지가 가끔 닫히고, 가끔 실패하는 이유를 이 문장에서 찾았습니다.
웹페이지가 닫히지 않는 이유는 AlipayJSBridge를 실행할 때입니다. call(' closeWebview') 작업 시 AlipayJSBridge가 아직 생성되지 않아 실행할 수 없습니다. 따라서 Alipay
JSBridgeReady 이벤트를 모니터링해야 합니다.
해결 코드:
document.addEventListener('AlipayJSBridgeReady', function () { if('${code}'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview'); } }else{ $("#error_msg").html("支付失败"); $("#error").show(); } }, false);
위는 Android Alipay 클라이언트 HTML5 웹페이지가 간헐적으로 자동으로 닫히지 않는 문제에 대한 내용입니다. 자세한 내용은 PHP 중국어 웹사이트를 참고해 주세요. (www.php.cn)!