react-native-upi-payments
TypeScript icon, indicating that this package has built-in type declarations

1.1.8 • Public • Published

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

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


Package Sidebar

Install

npm i react-native-upi-payments

Weekly Downloads

32

Version

1.1.8

License

MIT

Unpacked Size

108 kB

Total Files

32

Last publish

Collaborators

  • sandeepparish