EMI subvention - Zero/No cost EMI
EMI subvention solution empowers you to provide an option to your customers for making total payment in easy equal installments at effectively zero percentage interest rate. With this solution, your customers get encouraged to make big value purchases without worrying about making complete upfront payment. You can give this feature by providing the interest component as cashback to the payment instrument used by the customer or by reducing the principal amount itself.
For e.g. If a customer purchases a product worth Rs 60000, then a EMI subvention product will give merchant flexibility so that the customer can pay Rs 10000 each month for 6 months.
Demo of EMI subvention
Overview of payment processing via EMI subvention payment
- User visits your website or mobile application.
- User adds goods/services into the shopping/order cart.
- User is shown the different payment modes available e.g. Debit card, credit card, EMI, netbanking etc.
- User selects the option of EMI. You will call the Banks API. This API will return you the list of banks providing the EMI payment options grouped by EMI type (standard or subvention).
- Based on the response of the above API, the user is shown the list of banks with type of cards (credit or debit) providing the EMI payment option (subvention and standard).
- User selects a bank from the subvention list in step 5 and starts entering the card number. Once a user has entered the first six digits of the card, you will call Fetch Bin Details API to check if the bank selected by user matches with the issuing bank of the card that user has entered. In case of mismatch, the user should be prompted to enter valid card details.
- Based on the bank and card type selection, you will call the Tenures API. This API will return the different EMI options available on the product being purchased along with the gratification type (cashback or discount).
- After the user has entered all the card details and proceeds to make the payment, you will call Validate API. This API will validate the EMI offer against the product attributes entered card and the tenure chosen. In the response you will receive emiSubventionToken.
- You will call the Initiate Transaction API and send the same emiSubventionToken received in the response of Validate API.
- Paytm will share a transaction token in the response of Initiate Transaction API post validation.
- Using the transaction token received in the above step, merchant will validate the response and return the transaction token to the merchant app/browser.
- You will call Process Transaction API using the same token. Since Paytm validates the transaction token as the unique parameter to honour the request to execute transaction, transaction token should be same as in the response received from Initiate transaction API.
- Paytm processes the transaction post validating the request and shares the status of the transaction with you. You would show the transaction status as received through Paytm.
Find the detailed interaction of each system component in the flowchart below:
Steps in processing payments via zero cost EMI
STEP 1: Get your authentication keys
- MID: A unique merchant identifier issued by Paytm for your account.
- 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.
STEP 2: Configure the EMI subvention plans for your products
You will need to get configuration for the EMI subvention options in agreement with different banks. Please send the email with details to your account manager or you may contact us.
STEP 3: Customize your payment page
The user adds the product and goes to the payment page. Here either you can call the Fetch Payment Options API to get the list of payment modes configured and show to users or you can define your own logic and customize to show the different payment options. The user is shown different payment options like Credit/debit card, EMI options, netbanking, UPI etc.
STEP 4: Fetch Banks offering EMI options
If you show the payment options based on your logic and when the user selects the EMI payment option, you will call Banks API to get the list of banks providing the EMI options for the payment. In the request you need to send the product information and the merchant information. In the response you will receive the list of banks grouped by emi type (standard or subvention) available for emi payment. Also you would receive the card type of the bank offering the emi payment option.
STEP 5: Fetch different emi tenures after user selects one of the bank options
User selects one of the bank options and you call Tenures API to get the list of different subvention emi plans available against the bank selected. In the response, you will receive the different EMI plans available for the product with the selected bank which would include the EMI type, interest details, details of gratification type (cashback or discount type). Different EMI plans and their gratification type will be as per the plans which you would have got configured as mentioned in Step 2.
STEP 6: Validate the emi option selected by the customer
Once the user selects on a tenure and clicks on the “Pay now” button to proceed for making payment, you call Validate API. In the request you will send the product and plan information along with card number details. In the response, you will receive the emiSubventionToken which you would need to send in the Initiate Transaction API.
STEP 7: Initiate transaction with the EMI plan selected
You will pass the emisubventionToken in the Initiate Transaction API. Paytm will provide transaction token in the response to this request.
STEP 8: Process transaction
You call the Process transaction API to process the transaction.
STEP 9: Validating Checksum
Checksumhash received in response to process transaction needs to be verified on merchant server using Paytm library with all the parameters in key-value pairs.
Step 10: Validate the Transaction
You should always validate transaction 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.
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.
- Attempt a test transaction using test paymodes credentials
- 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
- See the transaction details in “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.