This library uses intent to use UPI as a payment gateway without any payment fees. It communicates peer-to-peer which enables the application to support UPI payments by detecting the installed application on the user's phone. UPI application responds with a transcations summary in JSON format.
- Light weight ⚖️
- Easy to integrate 🔌
- Works on all UPI Apps 🚀
This library is currently supported by Android only. Please add feature request in order to update the library with iOS support.
Install one-react-native-upi with npm
npm install one-react-native-upiInstall one-react-native-upi with yarn
yarn add one-react-native-upiAdd <queries> </queries> in AndroidManifest.xml within <manifest> </manifest> tag. You can add more application (UPI Apps) by knowing their packageName.
<queries>
<package android:name="com.phonepe.app" /> //Phonepe
<package android:name="com.google.android.apps.nbu.paisa.user" /> // GPay
<package android:name="net.one97.paytm" /> // Paytm
<package android:name="in.org.npci.upiapp" /> // BHIM
<package android:name="in.amazon.mShop.android.shopping" /> // AmazonPay
</queries>import OneUpi from 'one-react-native-upi'
import {Button} from 'react-native
function App() {
return <Button
title="Get installed apps"
onPress={() =>
const apps = OneUpi.getInstalledUPIApps()
console.log(apps)
}
/>
}OneUpi.getInstalledUPIApps() returns String[] of installed packageName. If the array is empty that means no apps are installed that supports upi payments
import OneUpi from 'one-react-native-upi'
import {Button} from 'react-native
const config = {
upiId: 'yourmechantid@paytm',
name: 'Sonu',
note: 'Test payment',
amount: '100',
targetPackage: "in.org.npci.upiapp",
}
const onSuccess = (success) => {
console.log({success})
}
const onFailure = (error) => {
console.log({error})
}
function App() {
return <Button
title="Pay now"
onPress={() =>
OneUpi.initiate(
config,
onSuccess,
onFailure,
)
}
/>
}| Field | Type | Default | Required | Description |
|---|---|---|---|---|
| upiId | String | "" | ✅ | Upi id of merchant. Personal UPI will not be processed. |
| name | String | "" | ✅ | Merchant name |
| note | String | "" | ✅ | Payment note |
| amount | String | "" | ✅ | Amount to be paid |
| targetPackage | String | "" | Optional | If not passed then it will open chooser |
| chooserText | String | Pay with | Optional | if you pass targetPackage, it will not be reflected |
| Field | Type | Value | Description |
|---|---|---|---|
| status | String | SUCCESS |
Payment Status |
| txnId | String | Dynamic value | transaction ID |
| code | String | 00 |
success response code |
| approvalRefNo | String | Dynamic value | Transaction Reference Number |
| Field | Type | Value | Description |
|---|---|---|---|
| status | String | FAILED |
payment status |
| message | String | Reason for the failed payment |
No, it currently supports android
I have tested on PayTM, PhonePe, GPay, AmazonPay as of now .
For support, email sky32752@gmail.com.

