reactjs - 在 React js 中安装 Razorpay

标签 reactjs

我想为我的 react-js 应用程序集成支付网关 (razorpay)。有谁知道如何集成它?

这是我遇到错误的代码。

let rzp = new Razorpay(options);
rzp.open();

错误是:

TypeError: rzp.open is not a function

最佳答案

在我的例子中,上面的代码稍作修改就可以工作。

代替 let rzp = new Razorpay(options);let rzp = new window.Razorpay(options);

其余的都很好不要忘记注册并获得有效的API key

按照以下链接中的建议将脚本包含在 index.html

https://codepen.io/ankitstarski/pen/QgLXML .

示例如下

<!DOCTYPE html>
<html>

<head>
    <script src="https://checkout.razorpay.com/v1/checkout.js"></script>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>FNETPOC</title>
</head>

<body>
    <div id="root"></div>
    <div id="modal"></div>
    <div id="datetimemodal"></div>
    <div id="slideshowmodal"></div>
    <div id="playbuttonmodal"></div>
</body>

</html>

组件代码如下

class Checkout extends React.Component {
  state = {
    amount: 100
  };

  constructor() {
    super()
    this.changeAmount = this.changeAmount.bind(this);
    this.openCheckout = this.openCheckout.bind(this);
  }

  changeAmount(e) {
    this.setState({amount: e.target.value})
  }

  openCheckout() {
    let options = {
      "key": "YOUR_KEY_ID",
      "amount": this.state.amount, // 2000 paise = INR 20, amount in paisa
      "name": "Merchant Name",
      "description": "Purchase Description",
      "image": "/your_logo.png",
      "handler": function (response){
        alert(response.razorpay_payment_id);
      },
      "prefill": {
        "name": "Harshil Mathur",
        "email": "harshil@razorpay.com"
      },
      "notes": {
        "address": "Hello World"
      },
      "theme": {
        "color": "#F37254"
      }
    };

    let rzp = new window.Razorpay(options);
    rzp.open();
  }

  render () {
    return (
      <div>
        <input type='text' onChange={
           this.changeAmount
          } />
        <button onClick={this.openCheckout}>Pay Rs. {this.state.amount/100}</button> 
      </div>
    )
  }
}

关于reactjs - 在 React js 中安装 Razorpay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52554599/

相关文章:

javascript - 从 JSON 数据中过滤键值对

reactjs - 重新混合表单禁用在没有 useState 的情况下提交

javascript - React Redux Persist 正在补水,但没有检索存储的数据,而是默认

javascript - 在JavaScript中创建服务库,如何将一个文件中的函数导出到另一个文件中?

javascript - 卸载本地软件包时什么会导致持续错误?

reactjs - 在 React 和 Emotion JS 中将样式传递给子级的首选方式是什么?

javascript - 在 render prop 函数中使用 react hooks

javascript - React Js 调用另一个传递 props 的函数

javascript - Flex 子元素在非常小的宽度上消失

node.js - npm start react 问题