Les produits de l'entreprise sont payés à l'aide de l'interface Web mobile d'Alipay. Lorsque le commerçant tiers transmet l'adresse de saut, la page Alipay accédera à l'adresse une fois le paiement réussi. Si le paiement n'est pas envoyé, la page. se fermera automatiquement.
Lors des tests, cela fonctionne sur le client iOS, mais parfois cela fonctionne et parfois cela ne fonctionne pas sur le client Android.
Code précédent :
$(function(){ if('${code}'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview'); } }else{ $("#error_msg").html("支付失败"); $("#error").show(); } });
En recherchant le document api js lié au paiement web Alipay, le document décrit que l'objet AlipayJSBridge sera créé après le chargement de la page, et l'événement AlipayJSBridgeReady sera déclenché en même temps.
À partir de cette phrase, j'ai trouvé la raison pour laquelle la page Web se ferme parfois et échoue parfois dans le client Alipay d'Android :
La raison pour laquelle elle peut ne pas se fermer est lors de l'exécution d'AlipayJSBridge. call(' closeWebview'), AlipayJSBridge n'a pas encore été créé, il ne peut donc pas être exécuté. Par conséquent, nous devons surveiller l’événement Alipay
JSBridgeReady.
Code de solution :
document.addEventListener('AlipayJSBridgeReady', function () { if('${code}'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview'); } }else{ $("#error_msg").html("支付失败"); $("#error").show(); } }, false);
Ce qui précède est le contenu du problème selon lequel la page Web HTML5 du client Android Alipay ne peut parfois pas être automatiquement fermée. Pour plus de contenu connexe, veuillez faire attention au PHP. Site chinois (www.php.cn) !