androidpayment-processing

Payment processing infinitely in WebView


I have a testing website where PayUMoney payment processing in test mode is working perfect.

I used the same url in webview and also enabled javascript, but the payment is processing infinitely(Loading forever).

Please help me figure out this. Thanks!

public class MainActivity extends AppCompatActivity {

private WebView webview;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    webview =(WebView)findViewById(R.id.webView);

    webview.setWebViewClient(new WebViewClient());
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setDomStorageEnabled(true);
    webview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
    webview.loadUrl("https://gatewaypayment.000webhostapp.com");

}
@Override
// This method is used to detect back button
public void onBackPressed() {
    if(webview.canGoBack()) {
        webview.goBack();
    } else {
        // Let the system handle the back button
        super.onBackPressed();
    }
  }
}

Solution

  • I faced a similar situation but finally figured out that the reason behind the long loading is due to the test details getting updated frequently, or the test environment that PayUMoney provides itself is down. Also make sure of the following:

    To test the Bolt Checkout in the test mode, you need to change the JavaScript libraries used as-well as use Test Mode key and salt for hash generation.

    So while integrating in Test Mode, include the script as shown below in the head section of your payment request page.

    <script id="bolt" src="https://sboxcheckout-static.citruspay.com/bolt/run/bolt.min.js" bolt-
    color="<color-code>"
     bolt-logo="<image path>">
    </script>
    

    Once your integration is done and tested on the sandbox, replace the sandbox JavaScript library with the production library provided by PayU.

    <script id="bolt" src="https://checkout-static.citruspay.com/bolt/run/bolt.min.js" bolt-color="<color-
    code>"
    bolt-logo="<image path>">
    </script>