react-native-paytm-customui-sdk
v1.1.9
Published
This library is a react native implementation of Paytm's custom-ui SDK android/ios. For more information you can visit https://developer.paytm.com/docs/custom-ui-sdk. Current version works for Android only. Will support ios integration very soon.
Downloads
4
Readme
react-native-paytm-customui-sdk
This library is a react native implementation of Paytm's custom-ui SDK android/ios. For more information you can visit https://developer.paytm.com/docs/custom-ui-sdk. Current version works for Android only. Will support ios integration very soon.
Getting started
$ npm install react-native-paytm-customui-sdk --save
Mostly automatic installation
$ react-native link react-native-paytm-customui-sdk
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-paytm-customui-sdk
and addRNPaytmCustomuiSdk.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNPaytmCustomuiSdk.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)
Android
For react >= 16.0 auto linking is supported, for react < 16.0 use custom linking #####Custom linking
Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNPaytmCustomuiSdkPackage;
to the imports at the top of the file - Add
new RNPaytmCustomuiSdkPackage()
to the list returned by thegetPackages()
method
- Add
Append the following lines to
android/settings.gradle
:include ':react-native-paytm-customui-sdk' project(':react-native-paytm-customui-sdk').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-paytm-customui-sdk/android')
Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-paytm-customui-sdk')
Open up
android/app/src/main/java/[...]/MainApplication.java
- Add
import net.one97.paytm.nativesdk.PaytmSDK;
to the imports at the top of the file - Add
PaytmSDK.init(this);
at the end ofonCreate()
method.
Usage
import PaytmCustomuiSdk from 'react-native-paytm-customui-sdk';
##API
All the APIs return promise. Please go to https://developer.paytm.com/docs/custom-ui-sdk for more information about different function and parameter information.
####checkPaytmInstalled() Checks if the Paytm App is installed on the device.
####Example
PaytmCustomuiSdk.isPaytmAppInstalled().then(paytmInstalled => {
// your logic
});
####fetchAuthCode() Fetch auth code for Paytm.
- Input Params:
- clientId - String - provided by Paytm
- Returns authCode as string.
####Example
PaytmCustomuiSdk.fetchAuthCode(clientId).then(authCode => {
// returns authCode as a string
});
####getUPIAppsInstalled() Gets the list of UPI apps installed on the device.
- Input Params:
- clientId - String - provided by Paytm
- Returns list of UPI app names as string.
####Example
PaytmCustomuiSdk.getUPIAppsInstalled().then(apps => {
// returns list of app names ex.['Paytm', 'GooglePay'] as string. parse it to JSON
const appNames = JSON.parse(apps);
});
####startUPIIntentTransaction(mid, orderId, txnToken, amount, isAssistEnabled, loggingEnabled, customEndpoint, merchantCallbackUrl, paymentFlow, appName) Start paytm via Paytm UPI intent flow
- Input Params:
- mid - String - provided by Paytm
- orderId - String
- txnToken - String - received from initiate transaction API response via server
- amount - float
- isAssistEnabled - boolean
- loggingEnabled - boolean
- customEndpoint - String - provided by paytm,
- merchantCallbackUrl - String - optional in case you want txn result to be sent to server
- paymentFlow - String - It’s value can be NONE,HYBRID,ADDNPAY
- selectedAppName - any one value selected from app list you get it by calling getUPIAppsInstalled()
- Returns TransactionInfo object data as string.
####Example
PaytmCustomuiSdk.startUPIIntentTransaction(mid, orderId, txnToken, amount, isAssistEnabled, loggingEnabled, customEndpoint, merchantCallbackUrl, paymentFlow, selectedAppName).then(txnInfo => {
// returns TransactionInfo object data
}).catch(err=>{
});
#####Sample TransactionInfo data:
{
"ORDERID": "PARCEL15816826759",
"MID": "AliSub58582630351896",
"TXNID": "20200214111212800110168052313701129",
"TXNAMOUNT": "1.00",
"PAYMENTMODE": "CC",
"CURRENCY": "INR",
"TXNDATE": "2020-02-14 17:48:13.0",
"STATUS": "TXN_SUCCESS",
"RESPCODE": "01",
"RESPMSG": "Txn Success",
"MERC_UNQ_REF": "test4",
"UDF_1": "test1",
"UDF_2": "test2",
"UDF_3": "test3",
"ADDITIONAL_INFO": "test5",
"GATEWAYNAME": "ICICIPAY",
"BANKTXNID": "68568621250",
"BANKNAME": "HSBC",
"PROMO_CAMP_ID": "PROMO CODE",
"PROMO_RESPCODE": "702",
"PROMO_STATUS": "FAILURE"
}
####startWalletTransaction(mid, orderId, txnToken, amount, isAssistEnabled, loggingEnabled, customEndpoint, merchantCallbackUrl, paymentFlow) Start Paytm wallet transaction
- Input Params:
- mid - String - provided by Paytm
- orderId - String
- txnToken - String - received from initiate transaction API response via server
- amount - float
- isAssistEnabled - boolean
- loggingEnabled - boolean
- customEndpoint - String - provided by paytm,
- merchantCallbackUrl - String - optional in case you want txn result to be sent to server
- paymentFlow - String - It’s value can be NONE,HYBRID,ADDNPAY
- Returns TransactionInfo object data as string.
####Example
PaytmCustomuiSdk.startWalletTransaction(mid, orderId, txnToken, amount, isAssistEnabled, loggingEnabled, customEndpoint, merchantCallbackUrl, paymentFlow).then(txnInfo => {
// returns TransactionInfo object data
}).catch(err=>{
});
#####Sample TransactionInfo data:
{
"ORDERID": "PARCEL15816826759",
"MID": "AliSub58582630351896",
"TXNID": "20200214111212800110168052313701129",
"TXNAMOUNT": "1.00",
"PAYMENTMODE": "CC",
"CURRENCY": "INR",
"TXNDATE": "2020-02-14 17:48:13.0",
"STATUS": "TXN_SUCCESS",
"RESPCODE": "01",
"RESPMSG": "Txn Success",
"MERC_UNQ_REF": "test4",
"UDF_1": "test1",
"UDF_2": "test2",
"UDF_3": "test3",
"ADDITIONAL_INFO": "test5",
"GATEWAYNAME": "ICICIPAY",
"BANKTXNID": "68568621250",
"BANKNAME": "HSBC",
"PROMO_CAMP_ID": "PROMO CODE",
"PROMO_RESPCODE": "702",
"PROMO_STATUS": "FAILURE"
}
####fetchUPIBalance(mid, orderId, txnToken, amount, isAssistEnabled, loggingEnabled, customEndpoint, merchantCallbackUrl, vpa, bankAccountString) Start Paytm wallet transaction
- Input Params:
- mid - String - provided by Paytm
- orderId - String
- txnToken - String - received from initiate transaction API response via server
- amount - float
- isAssistEnabled - boolean
- loggingEnabled - boolean
- customEndpoint - String - provided by paytm,
- merchantCallbackUrl - String - optional in case you want txn result to be sent to server
- vpa - String - Virtual Payment Adress(eg.xyz@paytm)
- bankAccountString - String - JSON string representing a bank account for upi
- Returns TransactionInfo object data as string.
####Example
PaytmCustomuiSdk.startWalletTransaction(mid, orderId, txnToken, amount, isAssistEnabled, loggingEnabled, customEndpoint, merchantCallbackUrl, vpa, bankAccountString).then(balanceInfo => {
// returns balance information
}).catch(err=>{
});
####setUpiMpin(mid, orderId, txnToken, amount, isAssistEnabled, loggingEnabled, customEndpoint, merchantCallbackUrl, vpa, bankAccountString) Start Paytm wallet transaction
- Input Params:
- mid - String - provided by Paytm
- orderId - String
- txnToken - String - received from initiate transaction API response via server
- amount - float
- isAssistEnabled - boolean
- loggingEnabled - boolean
- customEndpoint - String - provided by paytm,
- merchantCallbackUrl - String - optional in case you want txn result to be sent to server
- vpa - String - Virtual Payment Adress(eg.xyz@paytm)
- bankAccountString - String - JSON string representing a bank account for upi
- Returns TransactionInfo object data as string.
####Example
PaytmCustomuiSdk.startWalletTransaction(mid, orderId, txnToken, amount, isAssistEnabled, loggingEnabled, customEndpoint, merchantCallbackUrl, vpa, bankAccountString).then(status => {
// returns transaction status
}).catch(err=>{
});