【问题标题】:Razorpay checkout window is not opening in WordPressRazorpay 结帐窗口未在 WordPress 中打开
【发布时间】:2021-06-27 18:47:01
【问题描述】:

由于某些原因而不是使用 WordPress 中提供的 razorpay 插件,我正在编写自己的插件,并在其中创建了一个表单,提交后我想将其重定向到 Razorpay 结帐窗口。我已经为相同的代码编写了以下代码-

<html>
        <body>
        <form action="" method=POST>
                <label>Full Name:</label>
                <input type="text" id="fname" name="fname"><br><br>
                <label>Mob Number:</label>
                <input type="text" name="mobnum" id="mobnum"><br><br>
                <label>Address:</label>
                <input type="text" name="add" id="add"><br><br>
                <input type="submit" name="submit" value="Submit" onclick="myFunction()">
        </form>
        </body>
        <script src="https://checkout.razorpay.com/v1/checkout.js"></script>
        <script>
                function myFunction() {
                        var name = document.getElementById("fname");
                        var mob = document.getElementById("mobnum");
                        var add = document.getElementById("add");
                        var options = {
                            "key": "*********",
                            "data-amount": "100", // 2000 paise = INR 20
                            "data-currency": "INR",
                            "data-id": "<?php echo 'OID'.rand(10,100).'END';?>",
                            "data-name": "Plugin Test",
                            "data-description": "Plugin Testing Training",
                            "handler": function (response){

                                    alert(JSON.stringify(response));
                            },
                            "prefill": {
                                "name": "XYZ",
                                "email": "xyz@gmail.com"
                            },
                            "theme": {
                                "color": "#F37254"
                            }
                        };
                        var rzp1 = new Razorpay(options);
                        rzp1.open();
                    }
        </script>
        </html>

但这里的问题是 razorpay 结帐窗口没有打开并且它抛出如下错误 -

"serviceworker" must be a dictionary in your web app manifest.

谁能帮帮我?提前致谢。

【问题讨论】:

    标签: javascript html wordpress razorpay


    【解决方案1】:

    这个问题已经在 jQuery 的帮助下得到解决。我添加了 jQuery 脚本并在代码中进行了以下更改 -

    <html>
            <body>
            <form action="" method=POST>
                    <label>Full Name:</label>
                    <input type="text" id="fname" name="fname"><br><br>
                    <label>Mob Number:</label>
                    <input type="text" name="mobnum" id="mobnum"><br><br>
                    <label>Address:</label>
                    <input type="text" name="add" id="add"><br><br>
                    <input type="submit" name="submit" id="submit" value="Submit">
            </form>
            </body>
            <script src="https://checkout.razorpay.com/v1/checkout.js"></script>
            <script src ="http://code.jquery.com/jquery-1.10.1.min.js"></script>
            <script>
                    jQuery('#submit').on('click', function(e) {
                            e.preventDefault();
                            var name = document.getElementById("fname");
                            var mob = document.getElementById("mobnum");
                            var add = document.getElementById("add");
                            var options = {
                                "key": "*********",
                                "data-amount": "100", // 2000 paise = INR 20
                                "data-currency": "INR",
                                "data-id": "<?php echo 'OID'.rand(10,100).'END';?>",
                                "data-name": "Plugin Test",
                                "data-description": "Plugin Testing Training",
                                "handler": function (response){
    
                                        alert(JSON.stringify(response));
                                },
                                "prefill": {
                                    "name": "XYZ",
                                    "email": "xyz@gmail.com"
                                },
                                "theme": {
                                    "color": "#F37254"
                                }
                            };
                            var rzp1 = new Razorpay(options);
                            rzp1.open();
                        });
            </script>
            </html>
    

    【讨论】:

      【解决方案2】:

      问题似乎出在“POST”表单上。

      所以也许你可以删除 POST 并在点击时调用 myFunction()。

      示例 - onClick = " myFunction()"

      这个

      【讨论】:

      • 感谢您的回复。我尝试了您建议的方式,但它不起作用。
      • 如果 Razorpay 插件无法正常工作,请在此处提出请求 - razorpay.com/support
      猜你喜欢
      • 2017-12-28
      • 2014-11-07
      • 1970-01-01
      • 2012-02-28
      • 2021-10-10
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      相关资源
      最近更新 更多