Create Offer Discovery V2 API
/api/affordability/v2/offer/discoveryUse this API to discover offers available on cart amount or product and calculate the EMI. V2 returns an entity-based response structure with support for multiple entity types including UPI.
Bearer token. Get token →Header Parameters
| Field | Details |
|---|---|
Request-Timestampstringdate-time | ISO 8601 UTC timestamp of the request. Used for idempotency and audit. |
Request-IDstring | Use a global unique identifier [GUID] for the request. Constraints Minimum length: 1 characterMaximum length: 50 characters |
Request Bodyrequired
| Field | Details |
|---|---|
order_amountobjectrequired2 nested fields | An object that contains the transaction amount details. |
product_detailsobject[]3 nested fields | Mandatory for Brand EMI. An object that contains product details. |
cart_coupon_discount_amountobject2 nested fields | An object that contains the cart coupon discount amount details. |
issuerobject4 nested fields | An object that contains the issuer details. |
downpayment_detailsobject1 nested field | Mandatory for EMI with Downpayment. An object that contains the downpayment amount details. |
payment_optionsobject2 nested fields | An object that contains the details of the payment options. You can use either |
customer_detailsobject1 nested field | An object that contains the customer details. |
Response
| Field | Details |
|---|---|
entitiesOfferDiscoveryEntityDetailV2[]7 nested fields | List of Entities offering the Offer. |
entity_idstring | Entity Id. |
entity_namestring | Entity Name. |
entity_display_namestring | Display Name of the Entity offering the Offer. |
entity_typestring | Type of Entity. Allowed values: UPICC_BANKDC_BANKCARDLESS_BANKCC_NBFCDC_NBFCCARDLESS_NBFCNTBNTB_BANKNTB_NBFC |
entity_priorityinteger | Priority of the Issuer offering the Offer. |
tenuresEntityTenureDetail[]30 nested fields | List of Tenures available for the Offer. |
entity_dataobject1 nested field | Data related to the Entity (OTP, consent, etc.). |
Status Codes
200 | 200 |
400 | 400 |
422 | 422 |
curl -X POST "https://api.pluralpay.in/api/affordability/v2/offer/discovery" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"order_amount": {
"currency": "INR",
"value": 1200000
},
"issuer": {
"bin": "60100000"
}
}'{
"entities": [
{
"entity_id": "37",
"entity_name": "UPI",
"entity_display_name": "UPI",
"entity_type": "UPI",
"entity_priority": 26,
"tenures": [
{
"tenure_id": "7",
"name": "No EMI Only Cashback",
"tenure_type": "MONTH",
"tenure_value": 0,
"details": [],
"offers": [
{
"offer_ranking": 1,
"issuer_offer_parameters": [
{
"program_type": "MERCHANT_BANK_OFFER",
"offer_id": "6037",
"offer_parameter_id": "v1-37-10-7-5-6037-287151"
}
],
"details": [
{
"product_code": "ICB_BOSCH_001",
"brand_id": "7",
"product_amount": {
"currency": "INR",
"value": 500
},
"interest_rate": 0,
"discount": {
"discount_type": "INSTANT",
"percentage": 10,
"amount": {
"currency": "INR",
"value": 50
},
"max_amount": {
"currency": "INR",
"value": 50000
},
"breakup": {
"merchant": {
"amount": {
"currency": "INR",
"value": 50
}
}
}
}
}
],
"discount": {
"discount_type": "INSTANT",
"percentage": 10,
"amount": {
"currency": "INR",
"value": 50
},
"max_amount": {
"currency": "INR",
"value": 50000
},
"breakup": {
"merchant": {
"amount": {
"currency": "INR",
"value": 50
}
}
}
},
"loan_amount": {
"currency": "INR",
"value": 450
},
"auth_amount": {
"currency": "INR",
"value": 450
},
"total_discount_amount": {
"currency": "INR",
"value": 50
},
"net_payment_amount": {
"currency": "INR",
"value": 500
},
"interest_rate_percentage": 0,
"emi_type": "STANDARD",
"is_mobile_number_required_for_eligibility": false,
"is_offer_auto_applied": true
}
]
}
],
"entity_data": {
"issuer_data": {
"otp_length": 6,
"otp_time_in_sec": 30,
"otp_retry_count": 3,
"is_consent_page_required": false,
"consent_data": "Sample Consent",
"terms_and_conditions": "Sample TNC",
"show_key_fact_statement": false,
"auth_type": "OTP",
"pan_number_last_digit_count": 3
}
}
}
]
}