UNPKG

react-native-upi-payments

Version:
145 lines (109 loc) 3.58 kB
# react-native-upi-payments an react native package which supports upi payment intent for android platform ## Installation ```sh npm install react-native-upi-payments ``` or using yarn ```sh yarn add react-native-upi-payments ``` add this usages permission at top of your manifeast file ``` <manifest > add these lines only <queries> <intent> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:host="pay" android:scheme="upi" /> </intent> </queries> <application ...... </application> ``` ## Usage ```js import { initWithParams } from 'react-native-upi-payments'; // ... initWithParams({ amount: 100, receiverUpi: "receiver@upi', currency: 'INR',//optional }) .then((result: string) => { console.log('Payment successful',result) }) .catch((e) => { console.log('error', e); }); ``` If you already have a complete payment uri you can use ```js import { initWithUri } from 'react-native-upi-payments'; // ... const uri = 'upi://pay?pa=dummymerchant@upi&pn=Dummy%20Merchant&mc=1234&tid=1234567890&tr=12345678&tn=Test%20Transaction&am=10.00&cu=INR'; initWithUri(uri) .then((result: string) => { console.log('Payment successful', result); }) .catch((e) => { console.log('error', e); }); ``` `upiAppSelectListener` should use when you want an event when any upi app got selected for payment ``` React.useEffect(() => { const subscription = upiAppSelectListener.addListener((data: any) => { console.log('upi app selected', data); }); return () => upiAppSelectListener.removeListener(subscription); }, []); ``` **NOTE:** **pass the options params for disable some upi apps to be included ** you can check if specific app package is installed or not ```js import { isAppInstalled } from 'react-native-upi-payments'; isAppInstalled('com.whatsapp') .then((isInstalled) => { console.log('app installed'); }) .catch((e) => { console.log('Not installed'); }); ``` to fatch all upi available apps or if want to exclude specific app use opetions params ``` fetchUpiApps({ blockedApps:['com.some.app'] }) .then((data) => { console.log('Installed apps', data); }) .catch((e) => { console.log('err'); }); ``` ParamsType for sending the upi params using `initWithParams` function | Name | Required | Description | | ------------ | -------- | ------------------------- | | receiverUpi | Y | upi id of receiver | | amount | Y | Total amount to be paid | | merchantCode | N | merchant code of upi user | | currency | N | INR OR USD | | pn | N | | | note | N | transation note | | txnRef | N | transation referance id | Prop types for Options param | Name | Required | Description | | -------------------- | -------- | ------------------------------------------------------------- | | cancelable | N | make upi apps sheet cancelable | | cancelOnTouchOutside | N | make upi apps sheet cancelable on click outside of sheet | | blockedApps | N | Array of strings eg. ['com.some.app] to exclude from upi apps | ## License MIT ---