https://github.com/devsonuyadav/one-react-native-upi
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.
https://github.com/devsonuyadav/one-react-native-upi
android payment payments react react-native upi
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/devsonuyadav/one-react-native-upi
- Owner: devsonuyadav
- Created: 2023-01-24T15:31:07.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-27T12:51:31.000Z (over 2 years ago)
- Last Synced: 2025-06-27T14:43:23.050Z (3 months ago)
- Topics: android, payment, payments, react, react-native, upi
- Language: Java
- Homepage:
- Size: 1.39 MB
- Stars: 16
- Watchers: 1
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README

# one-react-native-upi
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.
## Features
- Light weight ⚖️
- Easy to integrate 🔌
- Works on all UPI Apps 🚀## Badges
[](https://choosealicense.com/licenses/mit/)
[](https://opensource.org/licenses/)
[](http://www.gnu.org/licenses/agpl-3.0)
## Screenshots

## Note
This library is currently supported by Android only. Please add feature request in order to update the library with iOS support.
## Installation
Install one-react-native-upi with npm
```bash
npm install one-react-native-upi
```Install one-react-native-upi with yarn
```bash
yarn add one-react-native-upi
```Add ` ` in AndroidManifest.xml within ` ` tag. You can add more application (UPI Apps) by knowing their packageName.
```bash
//Phonepe
// GPay
// Paytm
// BHIM
// AmazonPay```
## Usage
#### To get installed UPI apps
```javascript
import OneUpi from 'one-react-native-upi'
import {Button} from 'react-nativefunction App() {
return
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
#### To initiate payment
```javascript
import OneUpi from 'one-react-native-upi'
import {Button} from 'react-nativeconst 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
OneUpi.initiate(
config,
onSuccess,
onFailure,
)
}
/>
}
```#### config
| 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 |#### onSuccess response
| 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 |#### onFailure response
| Field | Type | Value | Description |
| ------- | ------ | -------- | ----------------------------- |
| status | String | `FAILED` | payment status |
| message | String | | Reason for the failed payment |## FAQ
#### Will it work with ios?
No, it currently supports android
#### Which apps are supported?
I have tested on PayTM, PhonePe, GPay, AmazonPay as of now .
## Author
- [@devsonuyadav](https://github.com/devsonuyadav)
## Support
For support, email sky32752@gmail.com.
## License
[MIT](https://choosealicense.com/licenses/mit/)