You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android WebView集成Easebuzz/Eazepay支付时OTP页面无法加载问题

解决WebView加载Easebuzz/Eazepay OTP页面空白的问题

检查并启用WebView弹窗支持

之前OTP页面以弹窗形式呈现,WebView默认可能拦截了新窗口请求,需通过WebChromeClient处理弹窗逻辑:

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
        WebView newWebView = new WebView(view.getContext());
        WebSettings settings = newWebView.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setDomStorageEnabled(true);
        settings.setSupportMultipleWindows(true);
        
        WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
        transport.setWebView(newWebView);
        resultMsg.sendToTarget();
        return true;
    }
});

确保WebView的JavaScript与DOM存储权限

支付页面依赖JavaScript渲染,必须开启核心配置:

WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setAllowFileAccess(true);

处理第三方Cookie限制

Android 11+默认限制第三方Cookie,可通过两种方式解决:

方式1:配置CookieManager

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
} else {
    CookieManager.getInstance().setAcceptCookie(true);
}

方式2:添加网络安全配置

在AndroidManifest.xml的application标签内添加:

android:networkSecurityConfig="@xml/network_security_config"

然后在res/xml/network_security_config.xml中配置信任域名:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">你的自有网站域名</domain>
        <domain includeSubdomains="true">easebuzz.in</domain> <!-- 替换为Easebuzz实际域名 -->
    </domain-config>
</network-security-config>

排查SSL证书兼容性

若支付页面更新了SSL证书,WebView可能因验证失败导致空白。开启调试模式排查:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    WebView.setWebContentsDebuggingEnabled(true);
}

通过Chrome的chrome://inspect工具查看WebView控制台错误,确认是否存在证书相关报错,再针对性处理(如导入信任证书或联系支付方确认证书有效性)。

调整WebView的User-Agent设置

部分支付网关会根据User-Agent判断环境,WebView默认UA可能被识别为非浏览器环境。可设置为浏览器UA:

webSettings.setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36");

验证支付页面的更新逻辑

若近期支付方更新了页面逻辑(如弹窗改内嵌、新增JS特性),可对比浏览器与WebView的控制台日志,定位JS错误后针对性修复。


内容的提问来源于stack exchange,提问作者Ravi Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 07:42:42