类型错误:将razorpay集成到react-native时无法读取null的属性“open”

问题描述 投票:0回答:2

我已经使用安装了react-native-razorpay包

$ npm 我反应-native-razorpay --save

我已经在顶部导入了 RazorpayCheckout:

从“react-native-razorpay”导入 RazorpayCheckout;

然后我创建了一个名为 paymentRazor 的函数,该函数已被调用以调用按钮的 onPress 功能。

const paymentRazor = () => {

var options = {
  key: "rzp_test_Rh5hj15XBv8XmI",
  currency: "INR",
  amount: "5000",
  order_id: "order_DslnoIgkIDL8Zt",
  name: "Akul varshney",
  description: "Payment for purchase order",
  image: "http://103.107.67.49/static/media/Orane-Consulting-logo.c3a9713e.jpg",
  prefill: {
    email: "[email protected]",
    contact: "8800252885",
    name: "Akul Varshney",
  },
  theme: { color: "#53a20e" },
};

console.log(options);

RazorpayCheckout(options)
  .then((data) => {

    let bodyData = {
      razorpay_payment_id: data.razorpay_payment_id,
      razorpay_order_id: "order_DslnoIgkIDL8Zt",
      razorpay_signature: data.razorpay_signature,
    };
    dispatch(razorPayment(bodyData));
    alert(`Success: ${data.razorpay_payment_id}`);
  })

  .catch((error) => {
    // handle failure
    alert(`Error: ${error.code} | ${error.description}`);
    console.log(error);
  });
};

一旦我点击该按钮,就会出现以下错误:

LOG [类型错误:无法读取 null 的属性“open”]

我尝试了上述方法,但是当单击按钮时,打开状态未定义。

android react-native razorpay
2个回答
0
投票

从您的手机上卸载应用程序 和 npm start --重置缓存


0
投票

是因为React原生razor pay不支持expo go模拟器。 您可以创建一个独立的 React Native 项目来测试 razorpay。

© www.soinside.com 2019 - 2024. All rights reserved.