Android Webview无法在Worldpay网关上使用VISA卡付款

时间:2019-10-08 16:23:51

标签: android webview paypal payment worldpay

Android Webview付款不适用于Worldpay网关上的Visa卡。在PayPal上可以正常使用。

@Override     公共视图onCreateView(最终LayoutInflater充气机,最终的ViewGroup容器,最终的捆绑包saveInstanceState){         ViewGroup viewGroup =(ViewGroup)inflater.inflate(R.layout.iap_web_payment,container,false);         mParentContainer =(RelativeLayout)viewGroup.findViewById(R.id.iap_web_container);         mWebView =(WebView)viewGroup.findViewById(R.id.wv_payment);         mWebView.setWebViewClient(new IAPWebViewClient());         mWebView.getSettings()。setJavaScriptEnabled(true);         mWebView.getSettings()。setSaveFormData(false);         mWebView.getSettings()。setJavaScriptCanOpenWindowsAutomatically(true);         mWebView.getSettings()。setUserAgentString(“ Mozilla / 5.0(iPhone; CPU iPhone OS 9_3,如Mac OS X)AppleWebKit / 601.1.46(KHTML,如Gecko)版本/9.0 Mobile / 13E233 Safari / 601.1”);         mWebView.getSettings()。setDomStorageEnabled(true);         mWebView.getSettings()。setAppCacheEnabled(true);         mWebView.getSettings()。setLoadsImagesAutomatically(true);         mWebView.getSettings()。setUseWideViewPort(true);         createCustomProgressBar(mParentContainer,BIG);

    mUrl = getWebUrl();
    return viewGroup;
} 

私有类IAPWebViewClient扩展了WebViewClient {

    @SuppressWarnings("deprecation")
    @Override
    public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
        return false;
    }

    @TargetApi(Build.VERSION_CODES.N)
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        return false;
    }

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
    }

    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        super.onReceivedSslError(view,handler,error);
        handler.proceed(); // Ignore SSL certificate errors
    }

    @SuppressWarnings("deprecation")
    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        hideProgressBar();
    }

    @TargetApi(Build.VERSION_CODES.M)
    @Override
    public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {
        // Redirect to deprecated method, so you can use it in all SDK versions
        if (rerr != null && shouldHandleError(rerr.getErrorCode())) {
            if (isVisible()) {
                onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());
            }
        }
    }

    @Override
    public void onPageFinished(final WebView view, final String url) {
        hideProgressBar();
        super.onPageFinished(view, url);
    }
}

0 个答案:

没有答案
相关问题