Integrate Payment Methods in Custom Checkout

Integrate Cardless EMI, Debit and Credit Card EMI and Pay Later payment methods at Custom Checkout.


You can integrate the following payment methods at Checkout to make your products or services more affordable for the customers:

  • Cardless EMI
    Use Cardless EMI to convert their payment amount to EMIs, without a debit or a credit card. This makes high-value products affordable for customers, as they can purchase without a large down payment. Some of the Cardless EMI providers in the market are InstaCred, EarlySalary and Zestmoney.

  • Debit and Credit Card EMI
    EMI is a popular payment method that customers prefer to reduce upfront payments for products. The EMIs are available on both debit cards and credit cards.

  • Pay Later
    Pay Later offers digital credit to your customers, allowing them to purchase products without making an immediate payment. Some of the Pay Later providers in the market are FlexiPay by HDFC Bank, ICICI Pay Later, Simpl and LazyPay.

To submit the payment details, you must invoke the createPayment method. In this method, add the following parameters, along with the usual checkout parameters.

Cardless EMI is a checkout payment method that allows customers to convert their payment amount to EMIs. The user does not require a debit or credit card. Make payments via credits approved by the supported Cardless EMI payment partner.

Feature Request

  • This is an on-demand feature. Please raise a request with our to get this feature activated on your Razorpay account.
  • Watch this video to know how to raise a feature enablement request on the Razorpay Dashboard.
Feature Request GIF

Watch Out!

The customer should be registered with the cardless EMI payment partner before making the payment.

var data = {
amount: 500000,
currency: 'INR',
email: 'gaurav.kumar@example.com',
contact: '9000090000',
order_id: 'order_EAkbvXiCJlwhHR',
method: 'cardless_emi',
provider: 'zestmoney'
});

method

mandatory

string The payment method to be used by the customer to complete the payment. Here, the value must be cardless_emi.

provider

The Cardless EMI provider. Possible values:

  • barb
  • cshe
  • hdfc
  • icic
  • idfb
  • kkbk
  • krbe
  • zestmoney
  • earlysalary
  • tvsc
  • walnut369

For EMIs, data is the same as the card, with the following differences:

  • method should be emi
  • An additional field, emi_duration corresponding to the number of months for EMI, should be included. After the customer selects the desired plan, pass the corresponding value in the emi_duration field.
razorpay.createPayment({
amount: 300000,
email: 'gaurav.kumar@example.com',
contact: '9000090000',
order_id: 'order_9A33XWu170gUtm',
method: 'emi',
emi_duration: 9,
'card[name]': 'Gaurav Kumar',
'card[number]': '5241810000000000',
'card[cvv]': '123',
'card[expiry_month]': '10',
'card[expiry_year]': '30'
});

method

mandatory

string The payment method to be used by the customer to complete the payment. Here, the value must be emi.

emi_duration

mandatory

integer Enter the duration of the EMI scheme in months. For example, 12.

card

The details of the debit or credit card that should be entered while making the payment.

number

mandatory

integer Unformatted card number.

name

mandatory

string The name of the cardholder.

expiry_month

mandatory

integer Expiry month for the card in MM format.

expiry_year

mandatory

integer Expiry year for the card in YY format.

cvv

mandatory

integer CVV printed on the back of the card.

Handy Tips

  • CVV is not required by default for Visa and Amex tokenised cards.
  • To enable CVV-less flow for Rupay and MasterCard, contact our .
  • CVV is mandatory for Diners tokenised cards.
  • CVV is an optional field. Skip passing the cvv parameter to Razorpay to implement this change.

To display the available EMI plans, use the Razorpay checkout helper methods to fetch the details of the EMI plans and display them. You can use the event ready, as shown below:

var razorpay = new Razorpay(...); // as before
/**
* The above code remains the same.
* You can fetch the available EMI plans by adding the below code in your options.
*/
razorpay.once('ready', function() {
console.log(razorpay.methods.emi_plans);
console.log(razorpay.methods.netbanking);
})

razorpay.methods.emi_plans

string Lists the EMI-supported banks with their respective interest rates.

razorpay.methods.netbanking

string Contains the list of all banks and bank codes.

razorpay.createPayment({
amount: 200000,
currency: 'INR',
email: 'gaurav.kumar@example.com',
contact: '9111145678',
order_id: 'order_DPzFe1Q1dEObDv',
method: 'paylater',
provider: <provider_name>
});

method

mandatory

string The payment method to be used by the customer to complete the payment. Here, the value must be Pay Later.

provider

mandatory

The Pay Later provider. Possible values:

  • rzpx_postpaid

  • getsimpl

  • icic

  • hdfc

  • lazypay

    Watch Out!

    LazyPay services are temporarily disabled.


Is this integration guide useful?