search

Paytm Assist

Paytm assist helps in achieving frictionless payments by reducing manual intervention by customers for cards and net banking transactions. It works on reducing following transaction frictions:

  1. OTP in card transactions : Assist automatically reads the OTP and fills it on assist window.
  2. Non mobile optimized netbanking pages : Assist mobile optimizes net banking pages which enables users to transact with ease.
  3. User credentials : Assist makes payment process simple by remembering internet banking user ID which removes manual entry effort for all subsequent transactions.

Demo of Paytm Assist

Overview of Net Banking payments via Paytm Assist

  1. User selects Net Banking of a particular bank on merchants' app .
  2. Merchant app invokes Paytm assist SDK.
  3. Assist SDK offers to remember user ID. User can save upto 3 user IDs and can select from already saved user IDs for repeat transactions. It provides a provision for user to view the entered password.
  4. After successful validation of user ID & password, user logs into his banking account and approves the transaction for money to be deducted.

Find the detailed interaction of each system component in case of net Banking in the flowchart below:
 

Steps to Integrate Paytm Assist SDK

Step 1 : SDK installation and set up

  1. Add the following as a dependency in your app-level build.gradle
  2. Implementation 'com.paytm.easypay:easypay:8.5.0-RC-2'
  3. Paytm Assist requires SMS Permission to process OTPs, add following lines in your manifest file:

    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.READ_SMS" />
    
  4. Runtime permission can be accessed via:

    if (ContextCompat.checkSelfPermission(this@MainActivity, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) {          
        ActivityCompat.requestPermissions(this@MainActivity, arrayOf(Manifest.permission.READ_SMS, Manifest.permission.RECEIVE_SMS), 101)
    }
    

Step 2 : Initialization of Paytm SDK

To initialize the Paytm SDK, use below classes:

  • To start Paytm assist one needs to make a singleton object of PaytmAssist:

    PaytmAssist mPaytmAssist = PaytmAssist.getAssistInstance();
    

Step 3 : Initiate Payment

To invoke Paytm assist following code is required

mPaytmAssist.startConfigAssist(this, true, true, R.id.framelayt, mWebView, mActivity, orderId, "TESTMID"); 
mPaytmAssist.startAssist();

 

In which params of startConfigAssist is as follows :

ATTRIBUTE DESCRIPTION
configContextContext Context object (above it's referred as this ).
isEasyActiveBoolean Flag to enable /disable Assist (above it's referred as true ) for app has preference in app.
isEasyEnabledBoolean Flag to enable/disable assist (above it's referred as true ) if to be decided.
viewIDInteger Frame layout id where pop up is placed(above it's referred as R.id.framelayt ).
webView1WebView instance of webview where PG page will be loaded (above it's referred as mWebView )
activityActivity Instance of Activity ( above it's referred as mActivity )
orderIDString OrderID of the txn ( above it's referred as orderId )
midString MID of merchant ( above it's referred as TESTMID )

Add following line in your activity's onDestroy

mPaytmAssist.removeAssist(); 

Testing Assist SDK

Assist SDK features will work whenever a real bank page is loaded and doesn't depend on your development environment. Just add above lines of code and it will start working.