- 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 check the payment methods enabled for your account.
Use Case
Before your customer navigates to the checkout, you can do an eligibility check on all the available EMI² instruments and display only those that apply to the customer. This helps reduce payment failures and drop-offs and enhances the customer experience.Eligibility Check States
Following are the various states of an eligibility check:
Eligibility Check Entity
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 Customers API. For example, 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_emiemipaylater
provider
: string List of Cardless EMI providers. Possible values for cardless_emi:
hdfcicicidfbkkbkearlysalarywalnut369
paylater:
lazypaypaypal
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:
eligibleineligiblependingfailed
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.
Eligibility Check API
You can initiate a request for an eligibility check using the endpoint and the following mandatory parameters:- Customer contact details.
- Transaction amount.
POST customers/eligibility
Request Parameters
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 Customers API. For example, 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 :
emicardless_emipaylater
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:
hdfcicicidfbkkbkearlysalarywalnut369
paylater:
lazypaypaypal
Response Parameters
Descriptions for the response parameters are present in the Eligibility Check Entity parameters table.Error Response Parameters
Given below is the list of errors for eligibility check.Bad Request Errors
Bad Request Errors
invalid_inquiry
invalid_inquiry
- Source: business
- Error Cause: Request
- Description: The inquiry parameter is invalid.
- Next Steps: Retry with a valid inquiry parameter.
invalid_currency
invalid_currency
- Source: business
- Error Cause: Request
- Description: The currency is invalid.
- Next Steps: Retry with a valid currency.
currency_required
currency_required
- Source: business
- Error Cause: Request
- Description: The currency field is required.
- Next Steps: Retry with required fields.
invalid_user_agent
invalid_user_agent
- Source: business
- Error Cause: Request
- Description: The user agent is invalid.
- Next Steps: Retry with a valid user agent.
invalid_ip
invalid_ip
- Source: business
- Error Cause: Request
- Description: The IP is invalid.
- Next Steps: Retry with a valid IP.
mobile_number_required
mobile_number_required
- Source: business
- Error Cause: Request
- Description: Contact number is required.
- Next Steps: Retry with required fields.
invalid_mobile_number
invalid_mobile_number
15 digits max
15 digits max
- 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.
digits and + symbol only
digits and + symbol only
- Source: business
- Error Cause: Request
- Description: Contact number can only contain digits and + symbol.
- Next Steps: Retry with a valid mobile number.
8 digits minimum
8 digits minimum
- Source: business
- Error Cause: Request
- Description: Contact number should be at least 8 digits, including country code.
- Next Steps: Retry with a valid mobile number.
amount_required
amount_required
- Source: business
- Error Cause: Request
- Description: Amount is required.
- Next Steps: Retry with required fields.
invalid_amount
invalid_amount
amount is not an integer
amount is not an integer
- Source: business
- Error Cause: Request
- Description: The amount must be an integer.
- Next Steps: Retry with a valid amount.
amount should be minimum INR 1.00
amount should be minimum INR 1.00
- Source: business
- Error Cause: Request
- Description: The amount must be at least INR 1.00.
- Next Steps: Retry with a valid amount.
invalid_customer_id
invalid_customer_id
- Source: business
- Error Cause: Request
- Description: The customer ID is invalid.
- Next Steps: Retry with a valid customer ID.
customer_id_does_not_exist
customer_id_does_not_exist
- Source: business
- Error Cause: Request
- Description: The customer ID does not exist.
- Next Steps: Retry with a valid customer ID.
invalid_instruments
invalid_instruments
- Source: business
- Error Cause: Request
- Description: The instruments array is invalid.
- Next Steps: Retry with a valid instruments array.
method_not_applicable
method_not_applicable
- Source: business
- Error Cause: Request
- Description: The eligibility check is not applicable on this method.
- Next Steps: Retry with a valid method.
provider_not_applicable
provider_not_applicable
- Source: business
- Error Cause: Request
- Description: The eligibility check is not applicable on this provider.
- Next Steps: Retry with a valid provider.
card_type_not_applicable
card_type_not_applicable
- Source: business
- Error Cause: Request
- Description: The eligibility check is not applicable on this card type.
- Next Steps: Retry with a valid card type.
issuer_not_applicable
issuer_not_applicable
- Source: business
- Error Cause: Request
- Description: The eligibility check is not applicable on this issuer.
- Next Steps: Retry with a valid issuer.
invalid_method
invalid_method
- Source: business
- Error Cause: Request
- Description: The method is invalid.
- Next Steps: Retry with a valid method.
invalid_provider
invalid_provider
- Source: business
- Error Cause: Request
- Description: The provider is invalid.
- Next Steps: Retry with a valid provider.
invalid_card_type
invalid_card_type
- Source: business
- Error Cause: Request
- Description: The card type is invalid.
- Next Steps: Retry with a valid card type.
invalid_issuer
invalid_issuer
- Source: business
- Error Cause: Request
- Description: The issuer is invalid.
- Next Steps: Retry with a valid issuer.
method_not_enabled
method_not_enabled
- Source: business
- Error Cause: Request
- Description: The method is not enabled for you.
- Next Steps: No Retry.
instrument_not_enabled
instrument_not_enabled
- Source: business
- Error Cause: Request
- Description: The provider is not enabled for you.
- Next Steps: No Retry.
max_issuers_limit
max_issuers_limit
- Source: business
- Error Cause: Request
- Description: The number of issuers passed in the request must be less than 30.
- Next Steps: No Retry.
max_providers_limit
max_providers_limit
- Source: business
- Error Cause: Request
- Description: The number of providers passed in the request must be less than 30.
- Next Steps: No Retry.
max_networks_limit
max_networks_limit
- Source: business
- Error Cause: Request
- Description: The number of networks passed in the request must be less than 5.
- Next Steps: No Retry.
Gateway Errors
Gateway Errors
timed_out
timed_out
- 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.
gateway_technical_error
gateway_technical_error
- 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.
account_does_not_exist
account_does_not_exist
- Source: gateway
- Error Cause: getSimpl, lazypay, icic paylater
- Description: The customer doesn’t have an existing account with the provider.
- Next Steps: No Retry.
user_not_approved
user_not_approved
- Source: gateway
- Error Cause: instacred, zestmoney, axio
- Description: The customer has not been approved by the partner.
- Next Steps: No Retry.
credit_limit_expired
credit_limit_expired
- Source: gateway
- Error Cause: earlysalary
- Description: The customer’s credit limit has expired.
- Next Steps: No Retry.
credit_limit_exhausted
credit_limit_exhausted
- Source: gateway
- Error Cause: getSimpl, lazypay
- Description: The customer has exhausted their credit limit.
- Next Steps: No Retry.
credit_limit_inactive
credit_limit_inactive
- Source: gateway
- Error Cause: zestmoney
- Description: The customer’s credit limit is inactive.
- Next Steps: No Retry.
min_amt_required
min_amt_required
- Source: gateway
- Error Cause: All Gateways
- Description: The order amount is less than the minimum transaction amount.
- Next Steps: No Retry.
max_amt_limit
max_amt_limit
- Source: gateway
- Error Cause: All Gateways
- Description: The order amount is above the maximum transaction amount limit.
- Next Steps: No Retry.
eligibility_check_within_payment_flow
eligibility_check_within_payment_flow
- Source: gateway
- Error Cause: All Gateways
- Description: The eligibility will be checked at the time of payment.
- Next Steps: No Retry.
account_blocked
account_blocked
- Source: gateway
- Error Cause: lazypay, icic paylater
- Description: The customer’s account has been blocked by the partner.
- Next Steps: No Retry.
account_disabled
account_disabled
- Source: gateway
- Error Cause: lazypay
- Description: The customer’s account has been disabled by the partner.
- Next Steps: No Retry.
transaction_suspended
transaction_suspended
- Source: gateway
- Error Cause: lazypay
- Description: Transaction for this merchant are temporary suspended by gateway.
- Next Steps: No Retry.
merchant_account_disabled
merchant_account_disabled
- Source: gateway
- Error Cause: lazypay
- Description: Gateway has disabled the account for this merchant.
- Next Steps: No Retry.
Fetch Eligibility by id
The following endpoint retrieves the details of the eligibility check. Add theeligibility_req_id received in response previously.
GET customers/eligibility/:eligibility_req_id
Path Parameter
eligibility_req_id
: string The unique identifier of the eligibility request to be retrieved.
Response Parameters
Descriptions for the response parameters are present in the Eligibility Check Entity parameters table.Error Response Parameters
Given below is a list of possible errors you may face while fetching eligibility.Test Details
You can test the eligibility using our test phone numbers.- Debit Card EMI
- Cardless EMI
- Pay Later