Cardless - Integration Steps
Learn how to integrate the Plural Affordability Suite to provide your merchants with a seamless shopping experience.
Follow the below steps to integrate with Plural affordability suite in your application.
- [Prerequisite] Generate Token
- Offer Discovery Cardless
- 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.
Watch Out
- To Integrate with Plural 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 Plural 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 Plural database. Example: a17ce30e-f88e-4f81-ada1-c3b4909ed232 Note: 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: fgwei7egyhuggwp39w8rh Note: 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: eyJhbGciOiJIUzI1NiIsIn Note: Use this token in the authorization headers to authenticate Plural 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 Cardless
Use this API to check the offers cardless and calculate the EMI.
Below are the sample requests and response for the Offer Discovery Cardless API.
2.1. Bank EMI
curl --request POST \
--url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/discovery/cardless \
--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": 150000
},
"payment_option": {
"cardless_details": {
"registered_mobile_number": "9582223917"
}
},
"product_details": [
{
"product_code": "Apple_test_1",
"product_amount": {
"value": 150000,
"currency": "INR"
}
}
]
}
'
curl --request POST \
--url https://api.pluralpay.in/api/affordability/v1/offer/discovery/cardless \
--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": 150000
},
"payment_option": {
"cardless_details": {
"registered_mobile_number": "9582223917"
}
},
"product_details": [
{
"product_code": "Apple_test_1",
"product_amount": {
"value": 150000,
"currency": "INR"
}
}
]
}
'
{
"issuers": [
{
"id": "3",
"name": "ICICI CARDLESS",
"display_name": "ICICI CARDLESS",
"issuer_type": "CARDLESS_BANK",
"priority": 1,
"tenures": [
{
"tenure_id": "3",
"name": "9 Months",
"tenure_type": "MONTH",
"tenure_value": 9,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "308",
"offer_parameter_id": "19"
}
],
"details": [
{
"product_code": "Apple_test_1",
"product_display_name": "17 Pro Max 256GB",
"brand_name": "Apple",
"product_amount": {
"currency": "INR",
"value": 150000
},
"interest_amount": {
"currency": "INR",
"value": 5358
},
"interest_rate": 8.5
}
],
"loan_amount": {
"currency": "INR",
"value": 150000
},
"net_payment_amount": {
"currency": "INR",
"value": 155358
},
"monthly_emi_amount": {
"currency": "INR",
"value": 17262
},
"total_emi_amount": {
"currency": "INR",
"value": 155358
},
"interest_amount": {
"currency": "INR",
"value": 5358
},
"interest_rate_percentage": 8.5,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "1",
"name": "3 Months",
"tenure_type": "MONTH",
"tenure_value": 3,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "308",
"offer_parameter_id": "19"
}
],
"details": [
{
"product_code": "Apple_test_1",
"product_display_name": "17 Pro Max 256GB",
"brand_name": "Apple",
"product_amount": {
"currency": "INR",
"value": 150000
},
"interest_amount": {
"currency": "INR",
"value": 4014
},
"interest_rate": 15.99
}
],
"loan_amount": {
"currency": "INR",
"value": 150000
},
"net_payment_amount": {
"currency": "INR",
"value": 154014
},
"monthly_emi_amount": {
"currency": "INR",
"value": 51338
},
"total_emi_amount": {
"currency": "INR",
"value": 154014
},
"interest_amount": {
"currency": "INR",
"value": 4014
},
"interest_rate_percentage": 15.99,
"processing_fee_details": {
"percentage": 0,
"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": "308",
"offer_parameter_id": "19"
}
],
"details": [
{
"product_code": "Apple_test_1",
"product_display_name": "17 Pro Max 256GB",
"brand_name": "Apple",
"product_amount": {
"currency": "INR",
"value": 150000
},
"interest_amount": {
"currency": "INR",
"value": 7074
},
"interest_rate": 15.99
}
],
"loan_amount": {
"currency": "INR",
"value": 150000
},
"net_payment_amount": {
"currency": "INR",
"value": 157074
},
"monthly_emi_amount": {
"currency": "INR",
"value": 26179
},
"total_emi_amount": {
"currency": "INR",
"value": 157074
},
"interest_amount": {
"currency": "INR",
"value": 7074
},
"interest_rate_percentage": 15.99,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
}
],
"issuer_data": {
"otp_length": 6,
"otp_time_in_sec": 30,
"otp_retry_count": 3,
"is_consent_page_required": false,
"consent_data": "Sample Consent",
"terms_and_conditions": "Sample TNC",
"show_key_fact_statement": true,
"auth_type": "OTP",
"pan_number_last_digit_count": 3
}
},
{
"id": "8",
"name": "HDFC CARDLESS",
"display_name": "HDFC CARDLESS",
"issuer_type": "CARDLESS_BANK",
"priority": 1,
"tenures": [
{
"tenure_id": "3",
"name": "9 Months",
"tenure_type": "MONTH",
"tenure_value": 9,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "308",
"offer_parameter_id": "19"
}
],
"details": [
{
"product_code": "Apple_test_1",
"product_display_name": "17 Pro Max 256GB",
"brand_name": "Apple",
"product_amount": {
"currency": "INR",
"value": 150000
},
"interest_amount": {
"currency": "INR",
"value": 5358
},
"interest_rate": 8.5
}
],
"loan_amount": {
"currency": "INR",
"value": 150000
},
"net_payment_amount": {
"currency": "INR",
"value": 155358
},
"monthly_emi_amount": {
"currency": "INR",
"value": 17262
},
"total_emi_amount": {
"currency": "INR",
"value": 155358
},
"interest_amount": {
"currency": "INR",
"value": 5358
},
"interest_rate_percentage": 8.5,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
},
{
"tenure_id": "1",
"name": "3 Months",
"tenure_type": "MONTH",
"tenure_value": 3,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "308",
"offer_parameter_id": "19"
}
],
"details": [
{
"product_code": "Apple_test_1",
"product_display_name": "17 Pro Max 256GB",
"brand_name": "Apple",
"product_amount": {
"currency": "INR",
"value": 150000
},
"interest_amount": {
"currency": "INR",
"value": 4014
},
"interest_rate": 15.99
}
],
"loan_amount": {
"currency": "INR",
"value": 150000
},
"net_payment_amount": {
"currency": "INR",
"value": 154014
},
"monthly_emi_amount": {
"currency": "INR",
"value": 51338
},
"total_emi_amount": {
"currency": "INR",
"value": 154014
},
"interest_amount": {
"currency": "INR",
"value": 4014
},
"interest_rate_percentage": 15.99,
"processing_fee_details": {
"percentage": 0,
"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": "308",
"offer_parameter_id": "19"
}
],
"details": [
{
"product_code": "Apple_test_1",
"product_display_name": "17 Pro Max 256GB",
"brand_name": "Apple",
"product_amount": {
"currency": "INR",
"value": 150000
},
"interest_amount": {
"currency": "INR",
"value": 7074
},
"interest_rate": 15.99
}
],
"loan_amount": {
"currency": "INR",
"value": 150000
},
"net_payment_amount": {
"currency": "INR",
"value": 157074
},
"monthly_emi_amount": {
"currency": "INR",
"value": 26179
},
"total_emi_amount": {
"currency": "INR",
"value": 157074
},
"interest_amount": {
"currency": "INR",
"value": 7074
},
"interest_rate_percentage": 15.99,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
}
],
"issuer_data": {
"otp_length": 6,
"otp_time_in_sec": 30,
"otp_retry_count": 3,
"is_consent_page_required": false,
"consent_data": "Sample Consent",
"terms_and_conditions": "Sample TNC",
"show_key_fact_statement": false,
"auth_type": "OTP",
"pan_number_last_digit_count": 3
}
}
]
}
Click here for request and response parameter information.
The table below lists the request parameters of our Offer Discovery Cardless API.
Parameter | Type | Description |
---|---|---|
order_amount required | object |
An object that contains the transaction amount details. Learn more about our order_amount child object. |
payment_option required | object |
An object that contains the details of the payment options. Learn more about our payment_option child object. |
product_details required | object |
An object that contains the product details. Learn more about our product_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 Discovery API
request object.
Parameter | Type | Description |
---|---|---|
value required | integer |
The transaction amount in Paisa.
100
|
currency required | string |
Type of currency. Example: INR
|
Payment Option [Child Object]
The table below lists the various parameters in the payment_option
child object. This object is part of the Offer Discovery API
request object.
Parameter | Type | Description |
---|---|---|
cardless_details | object |
An object that contain cardless details. Learn more about our cardless_details child object. |
Cardless Details [Child Object]
The table below lists the various parameters in the cardless_details
child object. This object is part of the payment_option
object.
Parameter | Type | Description |
---|---|---|
registered_mobile_number | string |
Card registered mobile number.
9876543210 Supported characters:
|
Product Details [Child Object]
The table below lists the various parameters in the product_details
child object. This object is part of the Offer Discovery API
request object.
Parameter | Type | Description |
---|---|---|
product_code | String |
Unique Product identifier of the product. Example: Apple_test_1 |
product_amount | object |
An object that contain details of product amount. Learn more about our product_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 |
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: ICICI CARDLESS |
display_name | string |
Name of the issuer offering the offer. Example: ICICI CARDLESS |
issuer_type | String |
The type of the Issuer offering the offer. Example: CARDLESS_BANK |
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: 9 Months |
tenure_type | String |
The type of the Tenure. Accepted values:
|
tenure_value | integer |
The value of the tenure. Example: 9 |
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. |
loan_amount | object |
An object that contains the loan amount details. Learn more about the loan_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. |
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. |
emi_type | strings |
Type of EMI. Example: STANDARD Accepted 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 |
Type of program. Example: BANK_EMI |
offer_id | String |
Unique identifier of the issuer id in the Plural database. Example: 308 |
offer_parameter_id | String |
Unique identifier of the offer parameter id in the Plural database. Example: 19 |
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: Apple_test_1 |
product_display_name | string |
Name of the Product. Example: 17 Pro Max 256GB |
brand_name | string |
Name of the Brand. Example: Apple |
product_amount | object |
An object that contains the product amount details. Learn more about the product_amount child object. |
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 |
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 |
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 |
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 |
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 |
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 |
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:
|
pan_number_last_digit_count | String |
Last digit count of PAN. |
Refer to our Offer Discovery API documentation to learn more.
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 \
--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": "CARDLESS_EMI",
"order_amount": {
"value": 150000,
"currency": "INR"
},
"payment_amount": {
"value": 150000,
"currency": "INR"
},
"payment_option": {
"cardless_details": {
"pan_last_digits": "1234",
"registered_mobile_number": "7973058466"
}
},
"offer_data": {
"offer_details": {
"id": "3",
"name": "ICICI CARDLESS",
"display_name": "ICICI CARDLESS",
"issuer_type": "CARDLESS_BANK",
"priority": 1,
"tenure": {
"tenure_id": "3",
"name": "9 Months",
"tenure_type": "MONTH",
"tenure_value": 9,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "308",
"offer_parameter_id": "19"
}
],
"details": [
{
"product_code": "Apple_test_1",
"product_display_name": "17 Pro Max 256GB",
"brand_name": "Apple",
"product_amount": {
"currency": "INR",
"value": 150000
},
"interest_amount": {
"currency": "INR",
"value": 5358
},
"interest_rate": 8.5
}
],
"loan_amount": {
"currency": "INR",
"value": 150000
},
"net_payment_amount": {
"currency": "INR",
"value": 155358
},
"monthly_emi_amount": {
"currency": "INR",
"value": 17262
},
"total_emi_amount": {
"currency": "INR",
"value": 155358
},
"interest_amount": {
"currency": "INR",
"value": 5358
},
"interest_rate_percentage": 8.5,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
}
}
}
}
'
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": "CARDLESS_EMI",
"order_amount": {
"value": 150000,
"currency": "INR"
},
"payment_amount": {
"value": 150000,
"currency": "INR"
},
"payment_option": {
"cardless_details": {
"pan_last_digits": "1234",
"registered_mobile_number": "7973058466"
}
},
"offer_data": {
"offer_details": {
"id": "3",
"name": "ICICI CARDLESS",
"display_name": "ICICI CARDLESS",
"issuer_type": "CARDLESS_BANK",
"priority": 1,
"tenure": {
"tenure_id": "3",
"name": "9 Months",
"tenure_type": "MONTH",
"tenure_value": 9,
"issuer_offer_parameters": [
{
"program_type": "BANK_EMI",
"offer_id": "308",
"offer_parameter_id": "19"
}
],
"details": [
{
"product_code": "Apple_test_1",
"product_display_name": "17 Pro Max 256GB",
"brand_name": "Apple",
"product_amount": {
"currency": "INR",
"value": 150000
},
"interest_amount": {
"currency": "INR",
"value": 5358
},
"interest_rate": 8.5
}
],
"loan_amount": {
"currency": "INR",
"value": 150000
},
"net_payment_amount": {
"currency": "INR",
"value": 155358
},
"monthly_emi_amount": {
"currency": "INR",
"value": 17262
},
"total_emi_amount": {
"currency": "INR",
"value": 155358
},
"interest_amount": {
"currency": "INR",
"value": 5358
},
"interest_rate_percentage": 8.5,
"processing_fee_details": {
"percentage": 0,
"amount": {
"currency": "INR",
"value": 19900
}
},
"emi_type": "STANDARD"
}
}
}
}
'
{
"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. |
payment_option required | object |
An object that contains the payment option details. Learn more about our payment_option child object. |
offer_data required | object |
An object that contains details related to the offer. Learn more about our offer_data 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 |
Payment option [Child Object]
The table below lists the various parameters in the payment_option
child object. This object is part of the offer validation
sample request object.
Parameter | Type | Description |
---|---|---|
cardless_details required | object |
An object that contains cardless details. Learn more about our offer_data child object. |
Cardless Details [Child Object]
The table below lists the various parameters in the cardless_details
child object. This object is part of the payment_option
object.
Parameter | Type | Description |
---|---|---|
registered_mobile_number required | string | Card registered mobile number.
9876543210 Supported characters: 0-9 |
pan_last_digits required | string | Users PAN last digits. Example: Note: Refer to the parameter pan_number_last_digit_count returned by the Offer Discovery - Cardless API response, to determine how many digits to include in the pan_last_digits . This value may vary based on the acquirer. |
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. Example: ICICI CARDLESS |
display_name | string |
Name of the issuer offering the offer. Example: ICICI CARDLESS |
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: 3 |
name required | String | The name of the Tenure. Example: 9 Months |
tenure_type required | String | The type of the Tenure. Accepted values:
|
tenure_value | integer | The value of the tenure. Example: 9 |
issuer_offer_parameters required | string |
An array of objects that contains the issuer offer parameters details. Learn more about the details child object |
details | array of objects | An array of objects that contains the product details .Learn more about the details child object. |
loan_amount | object | An object that contains the loan amount details. Learn more about the loan_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. |
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: STANDARD Accepted 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 |
Name of the Product. Example: BANK_EMI |
offer_id | String |
Unique identifier of the offer. Example: 308 |
offer_parameter_id | String |
Unique identifier of the offer parameter identifier. Example: 19 |