Cardless EMI - Integration

Standard Checkout#

If you are using the Razorpay Checkout, there is no need for any separate integration or change to the existing integration.

Learn how to integrate checkout.js in your application.

Custom UI#

If you are integrating using the Custom UI SDK, after the customer selects the EMI payment method step 2, they are redirected to a Razorpay hosted page where they enter the OTP they received on their registered phone number and proceed to select the desired EMI plan.



Learn how to integrate razorpay.js in your application.

To display the alternate EMI payment partners under the EMI option, change the method in the create payment code to cardless_emi.

Copyrazorpay.createPayment({ amount: 5000, email: 'gaurav.kumar@example.com', contact: '9123456780', order_id: 'order_9A33XWu170gUtm', method: ‘cardless_emi’, provider: ‘<provider-name>’ // EMI provider });
amount integer Mandatory
The amount to be paid.


email string Mandatory
The email address of the customer.


contact integer Mandatory
The phone number of the customer. This must be passed in the request body to manually collect OTP.


order_id integer Non-Mandatory
The unique identifer of the order created at Razorpay, if applicable.


method string Mandatory
The payment method. In this case it is cardless_emi.


provider string Mandatory
The name of the cardless EMI payment partner. Currently, Razorpay Checkout supports the following cardless EMI payment partners:

- zestmoney

- earlysalary

Error Codes#

An example error response for a payment failure is shown below:

Copy{ "error": { "code": "USER_DNE", "description": "User does not exist" } }

You can consume the response sent by Razorpay and create an action at your end accordingly. Following are the various error codes.

Error Code

Description

USER_DNE

User does not exist

INV_EMI_PLAN_ID

The EMI plan provided is invalid.

MIN_AMT_REQ

Minimum amount required for transaction.

MAX_AMT_LMT

Maximum amount limit exceeded.

PAYMENT_TIMED_OUT

Payment timed out.

PAYMENT_CANCELLED

Payment cancelled by clicking the cancel button.

PAYMENT_FAILED_PARTNER

Payment failed by partner due to an internal error.

CREDIT_LMT_EXHAUSTED

Credit limit of the customer has exhausted.

INV_CAPTURE_AMT

Capture amount greater than authorized amount.