react-native-payu
Getting started
$ npm install react-native-payu --save
Installation
Only For RN <= 0.59
$ react-native link react-native-payu
iOS
Add following line in Podfile
pod 'PayUmoney_PnP'
Then, run the following command:
$ pod install
RN >= 0.60
No need to do anything
iOS Manual Installation
Add following line in Podfile
pod 'react-native-payu', :path => '../node_modules/react-native-payu'`
pod 'PayUmoney_PnP'
Then, run the following command:
$ pod install
Android Manual Installation
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNPayUPackage;
to the imports at the top of the file - Add
new RNPayUPackage()
to the list returned by thegetPackages()
method
-
Append the following lines to
android/settings.gradle
:include ':react-native-payu' project(':react-native-payu').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-payu/android')
-
Insert the following lines inside the dependencies block in
android/app/build.gradle
:implementation project(':react-native-payu')
Usage
-
Get PayU data:
Create your Merchant account in PayU website. https://www.payu.in Under Profile you will get your Merchant ID Under DASHBOARD you will get Merchnat KEY and SALT Key. Also Test Card details are available which can be used for testing.
-
Import PayUMoneyLib module to your component:
import PayUMoneyLib from 'react-native-payu';
-
Call
PayU()
method with the paymentoptions
. Method returns a Promise
const payUData = amount: '100' txnId: '642346786768' productName: 'product_name' firstName: 'First Name' email: 'abc@payu.in' phone: '9444444444' //Number should be valid in test mode also merchantId: 'Your Merchant Id' key: 'Your Merchant Key' successUrl: 'Your success URL or success webhook URL' failedUrl: 'Your failed URL or failed webhook URL' isSandox: true //In case of production or Live set false hash:'Hash Code' //You can check it below how to generate hash code,// You can also add udf1 to udf10 for additional info PayU;
### Validating Hash
Don't use in production just for testing purpose
PayU; // output: 43dfxcvdxd345tre534g545gb54e4g646h7nfgr35e060c3bfc0e489290e7c902750d5db3fc8be2f180daf4d534d7b9bef46fa0158a4c8a057b61
Server side function to get Hash Code
{ const hashString = `||||||||||||||||`; //In case you are not passing udf values then set it as empty string return ;}
### Troubleshooting
Below is the test card details for transaction in the testing mode.
Card No - 5123 4567 8901 2346 Expiry - 11/22 // any future date CVV - 123 OTP - 123456