GithubHelp home page GithubHelp logo

tanveerbyn / one-react-native-upi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from devsonuyadav/one-react-native-upi

0.0 0.0 1.0 1.42 MB

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.

JavaScript 7.25% Ruby 14.73% C 0.41% Objective-C 10.73% Java 53.89% TypeScript 7.20% Objective-C++ 4.55% Swift 1.24%

one-react-native-upi's Introduction

Logo

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

MIT License

GPLv3 License

AGPL License

Screenshots

Demo

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

npm install one-react-native-upi

Install one-react-native-upi with yarn

yarn add one-react-native-upi

Add <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>

Usage

To get installed UPI apps

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

To initiate payment

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,
            )
          }
        />
}

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

Support

For support, email [email protected].

License

MIT

one-react-native-upi's People

Contributors

devsonuyadav avatar tanveerbyn avatar

Forkers

tkbyn

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.