android - 为 Razorpay 结账设置 Android Webview

标签 android android-webview razorpay

我想通过 Webview 在 Android 中集成 Razorpay 支付网关。

按照 here 中提供的步骤进行操作!

public class RazorPayActivity extends AppCompatActivity {

@Override
 protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_razor_pay);

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

        webView.getSettings().setJavaScriptEnabled(true);

        webView.getSettings().setPluginState(WebSettings.PluginState.ON);

        PaymentInterface paymentInterface = new PaymentInterface();

        webView.addJavascriptInterface(paymentInterface, "PaymentInterface");
String html = "<html><script> var options = {callback_url: my_url',redirect: true}</script></html>";
 webView.loadDataWithBaseURL("base_url",html , "text/html", "utf-8", null);

}

 class PaymentInterface{
        @JavascriptInterface
        public void success(String data){
            Log.i("RAZORPAY_LOG","success: "+data);
        }
        @JavascriptInterface
        public void error(String data){
            Log.i("RAZORPAY_LOG","error: "+data);
        }
    }

我还有一个回调 URL,将传递给它来处理传入的 POST 请求。

   var options = {
      callback_url: 'https://your-server/callback_url',
      redirect: true
    }

在通过作为 base_url 发送的 Razorpay URL 完成付款结帐后,我无法从 webview 重新控制应用程序。

谁能帮我解决整个过程中遗漏的部分?

最佳答案

  1. 通过从 JS/WebView 调用 JavascriptInterface 对象,确保您的 JS 到 Native Bridge 正常工作。 Android Documentation
  2. 尝试调试 WebView,检查 JS 控制台是否有可能的错误输出。 WebView debugging info

关于android - 为 Razorpay 结账设置 Android Webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57963148/

相关文章:

android - 测试异步 RxJava 代码 - Android

android - 使用 FMOD 保存输出而不播放

java - findViewById 在 android studio 1.1 中为 WebView 返回 null

Android:如何强制 WebView 播放来自 youtube 的视频?

java - Razorpay 支付 id 在 onPaymentError Android 中返回 null

android - ArrayAdapter 的 getView() 方法在 EditText 焦点事件上自动调用

php - 无法比较/解密密码 (PHP/Android)

android - 是否可以访问 WebView 缓存?

android - 为什么我将 Razorpay 与 Flutter 结合使用会出现此错误 => Uncaught TypeError :window. getDeviceDetails is not a function and BAD_REQUEST_ERROR?

django - Razorpay 使用 GET 方法而不是 POST 访问回调 URL