razorpay / react-native-razorpay

React Native wrapper for Razorpay's mobile SDKs
https://www.npmjs.com/package/react-native-razorpay
MIT License
122 stars 107 forks source link

RazorpayCheckout.open is not working, getting null is not an object error #351

Open RahimKadhar66 opened 3 years ago

RahimKadhar66 commented 3 years ago

I have used 2.2.0 version, suddenly pay button in Razorpayment page is not working. So upgraded to latest version 2.2.7, now getting the following error.

[Sat Aug 07 2021 00:09:52.619] LOG Order id : order_Hi0x9j91dMjmEd [Sat Aug 07 2021 00:09:52.720] LOG razor site [Sat Aug 07 2021 00:09:52.722] LOG Error new: [TypeError: null is not an object (evaluating '_reactNative.NativeModules.RazorpayCheckout.open')]

Library Versions used: "react": "16.13.1", "react-dom": "16.13.1", "react-native": "^0.63.3", "react-native-razorpay": "^2.2.7",

PFB, the Payload for reference.

const cardPayment = async () => { axios({ method: 'POST', url: 'https://api.razorpay.com/v1/orders', auth: { username: 'rzp_test_WH5n3QENwJSC1I', password: '**' }, data: { amount: 10000, currency: "INR", receipt: "ICS111, payment_capture: 1 } }).then(response => { console.log("Order id : ", response.data.id); setResOrder(response.data.id); razorhandler(); }).catch((error) => { console.log("Error : ", error); Alert.alert('Error in Order api :', error.response.request._response, [ {text : 'Okay', style: 'default'}]); // handle failure console.log("Error: ", error.response.request._response); }); }

const razorhandler = () => {
    console.log("razor site ");
    const options = {
        description: 'Online Payment',
        image: 'https://i.imgur.com/3g7nmJC.png',
        currency: "INR",
        key: 'rzp_test_WH5n3QENwJSC1I',
        amount: 10000,
        name: 'The Shop',
        order_id: "Order id created from above axios call"
        prefill: {
          email: 'rahim2207@example.com',
          contact: '9999999999',
          name: 'Rahim kadhar'
        },
        theme: {color: '#53a20e'}
      }

      RazorpayCheckout.open(options).then((data) => {
        setPayCheck(data.razorpay_payment_id);
        // handle success
        console.log("Success: " , data.razorpay_payment_id);
        paymentHandler();
      }).catch((error) => {
        console.log("Error new: ", error);
        console.log("Error : Payment cancelled");
      });

}

Kindly help me to resolve this issue.

afshana22 commented 2 years ago

is your issue resolved??? if yes please help me same issue