an react native package which supports upi payment intent for android platform
npm install react-native-upi-payments
or using yarn
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" />
<data android:scheme="upi" />
</intent>
</queries>
<application
......
</application>
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
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
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 |
MIT