Credit EMI - Integration Steps
Learn how to integrate the Pine Labs Online Affordability Suite to provide your merchants with a seamless shopping experience.
Follow the below steps to integrate with Pine Labs Online affordability suite in your application.
- [Prerequisite] Generate Token
- Offer Discovery
- Offer Validation
- Create Order
- Create Payment
- Handle Payment
- Get Order by Order ID
Note
- Ensure you store your Client ID and Secret in your Backend securely.
- Integrate our APIs on your backend system.
- We strictly recommend not to call our APIs from the frontend.
- Failure to adhere to the above guidelines may result in legal implications. In such cases, you will be held responsible for any damage or loss arising from non-compliance.
Watch Out
- To Integrate with Pine Labs Online seamless checkout flow you must have a PCI compliance certificate.
1. [Prerequisite] Generate Token
Integrate our Generate Token API in your backend servers to generate the access token. Use the token generated to authenticate Pine Labs Online APIs.
Below are the sample requests and response for the Generate Token API.
curl --location 'https://pluraluat.v2.pinepg.in/api/auth/v1/token' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'Request-Timestamp: 2024-07-09T07:57:08.022Z' \
--header 'Request-ID: c17ce30f-f88e-4f81-ada1-c3b4909ed235' \
--data '
{
"client_id": "a17ce30e-f88e-4f81-ada1-c3b4909ed232",
"client_secret": "fgwei7egyhuggwp39w8rh",
"grant_type": "client_credentials"
}
'
curl --location 'https://api.pluralpay.in/api/auth/v1/token' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'Request-Timestamp: 2024-07-09T07:57:08.022Z' \
--header 'Request-ID: c17ce30f-f88e-4f81-ada1-c3b4909ed235' \
--data '
{
"client_id": "a17ce30e-f88e-4f81-ada1-c3b4909ed232",
"client_secret": "fgwei7egyhuggwp39w8rh",
"grant_type": "client_credentials"
}
'
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"expires_in": 3600
}
Click here for request and response parameter information.
The table below lists the request parameters of our Generate Token API.
| Parameter | Type | Description |
|---|---|---|
| client_id required | string |
Unique client identifier in the Pine Labs Online database. Example: a17ce30e-f88e-4f81-ada1-c3b4909ed232Note: The Onboarding team has provided you with this information as part of the onboarding process. |
| client_secret required | string |
Unique client secret key provided while onboarding. Example: fgwei7egyhuggwp39w8rhNote: The Onboarding team has provided you with this information as part of the onboarding process. |
| grant_type required | string |
The grant type to generate an access token. Accepted value: client_credentials
|
The table below lists the response parameters of our Generate Token API.
| Parameter | Type | Description |
|---|---|---|
| access_token | string |
The access token generated by the system. • Minimum length: 1 character. • Maximum length: 8192 characters. Example: eyJhbGciOiJIUzI1NiIsInNote: Use this token in the authorization headers to authenticate Pine Labs Online APIs. |
| expires_at | string |
Access duration timestamp. Example: 2024-06-28T13:26:06.909140Z
|
Refer to our Generate Token API documentation to learn more.
2. Offer Discovery
Use this API to check the offers and calculate the EMI.
Below are the sample requests and response for the Offer Discovery API.
Bank EMI
curl --request POST \
--url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/discovery \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--header 'Request-ID: c17ce30f-f88e-4f81-ada1-c3b4909ed235' \
--header 'Request-Timestamp: 2024-07-09T07:57:08.022Z' \
--header 'accept: application/json' \
--data '
{
"order_amount": {
"currency": "INR",
"value": 1200000
},
"issuer": {
"bin": "60100000"
},
"payment_option": {
"card_details": {
"card_number": "4000000000000000"
}
},
"customer_details": {
"customer_id": "cust-v1-250709071350-aa-1M9thA"
}
}
'
curl --request POST \
--url https://api.pluralpay.in/api/affordability/v1/offer/discovery \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--header 'Request-ID: c17ce30f-f88e-4f81-ada1-c3b4909ed235' \
--header 'Request-Timestamp: 2024-07-09T07:57:08.022Z' \
--header 'accept: application/json' \
--data '
{
"order_amount": {
"currency": "INR",
"value": 1200000
},
"issuer": {
"bin": "60100000"
},
"payment_option": {
"card_details": {
"card_number": "4000000000000000"
}
},
"customer_details": {
"customer_id": "cust-v1-250709071350-aa-1M9thA"
}
}
'
{
"issuers": [
{
"id": "23",
"name": "INDUSIND CC",
"issuer_type": "CC_BANK",
"priority": 1,
"tenures": [
{
"tenure_id": "1",
"name": "3 Months",
"tenure_type": "MONTH",
"tenure_value": 3,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1563",
"offer_parameter_id": "63813"
}
],
"details": [],
"discount": {},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1232139
},
"monthly_emi_amount": {
"currency": "INR",
"value": 410713
},
"total_emi_amount": {
"currency": "INR",
"value": 1232139
},
"interest_amount": {
"currency": "INR",
"value": 32139
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "2",
"name": "6 Months",
"tenure_type": "MONTH",
"tenure_value": 6,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1563",
"offer_parameter_id": "63813"
}
],
"details": [],
"discount": {},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1256616
},
"monthly_emi_amount": {
"currency": "INR",
"value": 209436
},
"total_emi_amount": {
"currency": "INR",
"value": 1256616
},
"interest_amount": {
"currency": "INR",
"value": 56616
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "3",
"name": "9 Months",
"tenure_type": "MONTH",
"tenure_value": 9,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1563",
"offer_parameter_id": "63813"
}
],
"details": [],
"discount": {},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1281411
},
"monthly_emi_amount": {
"currency": "INR",
"value": 142379
},
"total_emi_amount": {
"currency": "INR",
"value": 1281411
},
"interest_amount": {
"currency": "INR",
"value": 81411
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "4",
"name": "12 Months",
"tenure_type": "MONTH",
"tenure_value": 12,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1563",
"offer_parameter_id": "63813"
}
],
"details": [],
"discount": {},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1306524
},
"monthly_emi_amount": {
"currency": "INR",
"value": 108877
},
"total_emi_amount": {
"currency": "INR",
"value": 1306524
},
"interest_amount": {
"currency": "INR",
"value": 106524
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "5",
"name": "18 Months",
"tenure_type": "MONTH",
"tenure_value": 18,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1563",
"offer_parameter_id": "63813"
}
],
"details": [],
"discount": {},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1357686
},
"monthly_emi_amount": {
"currency": "INR",
"value": 75427
},
"total_emi_amount": {
"currency": "INR",
"value": 1357686
},
"interest_amount": {
"currency": "INR",
"value": 157686
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "6",
"name": "24 Months",
"tenure_type": "MONTH",
"tenure_value": 24,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1563",
"offer_parameter_id": "63813"
}
],
"details": [],
"discount": {},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1410120
},
"monthly_emi_amount": {
"currency": "INR",
"value": 58755
},
"total_emi_amount": {
"currency": "INR",
"value": 1410120
},
"interest_amount": {
"currency": "INR",
"value": 210120
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
}
],
"issuer_data": {}
}
]
}
Click here for request and response parameter information.
The table below lists the request parameters of our Offer Discovery API.
| Parameter | Type | Description |
|---|---|---|
| order_amount required | object |
An object that contains the transaction amount details. Learn more about our order_amount child object. |
Order Amount [Child Object]
The table below lists the various parameters in the order_amount child object. This object is part of the Offer Discovery API request object.
| Parameter | Type | Description |
|---|---|---|
| value required | integer |
The transaction amount in Paisa.
100
|
| currency required | string |
Type of currency. Example: INR
|
The table below lists the various parameters returned in the offer discovery bank emi response object.
| Parameter | Type | Description |
|---|---|---|
| id | String |
Unique identifier of the issuer id in the Plural database. Example: 23 |
| name | String |
Name of the Issuer. Example: INDUSIND CC |
| display_name | string |
Name of the issuer offering the offer. Example: INDUSIND |
| issuer_type | String |
The type of the Issuer offering the offer. Accepted values:
|
| priority | integer |
The priority of the issuer providing the offer. Example: 1 |
| tenures | array of objects |
An array of objects that contains the tenures details. Learn more about the tenures child object. |
| issuer_data | objects |
An object that contains the issuer data details. Learn more about the issuer_data child object. |
Tenures [Child Object]
The table below lists the various parameters in the tenures object. This is part of the offer discovery Bank EMI response object.
| Parameter | Type | Description |
|---|---|---|
| tenure_id | String |
Tenure id in the Plural database. Example: 1 |
| name | String |
The name of the Issuer offering the offer. Example: 3 Months |
| tenure_type | String |
The type of the Tenure. Accepted values:
|
| tenure_value | integer |
The value of the tenure. Example: 3 |
| issuer_offer_parameters | array of objects |
An array of objects that contains the issuer_offer_parameters details.Learn more about the issuer_offer_parameters child object. |
| details | array of objects |
An array of objects that contains the product details.Learn more about the details child object. |
| discount | object |
An object that contains the discount details. Learn more about the discount child object. |
| loan_amount | object |
An object that contains the loan amount details. Learn more about the loan_amount child object. |
| total_discount_amount | object |
An object that contains the total discount amount details. Learn more about the total_discount_amount child object. |
| net_payment_amount | object |
An object that contains the net payment amount details. Learn more about the net_payment_amount child object. |
| monthly_emi_amount | object |
An object that contains the monthly EMI amount details. Learn more about the monthly_emi_amount child object. |
| total_emi_amount | object |
An object that contains the total EMI amount details. Learn more about the total_emi_amount child object. |
| interest_amount | object |
An object that contains the interest amount details. Learn more about the interest_amount child object. |
| total_subvention_amount | object |
An object that contains the total subvention amount details. Learn more about the total_subvention_amount child object. |
| interest_rate_percentage | float |
Interest rate percentage for the tenure. Example: 16.90 |
| processing_fee_details | object |
An object that contains the processing fee details. Learn more about the processing_fee_details child object. |
| convenience_fee_breakdown | object |
An object that contains the convenience fee breakdown details. Learn more about our convenience_fee_breakdown child object. |
| cart_coupon_discount_amount | object |
An object that contains the cart coupon discount amount details. Learn more about our cart_coupon_discount_amount child object. |
| total_coupon_discount | object |
An object that contains the total coupon discount details. Learn more about our total_coupon_discount child object. |
| emi_type | strings |
Type of EMI. Example: STANDARDAccepted values:
|
Issuer Offer Parameters [Child Object]
The table below lists the various parameters in the issuer_offer_parameters child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| program_type | String |
Unique identifier of the issuer id in the Plural database. Example: 23 |
| offer_id | String |
Name of the Issuer. Example: INDUSIND CC |
| offer_parameter_id | String |
The type of the Issuer offering the offer. Accepted values:
|
Details [Child Object]
The table below lists the various parameters in the details child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| product_code | String |
Unique Product identifier of the product. Example: redmi_1 |
| product_display_name | string |
Name of the Product. Example: Oneplus 13R |
| brand_id | String |
Unique brand identifier of the product. Example: 3 |
| product_offer_parameters | array of objects |
An array of objects that contains the product offer schemes for the product EMI details. Learn more about the product_offer_parameters child object. |
| product_amount | object |
An object that contains the product amount details. Learn more about the product_amount child object. |
| product_coupon_discount_amount | object |
An object that contains the product coupon discount amount details. Learn more about the product_coupon_discount_amount child object. |
| subvention | object |
An object that contains the subvention details. Learn more about the subvention child object. |
| discount | object |
An object that contains the product discount details. Learn more about the discount child object. |
| brand_name | string |
Name of the Brand. Example: Oneplus |
| interest_amount | object |
An object that contains the interest amount details. Learn more about the interest_amount child object. |
| interest_rate | double |
Rate of interest applied on the product. Example: 2 |
| cart_coupon_discount_product_share | object |
An object that contains the cart coupon discount product share details. Learn more about the cart_coupon_discount_product_share child object. |
Product Offer Parameters [Child Object]
The table below lists the various parameters in the product_offer_parameters child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| program_type | String |
Type of the Program. Example: BRAND_EMIAccepted values:
|
| offer_id | string |
Unique identifier of the offer. Example: 309 |
| offer_parameter_id | string |
Unique offer parameter identifier. Example: 20 |
Product Amount [Child Object]
The table below lists the various parameters in the product_amount child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount in Paisa.
1000 |
Product Coupon Discount Amount [Child Object]
The table below lists the various parameters in the product_coupon_discount_amount child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount in Paisa.
1000 |
Subvention [Child Object]
The table below lists the various parameters in the subvention child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| subvention_type | String |
Type of subvention. Example: INSTANTAccepted values:
|
| offer_type | string |
Type of the offer. Accepted values:
|
| percentage | integer |
Transaction amount is Paisa.
1000 |
| amount | object |
An object that contains the subvention amount details. Learn more about the amount child object. |
| breakup | object |
An object that contains the subvention breakup details. Learn more about the breakup child object. |
| max_amount | object |
An object that contains the maximum subvention amount details. Learn more about the max_amount child object. |
| min_amount | object |
An object that contains the minimum subvention amount details. Learn more about the min_amount child object. |
Amount [Child Object]
The table below lists the various parameters in the amount child object. This is part of the subvention object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Breakup [Child Object]
The table below lists the various parameters in the breakup child object. This is part of the subvention object.
| Parameter | Type | Description |
|---|---|---|
| brand | object |
An object that contains the breakup details of the brand. Learn more about the brand child object. |
Brand [Child Object]
The table below lists the various parameters in the brand child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details of the brand. Learn more about the amount child object. |
Amount [Child Object]
The table below lists the various parameters in the amount child object. This is part of the brand object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Max Amount [Child Object]
The table below lists the various parameters in the max_amount child object. This is part of the subvention object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Min Amount [Child Object]
The table below lists the various parameters in the min_amount child object. This is part of the subvention object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Discount [Child Object]
The table below lists the various parameters in the discount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| discount_type | String |
Type of discount. Possible values:
|
| discount_string | string |
The additional discount provided by the offering entity after a specific period. Example: 1000 |
| percentage | Double |
The discount percentage provided by the offering entity. Example: 16.90 |
| amount | string |
Discount amount. Example: 2000 |
| max_amount | object |
An object that contains the maximum discount amount details. Learn more about the max_amount child object. |
| min_amount | object |
An object that contains the minimum discount amount details. Learn more about the min_amount child object. |
| discount_deferred_duration_value | integer |
The duration value for the deferred discount. Example: |
| discount_deferred_duration_type | string |
Discount duration type deferred. Possible values:
|
| breakup | object |
An object that contains the product offer details with breakup. Learn more about the breakup child object. |
Max Amount [Child Object]
The table below lists the various parameters in the max_amount child object. This is part of the discount object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Min Amount [Child Object]
The table below lists the various parameters in the min_amount child object. This is part of the discount object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Breakup [Child Object]
The table below lists the various parameters in the breakup child object. This is part of the discount object.
| Parameter | Type | Description |
|---|---|---|
| merchant | object |
An object that contains the merchant breakup details. Learn more about the merchant child object. |
| issuer | object |
An object that contains the issuer breakup details. Learn more about the issuer child object. |
| brand | object |
An object that contains the brand breakup details. Learn more about the brand child object. |
| dealer | object |
An object that contains the dealer breakup details. Learn more about the dealer child object. |
Merchant [Child Object]
The table below lists the various parameters in the merchant child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details. Learn more about the amount child object. |
Issuer [Child Object]
The table below lists the various parameters in the issuer child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details. Learn more about the amount child object. |
Brand [Child Object]
The table below lists the various parameters in the brand child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details. Learn more about the amount child object. |
Dealer [Child Object]
The table below lists the various parameters in the dealer child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details. Learn more about the amount child object. |
Amount [Child Object]
The table below lists the various parameters in the amount child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Interest Amount [Child Object]
The table below lists the various parameters in the interest_amount child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Cart Coupon Discount Product Share [Child Object]
The table below lists the various parameters in the cart_coupon_discount_product_share child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Loan Amount [Child Object]
The table below lists the various parameters in the loan_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Total Discount Amount [Child Object]
The table below lists the various parameters in the total_discount_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Net Payment Amount [Child Object]
The table below lists the various parameters in the net_payment_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Monthly EMI Amount [Child Object]
The table below lists the various parameters in the monthly_emi_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Total EMI Amount [Child Object]
The table below lists the various parameters in the total_emi_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Interest Amount [Child Object]
The table below lists the various parameters in the interest_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Total Subvention Amount [Child Object]
The table below lists the various parameters in the total_subvention_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Processing Fee Details [Child Object]
The table below lists the various parameters in the processing_fee_details child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Convenience Fee Breakdown [Child Object]
The table below lists the various parameters in the convenience_fee_breakdown child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| fee_calculated_on_amount | object |
An object that contains the fee calculation amount details. Learn more about the fee_calculated_on_amount child object. |
| fee_amount | object |
An object that contains the fee amount details. Learn more about the fee_amount child object. |
| tax_amount | object |
An object that contains the tax amount details. Learn more about the tax_amount child object. |
| additional_fee_amount | object |
An object that contains the additional fee amount details. Learn more about the additional_fee_amount child object. |
| maximum_fee_amount | object |
An object that contains the maximum fee amount details. Learn more about the maximum_fee_amount child object. |
| applicable_fee_amount | object |
An object that contains the applicable fee amount details. Learn more about the applicable_fee_amount child object. |
| subvented_fee_amount | object |
An object that contains the subvented fee amount details. Learn more about the subvented_fee_amount child object. |
Fee Calculated on Amount [Child Object]
The table below lists the various parameters in the fee_calculated_on_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Fee Amount [Child Object]
The table below lists the various parameters in the fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Tax Amount [Child Object]
The table below lists the various parameters in the tax_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Additional Fee Amount [Child Object]
The table below lists the various parameters in the additional_fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Maximum Fee Amount [Child Object]
The table below lists the various parameters in the maximum_fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Applicable Fee Amount [Child Object]
The table below lists the various parameters in the applicable_fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Subvented Fee Amount [Child Object]
The table below lists the various parameters in the subvented_fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Cart Coupon Discount Amount [Child Object]
The table below lists the various parameters in the cart_coupon_discount_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Total Coupon Discount [Child Object]
The table below lists the various parameters in the total_coupon_discount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Issuer Data [Child Object]
The table below lists the various parameters in the issuer_data object. This is part of the offer discovery response object.
| Parameter | Type | Description |
|---|---|---|
| otp_length | integer |
Length of the OTP. Example: 4 |
| otp_time_in_sec | integer |
OTP validity time in seconds. Example: 120 |
| otp_retry_count | integer |
Maximum OTP retry count. Example: |
| is_consent_page_required | Boolean |
Status of the required consent page.
|
| consent_data | String |
Transaction consent data. Example: |
| terms_and_conditions | String |
Transaction terms and conditions. Example: |
| show_key_fact_statement | Boolean |
Key fact statement status.
|
| auth_type | String |
Authentication type. Accepted values:
|
| penny_transaction_amount | string |
Applicable amount for penny transaction. Example: 100 |
| is_tokenized_transaction_supported | Boolean |
Tokenized transactions support status.
|
| pan_number_last_digit_count | String |
Last digit count of PAN. |
| offer_validation_parameters_required | String |
Parameters required in offer validation API. |
Brand EMI
curl --request POST \
--url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/discovery \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--header 'Request-ID: c17ce30f-f88e-4f81-ada1-c3b4909ed235' \
--header 'Request-Timestamp: 2024-07-09T07:57:08.022Z' \
--header 'accept: application/json' \
--data '
{
"order_amount": {
"currency": "INR",
"value": 1200000
},
"product_details": [
{
"product_code": "xyz",
"product_amount": {
"currency": "INR",
"value": 1200000
},
"product_coupon_discount_amount": {
"currency": "INR",
"value": 1200000
}
}
],
"cart_coupon_discount_amount": {
"currency": "INR",
"value": 1200000
},
"issuer": {
"bin": "60100000"
},
"payment_option": {
"card_details": {
"card_number": "4000000000000000"
}
},
"customer_details": {
"customer_id": "cust-v1-250709071350-aa-1M9thA"
}
}
'
curl --request POST \
--url https://api.pluralpay.in/api/affordability/v1/offer/discovery \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--header 'Request-ID: c17ce30f-f88e-4f81-ada1-c3b4909ed235' \
--header 'Request-Timestamp: 2024-07-09T07:57:08.022Z' \
--header 'accept: application/json' \
--data '
{
"order_amount": {
"currency": "INR",
"value": 1200000
},
"product_details": [
{
"product_code": "xyz",
"product_amount": {
"currency": "INR",
"value": 1200000
},
"product_coupon_discount_amount": {
"currency": "INR",
"value": 1200000
}
}
],
"cart_coupon_discount_amount": {
"currency": "INR",
"value": 1200000
},
"issuer": {
"bin": "60100000"
},
"payment_option": {
"card_details": {
"card_number": "4000000000000000"
}
},
"customer_details": {
"customer_id": "cust-v1-250709071350-aa-1M9thA"
}
}
'
{
"issuers": [
{
"id": "25",
"name": "PNB CC",
"issuer_type": "CC_BANK",
"priority": 1,
"tenures": [
{
"tenure_id": "1",
"name": "3 Months",
"tenure_type": "MONTH",
"tenure_value": 3,
"issuer_offer_parameters": [
{
"program_type": "BRAND_EMI",
"offer_id": "309",
"offer_parameter_id": "20"
}
],
"details": [
{
"product_code": "redmi_1",
"brand_id": "3",
"product_offer_parameters": [
{
"program_type": "BRAND_OFFER",
"offer_id": "309",
"offer_parameter_id": "20"
}
],
"product_amount": {
"currency": "INR",
"value": 2000000
},
"subvention": {
"subvention_type": "INSTANT",
"percentage": 5,
"amount": {
"currency": "INR",
"value": 85714
},
"breakup": {
"brand": {
"amount": {
"currency": "INR",
"value": 85714
}
}
}
},
"discount": {
"discount_type": "INSTANT",
"percentage": 10,
"amount": {
"currency": "INR",
"value": 200000
},
"breakup": {
"merchant": {
"amount": {
"currency": "INR",
"value": 100000
}
},
"brand": {
"amount": {
"currency": "INR",
"value": 100000
}
}
}
},
"bundle_id": "BUNDLE_003_OE3"
}
],
"discount": {
"discount_type": "INSTANT",
"percentage": 10,
"amount": {
"currency": "INR",
"value": 200000
},
"breakup": {
"merchant": {
"amount": {
"currency": "INR",
"value": 100000
}
},
"brand": {
"amount": {
"currency": "INR",
"value": 100000
}
}
}
},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1714286
},
"total_discount_amount": {
"currency": "INR",
"value": 200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1760202
},
"monthly_emi_amount": {
"currency": "INR",
"value": 586734
},
"total_emi_amount": {
"currency": "INR",
"value": 1760202
},
"interest_amount": {
"currency": "INR",
"value": 45916
},
"total_subvention_amount": {
"currency": "INR",
"value": 85714
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "NO_COST"
},
{
"tenure_id": "12",
"name": "36 Months",
"tenure_type": "MONTH",
"tenure_value": 36,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1562",
"offer_parameter_id": "63812"
}
],
"details": [],
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 2000000
},
"net_payment_amount": {
"currency": "INR",
"value": 2531304
},
"monthly_emi_amount": {
"currency": "INR",
"value": 70314
},
"total_emi_amount": {
"currency": "INR",
"value": 2531304
},
"interest_amount": {
"currency": "INR",
"value": 531304
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "2",
"name": "6 Months",
"tenure_type": "MONTH",
"tenure_value": 6,
"issuer_offer_parameters": [
{
"program_type": "BRAND_EMI",
"offer_id": "309",
"offer_parameter_id": "20"
}
],
"details": [
{
"product_code": "redmi_1",
"brand_id": "3",
"product_offer_parameters": [
{
"program_type": "BRAND_OFFER",
"offer_id": "309",
"offer_parameter_id": "20"
}
],
"product_amount": {
"currency": "INR",
"value": 2000000
},
"subvention": {
"subvention_type": "POST",
"percentage": 5,
"amount": {
"currency": "INR",
"value": 90000
},
"breakup": {
"brand": {
"amount": {
"currency": "INR",
"value": 90000
}
}
}
},
"discount": {
"discount_type": "INSTANT",
"percentage": 10,
"amount": {
"currency": "INR",
"value": 200000
},
"breakup": {
"merchant": {
"amount": {
"currency": "INR",
"value": 100000
}
},
"brand": {
"amount": {
"currency": "INR",
"value": 100000
}
}
}
},
"bundle_id": "BUNDLE_003_OE3"
}
],
"discount": {
"discount_type": "INSTANT",
"percentage": 10,
"amount": {
"currency": "INR",
"value": 200000
},
"breakup": {
"merchant": {
"amount": {
"currency": "INR",
"value": 100000
}
},
"brand": {
"amount": {
"currency": "INR",
"value": 100000
}
}
}
},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1800000
},
"total_discount_amount": {
"currency": "INR",
"value": 200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1884924
},
"monthly_emi_amount": {
"currency": "INR",
"value": 314154
},
"total_emi_amount": {
"currency": "INR",
"value": 1884924
},
"interest_amount": {
"currency": "INR",
"value": 84924
},
"total_subvention_amount": {
"currency": "INR",
"value": 90000
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "NO_COST"
},
{
"tenure_id": "3",
"name": "9 Months",
"tenure_type": "MONTH",
"tenure_value": 9,
"issuer_offer_parameters": [
{
"program_type": "BRAND_EMI",
"offer_id": "309",
"offer_parameter_id": "20"
}
],
"details": [
{
"product_code": "redmi_1",
"brand_id": "3",
"product_offer_parameters": [
{
"program_type": "BRAND_OFFER",
"offer_id": "309",
"offer_parameter_id": "20"
}
],
"product_amount": {
"currency": "INR",
"value": 2000000
},
"subvention": {
"subvention_type": "POST",
"percentage": 5,
"amount": {
"currency": "INR",
"value": 90000
},
"breakup": {
"brand": {
"amount": {
"currency": "INR",
"value": 90000
}
}
}
},
"discount": {
"discount_type": "INSTANT",
"percentage": 10,
"amount": {
"currency": "INR",
"value": 200000
},
"breakup": {
"merchant": {
"amount": {
"currency": "INR",
"value": 100000
}
},
"brand": {
"amount": {
"currency": "INR",
"value": 100000
}
}
}
},
"bundle_id": "BUNDLE_003_OE3"
}
],
"discount": {
"discount_type": "INSTANT",
"percentage": 10,
"amount": {
"currency": "INR",
"value": 200000
},
"breakup": {
"merchant": {
"amount": {
"currency": "INR",
"value": 100000
}
},
"brand": {
"amount": {
"currency": "INR",
"value": 100000
}
}
}
},
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 1800000
},
"total_discount_amount": {
"currency": "INR",
"value": 200000
},
"net_payment_amount": {
"currency": "INR",
"value": 1922112
},
"monthly_emi_amount": {
"currency": "INR",
"value": 213568
},
"total_emi_amount": {
"currency": "INR",
"value": 1922112
},
"interest_amount": {
"currency": "INR",
"value": 122112
},
"total_subvention_amount": {
"currency": "INR",
"value": 90000
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 29900
}
},
"emi_type": "LOW_COST"
},
{
"tenure_id": "4",
"name": "12 Months",
"tenure_type": "MONTH",
"tenure_value": 12,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1563",
"offer_parameter_id": "63813"
}
],
"details": [],
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 2000000
},
"net_payment_amount": {
"currency": "INR",
"value": 2177532
},
"monthly_emi_amount": {
"currency": "INR",
"value": 181461
},
"total_emi_amount": {
"currency": "INR",
"value": 2177532
},
"interest_amount": {
"currency": "INR",
"value": 177532
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "5",
"name": "18 Months",
"tenure_type": "MONTH",
"tenure_value": 18,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1595",
"offer_parameter_id": "63850"
}
],
"details": [],
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 2000000
},
"net_payment_amount": {
"currency": "INR",
"value": 2262816
},
"monthly_emi_amount": {
"currency": "INR",
"value": 125712
},
"total_emi_amount": {
"currency": "INR",
"value": 2262816
},
"interest_amount": {
"currency": "INR",
"value": 262816
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "6",
"name": "24 Months",
"tenure_type": "MONTH",
"tenure_value": 24,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "1563",
"offer_parameter_id": "63813"
}
],
"details": [],
"auth_amount": {
"currency": "INR",
"value": 1200000
},
"loan_amount": {
"currency": "INR",
"value": 2000000
},
"net_payment_amount": {
"currency": "INR",
"value": 2350224
},
"monthly_emi_amount": {
"currency": "INR",
"value": 97926
},
"total_emi_amount": {
"currency": "INR",
"value": 2350224
},
"interest_amount": {
"currency": "INR",
"value": 350224
},
"interest_rate_percentage": 16,
"processing_fee_details": {
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
}
],
"issuer_data": {}
}
]
}
{
"issuers": [
{
"id": "2",
"name": "ICICI DC",
"display_name": "ICICI BANK",
"issuer_type": "DC_BANK",
"priority": 22,
"tenures": [
{
"tenure_id": "5",
"name": "18 Months",
"tenure_type": "MONTH",
"tenure_value": 18,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "6036",
"offer_parameter_id": "v1-2-2-5-4-6036-287150"
}
],
"details": [
{
"product_code": "SPLIT_APPLE-1",
"product_display_name": "",
"brand_name": "",
"product_amount": {
"currency": "INR",
"value": 10000000
},
"product_coupon_discount_amount": {
"currency": "INR",
"value": 1000
},
"interest_amount": {
"currency": "INR",
"value": 1313902
},
"interest_rate": 16,
"cart_coupon_discount_product_share": {
"currency": "INR",
"value": 1000
}
}
],
"loan_amount": {
"currency": "INR",
"value": 9998000
},
"auth_amount": {
"currency": "INR",
"value": 9998000
},
"net_payment_amount": {
"currency": "INR",
"value": 11311902
},
"monthly_emi_amount": {
"currency": "INR",
"value": 628439
},
"total_emi_amount": {
"currency": "INR",
"value": 11311902
},
"interest_amount": {
"currency": "INR",
"value": 1313902
},
"split_emi_display_name": "iPhone for Life",
"split_emi_amount": {
"currency": "INR",
"value": 2358490
},
"split_emi_percentage": 25,
"interest_rate_percentage": 16,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"processing_fee_amount": {
"currency": "INR",
"value": 19900
},
"emi_type": "STANDARD",
"cart_coupon_discount_amount": {
"currency": "INR",
"value": 1000
},
"total_coupon_discount": {
"currency": "INR",
"value": 2000
}
}
],
"issuer_data": {
"is_consent_page_required": true,
"consent_data": "<div className='concent-container'> <div className='concentTitle'>1. Consent for Disclosure of Information</div> <div className='concentSection'> <div className='concentText'>I/We hereby furnish my consent to ICICI Bank to share and/or fetch any of my/our information (including my/our sensitive personal information, location etc.) or any other device information when ICICI Bank considers such disclosure/ fetching as necessary, with/ from: <ol className=\"lettered-list\"> <li>Agents of ICICI Bank in any jurisdiction;</li> <li>Auditors, credit rating agencies/credit bureaus, statutory/regulatory authorities, governmental/administrative authorities, Central Know Your Customer (C-KYC) registry or SEBI Know Your Client registration agency, having jurisdiction over ICICI Bank;</li> <li>Service providers, professional advisors, consultants or such person with whom ICICI Bank contracts or proposes to contract;</li> </ol> (Collectively referred to as “Permitted Persons”) </div> </div> <div className='concentTitle'>For the purpose of: </div> <div className='concentSection'> <div className='concentText'> <ol className=\"lettered-list\"> <li>Provision of the facility, completion of on-boarding formalities and servicing; or</li> <li>Complying with KYC /customer due diligence requirements, anti-money laundering checks; or</li> <li>Compliance with applicable laws or any order (judicial or otherwise), statutory/regulatory/legal requirement, including disclosure to information utilities; or</li> <li>Credit review of facilities availed; or</li> <li>Authentication or verification; or</li> <li>Research or analysis, credit reporting & scoring, risk management, participation in any service-related communication; or</li> <li>Electronic clearing network and for use or processing of the said information/data; or</li> <li>Disclosing any default in payment; or</li> <li>Recovering the credit facilities including all interest and other charges.</li> </ol> </div> </div> <div className='concentTitle'>2. Consent for Camera/Microphone Access</div> <div className='concentSection'> <div className='concentText'>I/We hereby authorize ICICI Bank to get a one-time access to my/our device's camera and microphone for the purposes of on-boarding and KYC verification which is required to be conducted to enable ICICI Bank to provide the credit facilities sought by me/us.<sup>1</sup></div> </div> <div className='concentTitle'>3. Consent to ICICI Bank's Privacy Commitment</div> <div className='concentSection'> <div className='concentText'>I/We confirm having read and understood ICICI Bank's 'Privacy Commitment' available at <a href='https://www.icicibank.com/privacy' target='_blank' rel='noopener noreferrer'>https://www.icicibank.com/privacy</a>. I/We acknowledge that the same shall be subject to changes by ICICI Bank from time to time at its sole discretion and I/we agree to keep myself/ourselves updated with the same.</div> </div> <div className='concentSection'> <div className='concentText'>4. I hereby expressly acknowledge that I have read and understood about the loan amount, tenure, applicable interest and other terms of the said loan. I hereby provide my consent in acceptance of the same and the KFS. With a check box below confirming the above content</div> </div> <div className='concentSection'> <div className='concent-footer-divider'></div> <div className='concentText concent-footer'> <sup>1</sup>Applicable for NTB or non-KYC compliant customer. Since this is a one-time consent, access should be disabled once on-boarding/KYC is completed.</div> </div> </div>",
"terms_and_conditions": "Sample TNC",
"show_key_fact_statement": true,
"auth_type": "PENNY_DROP",
"penny_transaction_amount": {
"currency": "INR",
"value": 100
},
"is_tokenized_transaction_supported": false
}
}
]
}
Click here for request and response parameter information.
The table below lists the request parameters of our Offer Discovery API.
| Parameter | Type | Description |
|---|---|---|
| order_amount required | object |
An object that contains the transaction amount details. Learn more about our order_amount child object. |
| product_details required | object |
An object that contains product details. Learn more about our product_details child object. |
| cart_coupon_discount_amount | string |
An object that contains the cart coupon discount details. Learn more about our cart_coupon_discount_amount child object. |
Order Amount [Child Object]
The table below lists the various parameters in the order_amount child object. This object is part of the offer Discovery Brand EMI sample request object.
| Parameter | Type | Description |
|---|---|---|
| value required | integer |
Transaction amount is Paisa.
1000 |
| currency required | string |
Type of currency. Example: INR |
Product Details [Child Object]
The table below lists the various parameters in the product_details child object. This is part of the offer Discovery Brand EMI sample request object.
| Parameter | Type | Description |
|---|---|---|
| product_code required | String |
Unique Product identifier of the product. Example: redmi_1 |
| product_amount required | object |
An object that contains the product amount details. Learn more about the product_amount child object. |
| product_coupon_discount_amount | object |
An object that contains the product coupon discount details. Learn more about the product_coupon_discount_amount child object. |
Product Amount [Child Object]
The table below lists the various parameters in the product_amount child object. This object is part of the product_details object.
| Parameter | Type | Description |
|---|---|---|
| value required | integer |
Transaction amount is Paisa.
1000 |
| currency required | string |
Type of currency. Example: INR |
Product Coupon Discount Amount [Child Object]
The table below lists the various parameters in the product_coupon_discount_amount child object. This object is part of the product_details object.
| Parameter | Type | Description |
|---|---|---|
| value required | integer |
Transaction amount is Paisa.
1000 |
| currency required | string |
Type of currency. Example: INR |
Cart Coupon Discount Amount [Child Object]
The table below lists the various parameters in the cart_coupon_discount_amount child object. This object is part of the offer Discovery Brand EMI sample request object.
| Parameter | Type | Description |
|---|---|---|
| value required | integer |
Transaction amount is Paisa.
1000 |
| currency required | string |
Type of currency. Example: INR |
The table below lists the various parameters returned in the offer discovery brand emi response object.
| Parameter | Type | Description |
|---|---|---|
| id | String |
Unique identifier of the issuer id in the Plural database. Example: 23 |
| name | String |
Name of the Issuer. Example: INDUSIND CC |
| display_name | string |
Name of the issuer offering the offer. Example: INDUSIND |
| issuer_type | String |
The type of the Issuer offering the offer. Accepted values:
|
| priority | integer |
The priority of the issuer providing the offer. Example: 1 |
| tenures | array of objects |
An array of objects that contains the tenures details. Learn more about the tenures child object. |
| issuer_data | objects |
An object that contains the issuer data details. Learn more about the issuer_data child object. |
Tenures [Child Object]
The table below lists the various parameters in the tenures object. This is part of the offer discovery response object.
| Parameter | Type | Description |
|---|---|---|
| tenure_id | String |
Tenure id in the Plural database. Example: 1 |
| name | String |
The name of the Issuer offering the offer. Example: 3 Months |
| tenure_type | String |
The type of the Tenure. Accepted values:
|
| tenure_value | integer |
The value of the tenure. Example: 3 |
| issuer_offer_parameters | array of objects |
An array of objects that contains the issuer_offer_parameters details.Learn more about the issuer_offer_parameters child object. |
| details | array of objects |
An array of objects that contains the product details.Learn more about the details child object. |
| discount | object |
An object that contains the discount details. Learn more about the discount child object. |
| loan_amount | object |
An object that contains the loan amount details. Learn more about the loan_amount child object. |
| total_discount_amount | object |
An object that contains the total discount amount details. Learn more about the total_discount_amount child object. |
| net_payment_amount | object |
An object that contains the net payment amount details. Learn more about the net_payment_amount child object. |
| monthly_emi_amount | object |
An object that contains the monthly EMI amount details. Learn more about the monthly_emi_amount child object. |
| total_emi_amount | object |
An object that contains the total EMI amount details. Learn more about the total_emi_amount child object. |
| interest_amount | object |
An object that contains the interest amount details. Learn more about the interest_amount child object. |
| total_subvention_amount | object |
An object that contains the total subvention amount details. Learn more about the total_subvention_amount child object. |
| interest_rate_percentage | float |
Interest rate percentage for the tenure. Example: 16.90 |
| processing_fee_details | object |
An object that contains the processing fee details. Learn more about the processing_fee_details child object. |
| convenience_fee_breakdown | object |
An object that contains the convenience fee breakdown details. Learn more about our convenience_fee_breakdown child object. |
| cart_coupon_discount_amount | object |
An object that contains the cart coupon discount amount details. Learn more about our cart_coupon_discount_amount child object. |
| total_coupon_discount | object |
An object that contains the total coupon discount details. Learn more about our total_coupon_discount child object. |
| emi_type | strings |
Type of EMI. Example: STANDARDAccepted values:
|
Issuer Offer Parameters [Child Object]
The table below lists the various parameters in the issuer_offer_parameters child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| program_type | String |
Unique identifier of the issuer id in the Plural database. Example: 23 |
| offer_id | String |
Name of the Issuer. Example: INDUSIND CC |
| offer_parameter_id | String |
The type of the Issuer offering the offer. Accepted values:
|
Details [Child Object]
The table below lists the various parameters in the details child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| product_code | String |
Unique Product identifier of the product. Example: redmi_1 |
| product_display_name | string |
Name of the Product. Example: Oneplus 13R |
| brand_id | String |
Unique brand identifier of the product. Example: 3 |
| product_offer_parameters | array of objects |
An array of objects that contains the product offer schemes for the product EMI details. Learn more about the product_offer_parameters child object. |
| product_amount | object |
An object that contains the product amount details. Learn more about the product_amount child object. |
| product_coupon_discount_amount | object |
An object that contains the product coupon discount amount details. Learn more about the product_coupon_discount_amount child object. |
| subvention | object |
An object that contains the subvention details. Learn more about the subvention child object. |
| discount | object |
An object that contains the product discount details. Learn more about the discount child object. |
| brand_name | string |
Name of the Brand. Example: Oneplus |
| interest_amount | object |
An object that contains the interest amount details. Learn more about the interest_amount child object. |
| interest_rate | double |
Rate of interest applied on the product. Example: 2 |
| cart_coupon_discount_product_share | object |
An object that contains the cart coupon discount product share details. Learn more about the cart_coupon_discount_product_share child object. |
Product Offer Parameters [Child Object]
The table below lists the various parameters in the product_offer_parameters child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| program_type | String |
Type of the Program. Example: BRAND_EMIAccepted values:
|
| offer_id | string |
Unique identifier of the offer. Example: 309 |
| offer_parameter_id | string |
Unique offer parameter identifier. Example: 20 |
Product Amount [Child Object]
The table below lists the various parameters in the product_amount child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount in Paisa.
1000 |
Product Coupon Discount Amount [Child Object]
The table below lists the various parameters in the product_coupon_discount_amount child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount in Paisa.
1000 |
Subvention [Child Object]
The table below lists the various parameters in the subvention child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| subvention_type | String |
Type of subvention. Example: INSTANTAccepted values:
|
| offer_type | string |
Type of the offer. Accepted values:
|
| percentage | integer |
Transaction amount is Paisa.
1000 |
| amount | object |
An object that contains the subvention amount details. Learn more about the amount child object. |
| breakup | object |
An object that contains the subvention breakup details. Learn more about the breakup child object. |
| max_amount | object |
An object that contains the maximum subvention amount details. Learn more about the max_amount child object. |
| min_amount | object |
An object that contains the minimum subvention amount details. Learn more about the min_amount child object. |
Amount [Child Object]
The table below lists the various parameters in the amount child object. This is part of the subvention object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Breakup [Child Object]
The table below lists the various parameters in the breakup child object. This is part of the subvention object.
| Parameter | Type | Description |
|---|---|---|
| brand | object |
An object that contains the breakup details of the brand. Learn more about the brand child object. |
Brand [Child Object]
The table below lists the various parameters in the brand child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details of the brand. Learn more about the amount child object. |
Amount [Child Object]
The table below lists the various parameters in the amount child object. This is part of the brand object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Max Amount [Child Object]
The table below lists the various parameters in the max_amount child object. This is part of the subvention object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Min Amount [Child Object]
The table below lists the various parameters in the min_amount child object. This is part of the subvention object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Discount [Child Object]
The table below lists the various parameters in the discount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| discount_type | String |
Type of discount. Possible values:
|
| discount_string | string |
The additional discount provided by the offering entity after a specific period. Example: 1000 |
| percentage | Double |
The discount percentage provided by the offering entity. Example: 16.90 |
| amount | string |
Discount amount. Example: 2000 |
| max_amount | object |
An object that contains the maximum discount amount details. Learn more about the max_amount child object. |
| min_amount | object |
An object that contains the minimum discount amount details. Learn more about the min_amount child object. |
| discount_deferred_duration_value | integer |
The duration value for the deferred discount. Example: |
| discount_deferred_duration_type | string |
Discount duration type deferred. Possible values:
|
| breakup | object |
An object that contains the product offer details with breakup. Learn more about the breakup child object. |
Max Amount [Child Object]
The table below lists the various parameters in the max_amount child object. This is part of the discount object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Min Amount [Child Object]
The table below lists the various parameters in the min_amount child object. This is part of the discount object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Breakup [Child Object]
The table below lists the various parameters in the breakup child object. This is part of the discount object.
| Parameter | Type | Description |
|---|---|---|
| merchant | object |
An object that contains the merchant breakup details. Learn more about the merchant child object. |
| issuer | object |
An object that contains the issuer breakup details. Learn more about the issuer child object. |
| brand | object |
An object that contains the brand breakup details. Learn more about the brand child object. |
| dealer | object |
An object that contains the dealer breakup details. Learn more about the dealer child object. |
Merchant [Child Object]
The table below lists the various parameters in the merchant child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details. Learn more about the amount child object. |
Issuer [Child Object]
The table below lists the various parameters in the issuer child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details. Learn more about the amount child object. |
Brand [Child Object]
The table below lists the various parameters in the brand child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details. Learn more about the amount child object. |
Dealer [Child Object]
The table below lists the various parameters in the dealer child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| amount | object |
An object that contains the breakup amount details. Learn more about the amount child object. |
Amount [Child Object]
The table below lists the various parameters in the amount child object. This is part of the breakup object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Interest Amount [Child Object]
The table below lists the various parameters in the interest_amount child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Cart Coupon Discount Product Share [Child Object]
The table below lists the various parameters in the cart_coupon_discount_product_share child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Loan Amount [Child Object]
The table below lists the various parameters in the loan_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Total Discount Amount [Child Object]
The table below lists the various parameters in the total_discount_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Net Payment Amount [Child Object]
The table below lists the various parameters in the net_payment_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Monthly EMI Amount [Child Object]
The table below lists the various parameters in the monthly_emi_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Total EMI Amount [Child Object]
The table below lists the various parameters in the total_emi_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Interest Amount [Child Object]
The table below lists the various parameters in the interest_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Total Subvention Amount [Child Object]
The table below lists the various parameters in the total_subvention_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Processing Fee Details [Child Object]
The table below lists the various parameters in the processing_fee_details child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Convenience Fee Breakdown [Child Object]
The table below lists the various parameters in the convenience_fee_breakdown child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| fee_calculated_on_amount | object |
An object that contains the fee calculation amount details. Learn more about the fee_calculated_on_amount child object. |
| fee_amount | object |
An object that contains the fee amount details. Learn more about the fee_amount child object. |
| tax_amount | object |
An object that contains the tax amount details. Learn more about the tax_amount child object. |
| additional_fee_amount | object |
An object that contains the additional fee amount details. Learn more about the additional_fee_amount child object. |
| maximum_fee_amount | object |
An object that contains the maximum fee amount details. Learn more about the maximum_fee_amount child object. |
| applicable_fee_amount | object |
An object that contains the applicable fee amount details. Learn more about the applicable_fee_amount child object. |
| subvented_fee_amount | object |
An object that contains the subvented fee amount details. Learn more about the subvented_fee_amount child object. |
Fee Calculated on Amount [Child Object]
The table below lists the various parameters in the fee_calculated_on_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Fee Amount [Child Object]
The table below lists the various parameters in the fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Tax Amount [Child Object]
The table below lists the various parameters in the tax_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Additional Fee Amount [Child Object]
The table below lists the various parameters in the additional_fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Maximum Fee Amount [Child Object]
The table below lists the various parameters in the maximum_fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Applicable Fee Amount [Child Object]
The table below lists the various parameters in the applicable_fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Subvented Fee Amount [Child Object]
The table below lists the various parameters in the subvented_fee_amount child object. This is part of the convenience_fee_breakdown object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Cart Coupon Discount Amount [Child Object]
The table below lists the various parameters in the cart_coupon_discount_amount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Total Coupon Discount [Child Object]
The table below lists the various parameters in the total_coupon_discount child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| currency | String |
Type of currency. Example: INR |
| value | integer |
Transaction amount is Paisa.
1000 |
Issuer Data [Child Object]
The table below lists the various parameters in the issuer_data object. This is part of the offer discovery response object.
| Parameter | Type | Description |
|---|---|---|
| otp_length | integer |
Length of the OTP. Example: 4 |
| otp_time_in_sec | integer |
OTP validity time in seconds. Example: 120 |
| otp_retry_count | integer |
Maximum OTP retry count. Example: |
| is_consent_page_required | Boolean |
Status of the required consent page.
|
| consent_data | String |
Transaction consent data. Example: |
| terms_and_conditions | String |
Transaction terms and conditions. Example: |
| show_key_fact_statement | Boolean |
Key fact statement status.
|
| auth_type | String |
Authentication type. Accepted values:
|
| penny_transaction_amount | string |
Applicable amount for penny transaction. Example: 100 |
| is_tokenized_transaction_supported | Boolean |
Tokenized transactions support status.
|
| pan_number_last_digit_count | String |
Last digit count of PAN. |
| offer_validation_parameters_required | String |
Parameters required in offer validation API. |
Refer to our Offer Discovery API documentation to learn more.
Note:
- The Offer Discovery API returns the list of available tenures for the selected product and bank.
- Select the tenure that best meets your customer’s requirements.
- Validate the choice by passing the selected tenure to the Offer Validation API.
3. Offer Validation
Use this API for validating applied offers.
Below is a sample request and response for the Offer Validation API.
curl --request POST \
--url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/validate \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"order_amount": {
"value": 219900,
"currency": "INR"
},
"payment_amount": {
"value": 219900,
"currency": "INR"
},
"payment_option": {
"card_details": {
"card_number": "4000000040001000",
"registered_mobile_number": "9914152866"
}
},
"offer_data": {
"offer_details": {
"tenure": {
"auth_amount": {
"currency": "INR",
"value": 219900
},
"loan_amount": {
"currency": "INR",
"value": 219900
},
"net_payment_amount": {
"currency": "INR",
"value": 258408
},
"monthly_emi_amount": {
"currency": "INR",
"value": 10767
},
"total_emi_amount": {
"currency": "INR",
"value": 258408
},
"interest_amount": {
"currency": "INR",
"value": 38508
},
"tenure_id": "6",
"name": "24 Months",
"tenure_type": "MONTH",
"tenure_value": 24,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "3498",
"offer_parameter_id": "199796"
},
{
"program_type": "MERCHANT_BANK_OFFER",
"offer_id": "3678",
"offer_parameter_id": "203706"
}
],
"details": [
{
"product_code": "xyz",
"product_display_name": "Redmi Note 13 5G",
"brand_name": "Xiaomi",
"product_amount": {
"currency": "INR",
"value": 219900
},
"interest_amount": {
"currency": "INR",
"value": 38508
},
"interest_rate": 16,
"bundle_id": "BUNDLE_003_OE3"
}
],
"interest_rate_percentage": 16,
"split_emi_display_name": "Apple Live",
"emi_type": "STANDARD"
},
"id": "6",
"name": "HDFC CC",
"display_name": "HDFC BANK",
"issuer_type": "CC_BANK",
"priority": 1
}
},
"payment_method": "CREDIT_EMI"
}
'
curl --request POST \
--url https://api.pluralpay.in/api/affordability/v1/offer/validate \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--header 'Request-ID: c17ce30f-f88e-4f81-ada1-c3b4909ed235' \
--header 'Request-Timestamp: 2024-07-09T07:57:08.022Z' \
--header 'accept: application/json' \
--data '
{
"order_amount": {
"value": 219900,
"currency": "INR"
},
"payment_amount": {
"value": 219900,
"currency": "INR"
},
"payment_option": {
"card_details": {
"card_number": "4000000040001000",
"registered_mobile_number": "9914152866"
}
},
"offer_data": {
"offer_details": {
"tenure": {
"auth_amount": {
"currency": "INR",
"value": 219900
},
"loan_amount": {
"currency": "INR",
"value": 219900
},
"net_payment_amount": {
"currency": "INR",
"value": 258408
},
"monthly_emi_amount": {
"currency": "INR",
"value": 10767
},
"total_emi_amount": {
"currency": "INR",
"value": 258408
},
"interest_amount": {
"currency": "INR",
"value": 38508
},
"tenure_id": "6",
"name": "24 Months",
"tenure_type": "MONTH",
"tenure_value": 24,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "3498",
"offer_parameter_id": "199796"
},
{
"program_type": "MERCHANT_BANK_OFFER",
"offer_id": "3678",
"offer_parameter_id": "203706"
}
],
"details": [
{
"product_code": "xyz",
"product_display_name": "Redmi Note 13 5G",
"brand_name": "Xiaomi",
"product_amount": {
"currency": "INR",
"value": 219900
},
"interest_amount": {
"currency": "INR",
"value": 38508
},
"interest_rate": 16,
"bundle_id": "BUNDLE_003_OE3"
}
],
"interest_rate_percentage": 16,
"split_emi_display_name": "Apple Live",
"emi_type": "STANDARD"
},
"id": "6",
"name": "HDFC CC",
"display_name": "HDFC BANK",
"issuer_type": "CC_BANK",
"priority": 1
}
},
"payment_method": "CREDIT_EMI"
}
'
curl --request POST \
--url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/validate \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"payment_method": "CREDIT_EMI",
"order_amount": {
"value": 10000000,
"currency": "INR"
},
"payment_amount": {
"value": 10000000,
"currency": "INR"
},
"payment_option": {
"card_details": {
"card_number": "4000000040001000",
"registered_mobile_number": "9914152866"
}
},
"offer_data": {
"offer_details": {
"id": "2",
"name": "ICICI DC",
"display_name": "ICICI BANK",
"issuer_type": "DC_BANK",
"priority": 22,
"tenure": {
"tenure_id": "5",
"name": "18 Months",
"tenure_type": "MONTH",
"tenure_value": 18,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "6036",
"offer_parameter_id": "v1-2-2-5-4-6036-287150"
}
],
"details": [
{
"product_code": "SPLIT_APPLE-1",
"product_display_name": "",
"brand_name": "",
"product_amount": {
"currency": "INR",
"value": 10000000
},
"product_coupon_discount_amount": {
"currency": "INR",
"value": 1000
},
"interest_amount": {
"currency": "INR",
"value": 1313902
},
"interest_rate": 16,
"cart_coupon_discount_product_share": {
"currency": "INR",
"value": 1000
}
}
],
"loan_amount": {
"currency": "INR",
"value": 9998000
},
"auth_amount": {
"currency": "INR",
"value": 9998000
},
"net_payment_amount": {
"currency": "INR",
"value": 11311902
},
"monthly_emi_amount": {
"currency": "INR",
"value": 628439
},
"total_emi_amount": {
"currency": "INR",
"value": 11311902
},
"interest_amount": {
"currency": "INR",
"value": 1313902
},
"split_emi_display_name": "iPhone for Life",
"split_emi_amount": {
"currency": "INR",
"value": 2358490
},
"split_emi_percentage": 25,
"interest_rate_percentage": 16,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"processing_fee_amount": {
"currency": "INR",
"value": 19900
},
"emi_type": "STANDARD",
"cart_coupon_discount_amount": {
"currency": "INR",
"value": 1000
},
"total_coupon_discount": {
"currency": "INR",
"value": 2000
}
},
"issuer_data": {
"is_consent_page_required": true,
"consent_data": "<div className='concent-container'> <div className='concentTitle'>1. Consent for Disclosure of Information</div> <div className='concentSection'> <div className='concentText'>I/We hereby furnish my consent to ICICI Bank to share and/or fetch any of my/our information (including my/our sensitive personal information, location etc.) or any other device information when ICICI Bank considers such disclosure/ fetching as necessary, with/ from: <ol className=\"lettered-list\"> <li>Agents of ICICI Bank in any jurisdiction;</li> <li>Auditors, credit rating agencies/credit bureaus, statutory/regulatory authorities, governmental/administrative authorities, Central Know Your Customer (C-KYC) registry or SEBI Know Your Client registration agency, having jurisdiction over ICICI Bank;</li> <li>Service providers, professional advisors, consultants or such person with whom ICICI Bank contracts or proposes to contract;</li> </ol> (Collectively referred to as “Permitted Persons”) </div> </div> <div className='concentTitle'>For the purpose of: </div> <div className='concentSection'> <div className='concentText'> <ol className=\"lettered-list\"> <li>Provision of the facility, completion of on-boarding formalities and servicing; or</li> <li>Complying with KYC /customer due diligence requirements, anti-money laundering checks; or</li> <li>Compliance with applicable laws or any order (judicial or otherwise), statutory/regulatory/legal requirement, including disclosure to information utilities; or</li> <li>Credit review of facilities availed; or</li> <li>Authentication or verification; or</li> <li>Research or analysis, credit reporting & scoring, risk management, participation in any service-related communication; or</li> <li>Electronic clearing network and for use or processing of the said information/data; or</li> <li>Disclosing any default in payment; or</li> <li>Recovering the credit facilities including all interest and other charges.</li> </ol> </div> </div> <div className='concentTitle'>2. Consent for Camera/Microphone Access</div> <div className='concentSection'> <div className='concentText'>I/We hereby authorize ICICI Bank to get a one-time access to my/our device's camera and microphone for the purposes of on-boarding and KYC verification which is required to be conducted to enable ICICI Bank to provide the credit facilities sought by me/us.<sup>1</sup></div> </div> <div className='concentTitle'>3. Consent to ICICI Bank's Privacy Commitment</div> <div className='concentSection'> <div className='concentText'>I/We confirm having read and understood ICICI Bank's 'Privacy Commitment' available at <a href='https://www.icicibank.com/privacy' target='_blank' rel='noopener noreferrer'>https://www.icicibank.com/privacy</a>. I/We acknowledge that the same shall be subject to changes by ICICI Bank from time to time at its sole discretion and I/we agree to keep myself/ourselves updated with the same.</div> </div> <div className='concentSection'> <div className='concentText'>4. I hereby expressly acknowledge that I have read and understood about the loan amount, tenure, applicable interest and other terms of the said loan. I hereby provide my consent in acceptance of the same and the KFS. With a check box below confirming the above content</div> </div> <div className='concentSection'> <div className='concent-footer-divider'></div> <div className='concentText concent-footer'> <sup>1</sup>Applicable for NTB or non-KYC compliant customer. Since this is a one-time consent, access should be disabled once on-boarding/KYC is completed.</div> </div> </div>",
"terms_and_conditions": "Sample TNC",
"show_key_fact_statement": true,
"auth_type": "PENNY_DROP",
"penny_transaction_amount": {
"currency": "INR",
"value": 100
},
"is_tokenized_transaction_supported": false
}
}
}
}
'
curl --request POST \
--url https://api.pluralpay.in/api/affordability/v1/offer/validate \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--header 'Request-ID: c17ce30f-f88e-4f81-ada1-c3b4909ed235' \
--header 'Request-Timestamp: 2024-07-09T07:57:08.022Z' \
--header 'accept: application/json' \
--data '
{
"payment_method": "CREDIT_EMI",
"order_amount": {
"value": 10000000,
"currency": "INR"
},
"payment_amount": {
"value": 10000000,
"currency": "INR"
},
"payment_option": {
"card_details": {
"card_number": "4000000040001000",
"registered_mobile_number": "9914152866"
}
},
"offer_data": {
"offer_details": {
"id": "2",
"name": "ICICI DC",
"display_name": "ICICI BANK",
"issuer_type": "DC_BANK",
"priority": 22,
"tenure": {
"tenure_id": "5",
"name": "18 Months",
"tenure_type": "MONTH",
"tenure_value": 18,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "6036",
"offer_parameter_id": "v1-2-2-5-4-6036-287150"
}
],
"details": [
{
"product_code": "SPLIT_APPLE-1",
"product_display_name": "",
"brand_name": "",
"product_amount": {
"currency": "INR",
"value": 10000000
},
"product_coupon_discount_amount": {
"currency": "INR",
"value": 1000
},
"interest_amount": {
"currency": "INR",
"value": 1313902
},
"interest_rate": 16,
"cart_coupon_discount_product_share": {
"currency": "INR",
"value": 1000
}
}
],
"loan_amount": {
"currency": "INR",
"value": 9998000
},
"auth_amount": {
"currency": "INR",
"value": 9998000
},
"net_payment_amount": {
"currency": "INR",
"value": 11311902
},
"monthly_emi_amount": {
"currency": "INR",
"value": 628439
},
"total_emi_amount": {
"currency": "INR",
"value": 11311902
},
"interest_amount": {
"currency": "INR",
"value": 1313902
},
"split_emi_display_name": "iPhone for Life",
"split_emi_amount": {
"currency": "INR",
"value": 2358490
},
"split_emi_percentage": 25,
"interest_rate_percentage": 16,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"processing_fee_amount": {
"currency": "INR",
"value": 19900
},
"emi_type": "STANDARD",
"cart_coupon_discount_amount": {
"currency": "INR",
"value": 1000
},
"total_coupon_discount": {
"currency": "INR",
"value": 2000
}
},
"issuer_data": {
"is_consent_page_required": true,
"consent_data": "<div className='concent-container'> <div className='concentTitle'>1. Consent for Disclosure of Information</div> <div className='concentSection'> <div className='concentText'>I/We hereby furnish my consent to ICICI Bank to share and/or fetch any of my/our information (including my/our sensitive personal information, location etc.) or any other device information when ICICI Bank considers such disclosure/ fetching as necessary, with/ from: <ol className=\"lettered-list\"> <li>Agents of ICICI Bank in any jurisdiction;</li> <li>Auditors, credit rating agencies/credit bureaus, statutory/regulatory authorities, governmental/administrative authorities, Central Know Your Customer (C-KYC) registry or SEBI Know Your Client registration agency, having jurisdiction over ICICI Bank;</li> <li>Service providers, professional advisors, consultants or such person with whom ICICI Bank contracts or proposes to contract;</li> </ol> (Collectively referred to as “Permitted Persons”) </div> </div> <div className='concentTitle'>For the purpose of: </div> <div className='concentSection'> <div className='concentText'> <ol className=\"lettered-list\"> <li>Provision of the facility, completion of on-boarding formalities and servicing; or</li> <li>Complying with KYC /customer due diligence requirements, anti-money laundering checks; or</li> <li>Compliance with applicable laws or any order (judicial or otherwise), statutory/regulatory/legal requirement, including disclosure to information utilities; or</li> <li>Credit review of facilities availed; or</li> <li>Authentication or verification; or</li> <li>Research or analysis, credit reporting & scoring, risk management, participation in any service-related communication; or</li> <li>Electronic clearing network and for use or processing of the said information/data; or</li> <li>Disclosing any default in payment; or</li> <li>Recovering the credit facilities including all interest and other charges.</li> </ol> </div> </div> <div className='concentTitle'>2. Consent for Camera/Microphone Access</div> <div className='concentSection'> <div className='concentText'>I/We hereby authorize ICICI Bank to get a one-time access to my/our device's camera and microphone for the purposes of on-boarding and KYC verification which is required to be conducted to enable ICICI Bank to provide the credit facilities sought by me/us.<sup>1</sup></div> </div> <div className='concentTitle'>3. Consent to ICICI Bank's Privacy Commitment</div> <div className='concentSection'> <div className='concentText'>I/We confirm having read and understood ICICI Bank's 'Privacy Commitment' available at <a href='https://www.icicibank.com/privacy' target='_blank' rel='noopener noreferrer'>https://www.icicibank.com/privacy</a>. I/We acknowledge that the same shall be subject to changes by ICICI Bank from time to time at its sole discretion and I/we agree to keep myself/ourselves updated with the same.</div> </div> <div className='concentSection'> <div className='concentText'>4. I hereby expressly acknowledge that I have read and understood about the loan amount, tenure, applicable interest and other terms of the said loan. I hereby provide my consent in acceptance of the same and the KFS. With a check box below confirming the above content</div> </div> <div className='concentSection'> <div className='concent-footer-divider'></div> <div className='concentText concent-footer'> <sup>1</sup>Applicable for NTB or non-KYC compliant customer. Since this is a one-time consent, access should be disabled once on-boarding/KYC is completed.</div> </div> </div>",
"terms_and_conditions": "Sample TNC",
"show_key_fact_statement": true,
"auth_type": "PENNY_DROP",
"penny_transaction_amount": {
"currency": "INR",
"value": 100
},
"is_tokenized_transaction_supported": false
}
}
}
}
'
{
"code": "ELIGIBLE",
"message": "Offer is Eligible"
}
Click here for request and response parameter information.
The table below lists the request parameters of our Offer Validation API.
| Parameter | Type | Description |
|---|---|---|
| payment_method required | string | Type of payment method you want to use to accept a payment. Accepted values:
|
| order_amount required | object | An object that contains the transaction amount details. Learn more about our order_amount child object. |
| payment_amount required | object | An object that contains the payment amount details after the offer has been applied. Learn more about our payment_amount child object. |
| offer_data required | object | An object that contains details related to the offer. Learn more about our offer_data child object. |
| customer_details | object | An object that contains details related to the customer. Learn more about our customer_details child object. |
Order Amount [Child Object]
The table below lists the various parameters in the order_amount child object. This object is part of the offer validation sample request object.
| Parameter | Type | Description |
|---|---|---|
| value required | integer | Transaction amount is Paisa.
1000 |
| currency required | string | Type of currency. Example: INR |
Payment Amount [Child Object]
The table below lists the various parameters in the payment_amount child object. This object is part of the offer validation sample request object.
| Parameter | Type | Description |
|---|---|---|
| value required | integer | Transaction amount is Paisa.
1000 |
| currency required | string | Type of currency. Example: INR |
Offer Data [Child Object]
The table below lists the various parameters in the offer_data child object. This object is part of the offer validation sample request object.
| Parameter | Type | Description |
|---|---|---|
| offer_details | object | An object that contains details related to the offer issuer. Learn more about our offer_details child object. |
Offer Details [Child Object]
The table below lists the various parameters in the offer_details child object. This object is part of the offer_data sample request object.
| Parameter | Type | Description |
|---|---|---|
| id | string | The ID of the Issuer offering the offer. |
| name | string | The name of the Issuer offering the offer. |
| issuer_type | string | The type of the Issuer offering the offer. Example:
|
| priority | string | The priority of the Issuer offering the offer. |
| tenure | object | The EMI tenure details related to the offer. Learn more about our tenure child object. |
Tenure [Child Object]
The table below lists the various parameters in the tenures object. This is part of the offer_details request object.
| Parameter | Type | Description |
|---|---|---|
| tenure_id required | String | Tenure id in the Plural database. Example: 1 |
| name required | String | The name of the Tenure. |
| tenure_type required | String | The type of the Tenure. Accepted values:
|
| tenure_value | integer | The value of the tenure. Example: 3 |
| issuer_offer_parameters required | string | List of Offer Schemes for the tenure. |
| details | array of objects | An array of objects that contains the product details.Learn more about the details child object. |
| discount | object | An object that contains the discount details. Learn more about the discount child object. |
| loan_amount | object | An object that contains the loan amount details. Learn more about the loan_amount child object. |
| total_discount_amount | object | Total discount amount for the tenure. Learn more about the total_discount_amount child object. |
| net_payment_amount | object | An object that contains the net payment amount details. Learn more about the net_payment_amount child object. |
| monthly_emi_amount | object | An object that contains the monthly EMI amount details. Learn more about the monthly_emi_amount child object. |
| total_emi_amount | object | An object that contains the total EMI amount details. Learn more about the total_emi_amount child object. |
| interest_amount | object | An object that contains the interest amount details. Learn more about the interest_amount child object. |
| total_subvention_amount | object | An object that contains the total subvention amount details. Learn more about the total_subvention_amount child object. |
| interest_rate_percentage required | integer | Interest rate percentage for the tenure. |
| processing_fee_details | object | Processing fee details for the tenure. Learn more about the processing_fee_details child object. |
| emi_type required | strings | Type of EMI. Example: STANDARDAccepted values:
|
| convenience_fee_breakdown | object | An object that contains the convenience fee breakdown details. Learn more about the convenience_fee_breakdown child object. |
| cart_coupon_discount_amount | object | An object that contains the cart coupon discount amount details. Learn more about the cart_coupon_discount_amount child object. |
| total_coupon_discount | object | An object that contains the total coupon discount details. Learn more about the total_coupon_discount child object. |
Details [Child Object]
The table below lists the various parameters in the details child object. This is part of the tenures object.
| Parameter | Type | Description |
|---|---|---|
| product_code | String | Unique Product identifier of the product. Example: redmi_1 |
| product_display_name | String | Name of the Product. Example: Oneplus 13R |
| brand_id | String | Unique brand identifier of the product. Example: 3 |
| product_offer_parameters | array of objects | An array of objects that contains the product offer schemes for the product EMI details. Learn more about the product_offer_parameters child object. |
| product_amount | object | An object that contains the product amount details. Learn more about the product_amount child object. |
| product_coupon_discount_amount | object | An object that contains the product coupon discount amount details. Learn more about the product_coupon_discount_amount child object. |
| subvention | object | An object that contains the subvention details. Learn more about the subvention child object. |
| discount | object | An object that contains the product discount details. Learn more about the discount child object. |
| brand_name | string | Name of the Brand. Example: Oneplus |
| interest_amount | object | An object that contains the interest amount details. Learn more about the interest_amount child object. |
| interest_rate | string | Rate of interest applied on the product. Example: 19 |
| cart_coupon_discount_product_share | object | An object that contains the cart coupon discount product share details. Learn more about the cart_coupon_discount_product_share child object. |
Product Offer Parameters [Child Object]
The table below lists the various parameters in the product_offer_parameters child object. This is part of the details object.
| Parameter | Type | Description |
|---|---|---|
| program_type | String | Type of the Program. Example: BRAND_EMIAccepted values:
|
| offer_id | string | Unique identifier of the offer. Example: 309 |
| offer_parameter_id | string | Unique offer parameter identifier. Example: 20 |
