Pre-Auth Payment

Paytm Pre-Auth is a one-click payment experience for your website or mobile app which enable payments via user’s Paytm account. Your customers just need to once authorize and link their Paytm account with your application and later enjoy superfast checkout every time.


This is an ideal solution for cases where the delivery of service or order fulfilment is not immediate. You can block the order amount from your customer’s Paytm account and debit it later when the order is complete, ensuring successful order placement and payment post-delivery.

Note: Paytm Pre-Auth is only available to select enterprise customers with high transaction volumes and established businesses. Get in touch to request access to Paytm Pre-Auth payment solution.

Demo of Paytm Pre-Auth

Overview of payment processing via Paytm Pre-Auth

  1. User visits your website or mobile application.
  2. You ask the user to link their Paytm account with your website or mobile application for seamless payments.
  3. You initiate the account linking process using Send OTP API and Validate OTP API.
  4. Once the user account is successfully linked, Paytm shares the user SSO_TOKEN with you.
  5. User adds goods/services into the shopping/order cart.
  6. You calculate the total amount and call the Paytm Check Balance API.
  7. Paytm returns if the user has sufficient balance for the transaction. If not, you initiate the Add Money process with the differential amount.
  8. Call the Paytm Pre-auth API to block amount from the user's account.
  9. Paytm blocks the amount in user’s account and returns the Preauth ID.
  10. You proceed with order/service fulfilment.
  11. Once the fulfilment is complete, call Capture API with the final amount to capture the amount from user's Paytm account and then notify the payment status to the user.

Steps in processing payments via Paytm Pre-Auth

STEP 1: Get your authentication keys

Note: Paytm Pre-Auth is only available to select enterprise customers with high transaction volumes and established businesses. Get in touch to request access to Paytm Pre-Auth payment solution.

  1. Client ID: A unique alphanumeric identifier issued by Paytm for your account
  2. Client Secret: A unique alphanumeric key issued by Paytm for your account
  3. MID: A unique merchant identifier issued by Paytm for your account
  4. 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.

NoteClient Secret and Merchant Key are secret keys used for encryption so never share these with anyone.


STEP 2: Link a user’s Paytm account with your application

Demo of Paytm Account Linking

Use the following APIs to link a user’s Paytm account, validate the linked account, and remove a linked account.


Please find below the list of APIs and their use cases with respect to the Paytm account linking on merchant App/website.

Usecase Category API Name Description
Send OTP to entered mobile number Send OTP API         

This API is used to send an OTP to a user's mobile number so as to start linking of Paytm user’s account on merchant web/app

Linking of Paytm account Validate OTP API
This API is used to verify the OTP entered by a user and provide the required tokens in response.
  • The tokens received (Access and Refresh token) are specific to client Ids provided by Paytm
  • Access token which is also known as SSO token is an identifier for Paytm user account
  • Refresh token has longer validity and is used to retrieve a new SSO token on its expiry
Refresh Paytm user’s SSO token Refresh Token API This API is used to retrieve the new SSO token of Paytm user account upon its expiry
Validate Paytm user’s SSO token Validate Token API This API is used to validate the Paytm user’s SSO token
De-link Paytm user’s account Revoke Access API This API is used to expire the Paytm user’s SSO token. This is done in case a user deletes or de-links the account on your application.


STEP 3: Check Balance and Add Money

You must ensure the user has enough balance to pay for an order by calling the Check Balance API.

  1. Call Check Balance API with an amount required for the order.

  2. Paytm validates if the given amount exists in any Paytm proprietary payment instrument (Paytm Balance and Paytm Postpaid).

  3. If any of the proprietary payment instruments don’t have sufficient balance then API returns the differential Amount.

    For example A user has Rs.100 in their Paytm Wallet and Rs.150 in Paytm Postpaid. The transaction amount for the order is Rs. 220. In this case, no payment method has sufficient funds so the API returns the differential amount (transaction amount - wallet amount) i.e Rs.120. You have to prompt the user to add money in their Wallet.

  4. In case a user needs to add money to pay for an order, you initiate the Add Money process.

STEP 4: Debit amount from user’s Paytm account and confirm a transaction

STEP 5: Managing Refunds

If you need to cancel or refund a successful transaction, simply send a Refund API request and ensuring success using the Refund Status API.

On completion of your integration

Post completion of integration on your staging environment, do a complete transaction from order summary page on your website or mobile app.

  1. Attempt a test transaction using test paymodes credentials.

  2. Ensure you re-verify transaction response with Transaction Status API via server to server call in payment flow and not separately as a one-time activity.

  3. See the transaction details in the “Test Data” mode on your dashboard.

Once the test transaction is complete, move your code to live environment with production account details, which you would have received from Paytm.


Lastly, it's recommended that you read about Managing Refunds and Late payment notifications.


In case of any issues with integration, please Get in touch.