Eligibility Check API
Check if the customer is eligible for Affordability payment instruments using the Eligibility Check API.
Use the Eligibility Check API to verify your customer's eligibility for Affordability-related payment instruments such as Debit Card EMI, Cardless EMI, and Pay Later. This check helps you display only relevant payment methods to your customers, reducing the chances of failed transactions.
Watch Out!
This is an on-demand feature. Please raise a request with us at
to get this feature activated.Handy Tips
- You can check customer and transaction eligibility only for Debit Card EMI, Cardless EMI and Pay Later, not for Credit Card EMI.
- You can perform the eligibility check on methods and instruments enabled for your account. Know how to for your account.
Before your customer navigates to the checkout, you can do an eligibility check on all the available Affordability instruments and display only those that apply to the customer. This helps reduce payment failures and drop-offs and enhances the customer experience.
Following are the various states of an eligibility check:
The eligibility check entity has the following parameters:
inquiry
string
Types of methods or instruments on which eligibility check is required. Possible value is affordability
.
currency
string
A three-letter ISO code for the currency for which you want to accept the payment. Possible value is INR
.
amount
integer
The amount for which the order was created, in currency subunits. For example, for an amount of ₹295, enter 29500
. The customer makes a payment for this amount against the order; hence, eligibility is checked for the amount.
customer
object
Customer details.
id
string
Unique identifier of the customer created using
cust_1Aa00000000004
.contact
string
The customer's phone number. A maximum length of 15 characters, including country code. For example, +919000090000
.
ip
string
Customer's IP address from where the order is placed. For example, 105.106.107.108
.
referrer
string
Referrer header passed by the client's browser.
user_agent
string
Customer user-agent.
instruments
array
Payment Instruments on which eligibility check is performed. Use the instruments
array to check eligibility on specific methods instruments.
method
string
Payment methods on which eligibility check is performed. Possible values:
cardless_emi
emi
paylater
provider
string
List of Cardless EMI providers. Possible values for cardless_emi
:
barb
cshe
hdfc
icic
idfb
kkbk
krbe
earlysalary
tvsc
walnut369
List of Pay Later providers. Possible values for paylater
:
-
getsimpl
-
icic
-
lazypay
Watch Out!
LazyPay services are temporarily disabled.
issuer
string
List of EMI issuers. Possible value is hdfc
.
type
string
Type of card. Possible value is debit
.
eligibility_req_id
string
A unique identifier of the eligibility check request on a specific instrument. For example, elig_F1cxDoHWD4fkQt
.
eligibility
object
Defines the customer's eligibility status and shows the associated error code in case of failure.
status
string
Displays the current state of the eligibility check performed on each payment instrument. Possible values:
eligible
ineligible
pending
failed
error
object
The error object.
code
string
The type of error.
description
string
Descriptive text about the error.
source
string
Point of failure in a specific operation. For example, customers, businesses, and so on.
step
string
The stage where the error occurred. Stages can vary depending on the payment method.
reason
string
The exact reason for the error.
You can initiate a request for an eligibility check using the endpoint and the following mandatory parameters:
- Customer contact details.
- Transaction amount.
-X POST 'https://api.razorpay.com/v1/customers/eligibility' \-u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]-H "content-type: application/json"-d '{"inquiry": "affordability","amount": 500000, // mandatory"currency": "INR", // mandatory"customer": {"id": "cust_KhP5dO1dKmc0Rm","contact": "+918220276214", // mandatory"ip": "105.106.107.108","referrer": "https://merchansite.com/example/paybill","user_agent": "Mozilla/5.0"}}'
inquiry
optional
string
List of methods or instruments on which eligibility check is required. Possible value is affordability
.
amount
mandatory
integer
The amount for which the order was created, in currency subunits. For example, for an amount of ₹295, enter 29500
. The user makes a payment for this amount against the order; hence, eligibility is checked for the amount.
currency
mandatory
string
A three-letter ISO code for the currency for which you want to accept the payment. Possible value is INR
.
customer
object
Customer details.
id
optional
string
Unique identifier of the customer created using
cust_1Aa00000000004
.contact
mandatory
string
The customer's phone number. A maximum length of 15 characters, including country code. For example, +919000090000
.
ip
optional
string
Customer's IP address from where the order is placed. For example, 105.106.107.108
.
referrer
optional
string
Referrer header passed by the client's browser.
user_agent
optional
string
Customer user-agent.
instruments
optional
array
Payment instruments on which an eligibility check is required.
method
string
Payment methods on which an eligibility check is required. Possible Values :
emi
cardless_emi
paylater
issuers
string
List of EMI issuers. Possible value is HDFC
.
types
string
Type of card. Possible value is debit
.
providers
string
List of Cardless EMI providers. Possible values for cardless_emi
:
barb
cshe
hdfc
icic
idfb
kkbk
krbe
earlysalary
tvsc
walnut369
List of Pay Later providers. Possible values for paylater
:
-
getsimpl
-
icic
-
lazypay
Watch Out!
LazyPay services are temporarily disabled.
Configure Payment Methods or Instruments
Refer to the
doc for eligibility checks on specific methods or instruments.Descriptions for the response parameters are present in the
parameters table.Given below is the list of errors for eligibility check.
Handy Tips
- Source: business
- Error Cause: Request
- Description: The inquiry parameter is invalid.
- Next Steps: Retry with a valid inquiry parameter.
- Source: business
- Error Cause: Request
- Description: The currency is invalid.
- Next Steps: Retry with a valid currency.
- Source: business
- Error Cause: Request
- Description: The currency field is required.
- Next Steps: Retry with required fields.
- Source: business
- Error Cause: Request
- Description: The user agent is invalid.
- Next Steps: Retry with a valid user agent.
- Source: business
- Error Cause: Request
- Description: The IP is invalid.
- Next Steps: Retry with a valid IP.
- Source: business
- Error Cause: Request
- Description: Contact number is required.
- Next Steps: Retry with required fields.
- Source: business
- Error Cause: Request
- Description: Contact number should not be greater than 15 digits, including country code.
- Next Steps: Retry with a valid mobile number.
- Source: business
- Error Cause: Request
- Description: Contact number can only contain digits and + symbol.
- Next Steps: Retry with a valid mobile number.
- Source: business
- Error Cause: Request
- Description: Amount is required.
- Next Steps: Retry with required fields.
- Source: business
- Error Cause: Request
- Description: The amount must be an integer.
- Next Steps: Retry with a valid amount.
- Source: business
- Error Cause: Request
- Description: The customer ID is invalid.
- Next Steps: Retry with a valid customer ID.
- Source: business
- Error Cause: Request
- Description: The customer ID does not exist.
- Next Steps: Retry with a valid customer ID.
- Source: business
- Error Cause: Request
- Description: The instruments array is invalid.
- Next Steps: Retry with a valid instruments array.
- Source: business
- Error Cause: Request
- Description: The eligibility check is not applicable on this method.
- Next Steps: Retry with a valid method.
- Source: business
- Error Cause: Request
- Description: The eligibility check is not applicable on this provider.
- Next Steps: Retry with a valid provider.
- Source: business
- Error Cause: Request
- Description: The eligibility check is not applicable on this card type.
- Next Steps: Retry with a valid card type.
- Source: business
- Error Cause: Request
- Description: The eligibility check is not applicable on this issuer.
- Next Steps: Retry with a valid issuer.
- Source: business
- Error Cause: Request
- Description: The method is invalid.
- Next Steps: Retry with a valid method.
- Source: business
- Error Cause: Request
- Description: The provider is invalid.
- Next Steps: Retry with a valid provider.
- Source: business
- Error Cause: Request
- Description: The card type is invalid.
- Next Steps: Retry with a valid card type.
- Source: business
- Error Cause: Request
- Description: The issuer is invalid.
- Next Steps: Retry with a valid issuer.
- Source: business
- Error Cause: Request
- Description: The method is not enabled for you.
- Next Steps: No Retry.
- Source: business
- Error Cause: Request
- Description: The provider is not enabled for you.
- Next Steps: No Retry.
- Source: business
- Error Cause: Request
- Description: The number of issuers passed in the request must be less than 30.
- Next Steps: No Retry.
- Source: business
- Error Cause: Request
- Description: The number of providers passed in the request must be less than 30.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: All Gateways
- Description: The payment provider could not revert with a suitable response in time.
- Next Steps: Please retry after some time.
- Source: gateway
- Error Cause: All Gateways
- Description: We are facing some trouble completing your request at the moment. Please try again shortly.
- Next Steps: Please retry after some time.
- Source: gateway
- Error Cause: getSimpl, lazypay, icic paylater
- Description: The customer doesn’t have an existing account with the provider.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: instacred, zestmoney, axio
- Description: The customer has not been approved by the partner.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: earlysalary
- Description: The customer’s credit limit has expired.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: getSimpl, lazypay
- Description: The customer has exhausted their credit limit.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: zestmoney
- Description: The customer's credit limit is inactive.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: All Gateways
- Description: The order amount is less than the minimum transaction amount.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: All Gateways
- Description: The order amount is above the maximum transaction amount limit.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: All Gateways
- Description: The eligibility will be checked at the time of payment.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: lazypay, icic paylater
- Description: The customer's account has been blocked by the partner.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: lazypay
- Description: The customer's account has been disabled by the partner.
- Next Steps: No Retry.
- Source: gateway
- Error Cause: lazypay
- Description: Transaction for this merchant are temporary suspended by gateway.
- Next Steps: No Retry.
The following endpoint retrieves the details of the eligibility check. Add the eligibility_req_id
received in response previously.
-X GET 'https://api.razorpay.com/v1/customers/eligibility/elig_F1cxDoHWD4fkQt' \-u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]-H "content-type: application/json"
eligibility_req_id
string
The unique identifier of the eligibility request to be retrieved.
Descriptions for the response parameters are present in the
parameters table.Given below is a list of possible errors you may face while fetching eligibility.
You can test the eligibility using our test phone numbers.
Know the interest rates and minimum order amount for:
Was this page helpful?