search

EMI Subvention through JS Checkout

EMI subvention on JS checkout can be integrated with minimal effort at the merchant side. Merchant will pass the relevant object in the Initiate transaction API and will invoke the JS module through a transaction token. Paytm backend will configure the banks and EMI plans on which you want to offer EMI subvention. Once this configuration is done then Paytm would manage the eligibility during the transaction.

Overview of payment processing via EMI subvention payment

  1. After the user adds the items in the cart, the merchant calls the  Initiate transaction API with an additional “simplifiedSubvention” object.
  2. Paytm receives the request and returns the transaction token in the response to the merchant.
  3. The merchant uses the transaction token along with other parameters to initialise the JS module. The other parameters required are mentioned below:
    1. transactionAmount
    2. tokenType
    3. token
  4. Merchant invokes the JS module.
  5. JS module renders the cashier page on the browser, preset with the configurations received.
  6. User selects the payment instrument and fills the required payment details like card number, expiry date etc.
  7. Paytm receives the request and internally calls the Process transaction API and returns the transaction status to the merchant UI via callback.

Prerequisites

  1. Create an account on Paytm as a merchant. Click on how to create an account.
  2. Get the merchant id and merchant key for the integration environment after creating the account.
  3. Go through the checksum logic to understand how to generate and validate the checksum.
  4. Please go through the EMI Subvention product offering
  5. Get the EMI subvention plans configured for your products. You can collect the data as explained in the section Configuration of EMI subvention plans and send the email with details to your account manager or contact us.
  6. Setup the preferences and customization for the JS checkout if not done already. Please refer to the detailed steps mentioned in the Setting up preferences and theme customization section of JS checkout.

Integration Steps

Note: In case you intend to offer No cost EMI as a payment option to the user for the transaction, then please include the "simplifiedSubvention" object in the Initiate Transaction API.
  1. When the user loads the cart page, the merchant creates order at their backend and calls the Initiate Transaction API with an additional “simplifiedSubvention” object.
    Please refer to the below example explaining the simplifiedSubvention object that needs to be sent as part of the initiate transaction API.

    In case you want to integrate an amount based EMI subvention, you need to pass the simplifiedSubvention Object as explained in the example below. In this example, the total cart amount is of Rs. 2000 out of which you want to offer EMI Subvention on Rs. 1100.

    "simplifiedSubvention":{
          "customerId": "1234",
          "selectPlanOnCashierPage": true,
          "subventionAmount":"1100.00" // subvention amount
     },

    In case you want to integrate an item based EMI subvention, you need to pass the simplifiedSubvention Object as explained in the example below. In this example, there is 1 item in the cart and you want to give EMI subvention on it, then you pass the identifier of the item in the simplifiedSubvention Object. The different identifiers for item based EMI Subvention are categoryList, brandId and model. Out of these three identifiers 1 is mandatory to send. Basically you need to send the same identifiers as you have got configured at Paytm Subvention engine. 

    "simplifiedSubvention":{
          "customerId": "1234",
          "items": [
            {
              "verticalId": "PAYTM_EMI",
              "isEmiEnabled": true,  //whether EMI is enabled for the product
              "isPhysical": true,
              "quantity": 1, //quantity of the product.quantity
              "productId": "321067334", //unique product identifier for the merchant
              "price": 10000, //cumulative price of the product
              "brandId": "53066",
              "categoryList": [
                    "66781"
                     ], //Product category identifiers for the merchant
              "model": "",
              "merchantId": "1152435",
              "id": "1" //unique identifier for one item in the request
            }
          ],
          "selectPlanOnCashierPage": true
          
     },
  2. Paytm receives this request and returns a response containing a transaction token (TXN_TOKEN) to the merchant.

  3. The merchant uses the transaction token, along with other parameters to initialise the JS module. The other required parameters are:

    • transactionAmount
    • tokenType
    • token
  4. JS module renders the cashier page on the browser, preset with the configurations received.

  5. User selects the EMI payment option, selects the plan and enters the card details.User is directed to the bank page for authorization.

  6. User is redirected to the bank page for authorization. Once the transaction is authorized, Paytm receives the response from the bank and returns a status to your website via your callback URL. Please refer to the sample callback response here.

Post Integration Steps

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

  1. Attempt a test transaction using the 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 a live environment with production account details, which you would have received from Paytm.
In case of any issues with integration, please get in touch.