1.1.9 • Published 4 years ago

react-native-paytm-customui-sdk v1.1.9

Weekly downloads
57
License
ISC
Repository
github
Last release
4 years ago

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

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-paytm-customui-sdk and add RNPaytmCustomuiSdk.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNPaytmCustomuiSdk.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)

Android

For react >= 16.0 auto linking is supported, for react < 16.0 use custom linking #####Custom linking 1. 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 the getPackages() method 2. 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')
	```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
	```
   compile project(':react-native-paytm-customui-sdk')
	```
	
4. 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 of `onCreate()` method.

## Usage
```javascript
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. 1. Input Params: - clientId - String - provided by Paytm 2. 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. 1. Input Params: - clientId - String - provided by Paytm 2. 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 1. 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() 2. 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 1. 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 2. 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 1. 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 2. 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 1. 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 2. 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=>{
    
});
1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.1

4 years ago

1.1.2

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago