• Getting Started
    • Website Integration
      Mobile Integration (Android/IOS)
      Enterprise Solutions
      Accept Payments
      Process Payments
      API References
      Other Processes

      Validate API - EMI Subvention

      Checksum required: Yes

      Use Case

      This api validates the dynamic conditions on the payment gateway page. Merchant needs to send one of the cacheCardtoken and cardNumber

      Request Attributes

      API Content format: JSON


      channelId StringChannel through which call is initiated.
      For websites, the value is WEB.
      For Mobile websites/App, the value is WAP.
      requestId StringUnique reference ID for a transaction which is generated by merchant.Yes
      requestTimestamp StringUNIX timestamp of the time request is being sentYes
      token StringThe token received from Paytm for that userYes
      tokenTypeStringThis is for authentication method.
      For SSO token authentication, the value is SSO.
      For checksum authentication, the value is CHECKSUM.
      version StringVersion of the API. Current version is v1.Yes


      planId StringID of the planYes
      items Items [ ]Items list sent for EMIYes
      paymentDetails PaymentDetailsPaymentDetailsYes
      generateTokenForIntent booleanIt's value can be True or False. In case, the merchant wants to start the transaction, then it's value should be sent as True, else it's value should be sent as False.No
      mid StringUnique identifier to every merchant provided by Paytm.Yes
      customerId StringUnique reference ID for every customer which is generated by merchant. Special characters allowed in CustId are @, ! ,_ ,$, .Yes
      cacheCardToken StringConditional (either of cacheCardToken or cardNumber should be present)Conditional (either of cacheCardToken or cardNumber should be present)


      id StringAny unique identifier for one item in the request e.g. in case of 2 items in the cart, the values can be sent as 1234 and 1236.Yes
      productId StringUnique product identifier for the merchantYes
      brandId StringProduct brand identifier for the merchant e.g. LG, Sony etc. Should be send in the request if EMI plans are configured with brand attribute.No
      categoryList String[ ]Product category identifiers for the merchant (categories can be Electronics, footwears etc). This should be sent in the request with same value which is configured in the EMI plan.Yes
      model StringModel id of the product. This should be sent if the merchant's EMI plans are configured with model attribute.No
      ean String(Bar code Number) of product. This should be sent if the merchant's EMI plans are configured with EAN attribute.No
      price DoubleCumulative price of the product (multiplied by quantity)Yes
      listingPrice DoubleSelling price of the product (for single quantity)No
      quantity IntQuantity of the productYes
      verticalId StringMerchant need to send this field with value "PAYTM_EMI"Yes
      isEmiEnabled BooleanWhether EMI is Enabled for the productYes
      offerDetails OfferDetailsOfferId that is enabled on the productYes


      cardNumber StringCard Number of the cardOptional
      totalTransactionAmount doubleTotal amount on which transaction has to be doneYes


      offerId StringOfferId of the productYes

      Response Attributes


      version StringVersion of the API passed in the request.
      requestId StringUnique reference ID for a transaction which is generated by merchant sent in request.
      requestTimestamp StringUNIX Timestamp of the response.


      planId StringID of plan
      pgPlanId StringIdentified for the EMI plan. Its value will be in the form BANK_CODE|TENURE
      emiType StringType of EMI. It's value can be SUBVENTION or STANDARD.
      emiLabel StringLabel for EMI [Subvention, "Zero/Low Cost EMI", Standard EMI]
      rate StringRate of interest in percentage for this EMI charged by bank.
      interval StringInterval of EMI in months e.g. 3, 6, 9, 12 etc.
      emi StringEffective EMI cost per month for the item.
      interest StringInterest amount for this EMI charged by bank.
      gratifications Gratification [ ]Gratitifications available on the plans. This field will be present for only subvention EMI plans.
      itemBreakUpList ItemBreakUp [ ]Item wise breakUp of EMI and gratifications.
      bankId StringID of the bank
      bankName StringName of the bank to which card belongs.
      bankCode StringBank code of the card (ICICI,SBI...)
      cardType StringType of Card(CREDIT_CARD or DEBIT_CARD)
      bankLogoUrl StringURL for bank logo
      ResultInfo ResultInfoInformation about result of the API
      emiSubventionToken StringToken which is generated when merchant intends to do payment on the card of customer. This field is present in the response when generateTokenForIntentboolean in the request is 'True'. It will be needed to send in the initiateTransaction API request.
      finalTransactionAmount StringAmount that is returned after subvention is applied


      id StringID of the item
      interest DoubleInterest aplicable on item
      offerId StringID of the offer
      amountBearer AmountBearerEMI of the item
      subventionType StringType of Subvention
      gratifications Gratification [ ]Gratifications available on per item.


      value DoubleAmount of gratficication e.g. the interest amount which is to be given as discount or cashback
      type EnumType of grattification, its value can be DISCOUNT or CASHBACK
      label StringLabel for gratification.


      brand DoubleName of the brand (Amazon)
      merchant DoubleName of the merchant (MI)
      platform DoubleName of the platform (Paytm PG)


      resultStatus StringStatus of Result("S" or "F")
      resultMsg StringMessage of Result
      resultCode StringCode of the Result

      Response Codes and Messages

      1001FRequest prameters are not valid
      1007FMissing mandatory element
      2006FMID is invalid
      EMI_001FMandatory info is missing
      EMI_002FItems's data is not valid
      EMI_003FItems are empty
      EMI_004FSome error occured. Please try later
      EMI_005FPlans not available right now. Please try later
      EMI_006FNo emi options are available for these items
      EMI_007FInvalid bank details
      EMI_008FYou are not eligible for availing EMI on this card
      EMI_009FSelected plan does not exist
      EMI_010FSelected plan is not eligible for these items
      EMI_011FSelected plan details might have changed
      EMI_012FLock is acquired, please try after some time
      EMI_013FCards details are invalid
      EMI_014FNo subvented items found to be stamped
      EMI_015FOrder data could not be stamped. Please try again
      EMI_016FOrder item status could not be updated. Please try again
      EMI_017FMore than 2 retries are not allowed
      EMI_018FEMI is not enabled on some items
      EMI_019FSome of the selected offers are invalid
      EMI_020FSelected plan is not offered by this bank


      Staging: https://securegw-stage.paytm.in/theia/api/v1/emiSubvention/validateEmi?mid={mid}

      Production: https://securegw.paytm.in/theia/api/v1/emiSubvention/validateEmi?mid={mid}

      Request CodeResponse JSON
      curl -X POST 'https://securegw-stage.paytm.in/theia/api/v1/emiSubvention/validateEmi?mid={mid}' --header 'Content-Type: application/json' --data '{"body":{"items":[{"id":"{id}","productId":"{product-id}","brandId":"{brand-id}","categoryList":["{categories}"],"quantity":"{number-of-quantity}","price":"{total-price}","verticalId":"PAYTM_EMI","isEmiEnabled":true,"offerDetails":{"offerId":"{offer-id}"}}],"mid":"{mid}","customerId":"{customer-id}","planId":"{plan-id}","paymentDetails":{"totalTransactionAmount":"{total-transaction-amount}","cardNumber":"|{card-number}|{cvv}|{mmyyyy}"},"generateTokenForIntent":true},"head":{"requestId":"{request-id}","token":"{CHECKSUM}","tokenType":"CHECKSUM"}}'