1.1.2 • Published 19 days ago

react-native-upi-payments v1.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
19 days ago

react-native-upi-payments

an react native package which supports upi payment intent for android platform

Installation

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>

Usage

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

NameRequiredDescription
receiverUpiYupi id of receiver
amountYTotal amount to be paid
merchantCodeNmerchant code of upi user
currencyNINR OR USD
pnN
noteNtransation note
txnRefNtransation referance id

Prop types for Options param

NameRequiredDescription
cancelableNmake upi apps sheet cancelable
cancelOnTouchOutsideNmake upi apps sheet cancelable on click outside of sheet
blockedAppsNArray of strings eg. 'com.some.app to exclude from upi apps

License

MIT