Integration Steps: Android

Steps in processing payments through Paytm UPI Intent

STEP 1: Following are the pre-requisites for integrating the UPI Intent solution:

  1. MID: A unique merchant identifier issued by Paytm for your account.
  2. Merchant Key: This is a unique secret key used to secure encryption of every request. This needs to be kept on server-side and should not be shared with anyone.
  3. Merchant website’s S2S notification URL: Paytm will send the transaction details/status on the callback URL provided by you.

STEP 2: Customize your payment page and Initiate the transaction

The user adds the product into the cart and goes to the payment page. You can show different payment options to the user like Credit/Debit card, Netbanking, UPI etc. on this page. Your backend server creates the order and calls Paytm's Initiate Transaction API. Paytm will provide a transaction token in the response to this request.


STEP 3: Call the Process Transaction API

The user selects the payment mode as UPI. You call the Process Transaction API with the transaction token received earlier. Paytm server on receiving Process transaction request, calls UPI Switch’s UPI Intent API. Once UPI Switch acknowledges the request, Paytm server sends the deep link in response to Process Transaction API request.


STEP 4: Open the available PSP Apps on the user's phone

Your App receives a deep link from your server which gives control to the android in order to open the available PSP Apps on the user’s device. The user can then select the PSP App of his choice from the different PSP Apps opened in order to proceed for the payment.


STEP 5: User selects the PSP App and proceeds for the payment

The user selects one of PSP App e.g. google pay to proceed for the payment for the order. User enters the UPI PIN on the NPCI main page opened by the PSP App with the order details like order amount and Payee VPA address are already filled.


STEP 6: Processing of payment transaction at PSP App and NPCI

After the user enters the UPI PIN and presses the submit button, PSP App sends the money request to NPCI which in turn will request UPI switch to resolve the merchant VPA (with the user account number and ESN). UPI switch will validate the same and send the account details to NPCI. NPCI confirms the payment to both PSP App and the UPI Switch.


STEP 7: PSP App gives the control back to Merchant App

After receiving the payment confirmation status, PSP App gives the control back to the merchant App. UPI Switch also forwards the payment status to the Paytm server.


STEP 8: Paytm server sends the payment status on merchant’s S2S URL

Paytm server sends the payment status on the S2S URL configured by the merchant. You should also validate the response via server-side request using Transaction Status API. This API requires checksumhash in request and response. You must verify the Order Id and Amount with your DB entries. The status should be treated as the final status of the transaction in all cases.