Pine LabsDOCS

API Playground

Test Pine Labs API endpoints with real requests. All endpoints are loaded dynamically from the OpenAPI specification.

Create Offer EMI

Use this API for validating applied offers.

POSThttps://pluraluat.v2.pinepg.in/api/affordability/v1/offer/validate
Required
Request Body (editable JSON)
Request Body Schemarequired
FieldDetails
payment_method
stringrequired

Type of payment method you want to use to accept a payment.<br><br>Accepted values:<ul><li>`CREDIT_EMI`</li><li>`DEBIT_EMI`</li><li>`CARDLESS_EMI`</li><li>`UPI`</ul></li>

order_amount
objectrequired2 nested fields

An object that contains order amount.

value
stringrequired

The transaction amount in Paisa.<br><ul><li>Minimum value: `100` (₹1)</li><li>Maximum value: `100000000` (₹10 lakh)<br><br>Example: `1100`

currency
stringrequired

Type of currency.<br><br>Example: `INR`

payment_amount
objectrequired2 nested fields

An object that contains the payment amount details after the offer has been applied.<br><br>**Note**: Ensure you pass the `auth_amount` details. This `auth_amount` detail is returned through our Offer Discovery API response.

value
stringrequired

The transaction amount in Paisa.<br><ul><li>Minimum value: `100` (₹1)</li><li>Maximum value: `100000000` (₹10 lakh)<br><br>Example: `1100`

currency
stringrequired

Type of currency.<br><br>Example: `INR`

payment_option
objectrequired4 nested fields

An object that contains the details of the payment options.<br><br>You can use either `card_details` or `card_token_details` or `cardless_details` or `upi_details` as a payment option. One object is mandatory to process the request.

card_details
object2 nested fields

**Mandatory for Plain Card Transactions**<br><br>An object that contains the card details.

card_number
stringrequired

Card Number.<ul><li>Maximum length: `19` characters.</li><li>Minimum length: `12` characters.</ul></li>Example: `123456789012`<br><br>Supported characters: `0-9`

registered_mobile_number
string

**Mandatory** for `Bank EMI (Debit_EMI)`<br><br>Card registered mobile number.<ul><li>Maximum length: `20` characters.</li><li>Minimum length: `9` characters.</ul></li>Example: `9876543210`<br><br>Supported characters: <ul><li>`0-9`</li><li>`+`</ul></li>

cardless_details
object2 nested fields

**Mandatory for Cardless Transactions**<br><br>An object that contains the cardless transaction details.

pan_number
stringrequired

Pan last digits<br><br>Example: `234A`<br><br>**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_number`. This value may vary based on the acquirer.

registered_mobile_number
stringrequired

Card registered mobile number.<ul><li>Maximum length: `20` characters.</li><li>Minimum length: `9` characters.</ul></li>Example: `9876543210`<br><br>Supported characters: <ul><li>`0-9`</li><li>`+`</ul></li>

card_token_details
object4 nested fields

**Mandatory for Tokenized Transactions**<br><br>An object that contains the card token details.

last4_digit
string

The last four digits of your card number.<br><br>Has to be 4 digits.<br><br>Example: `1234`<br><br>Supported characters: `0-9`

token
string

Unique identifier of the card as per the token transaction type.<ul><li>Minimum: `1` characters.</li><li>Maximum: `50` characters.</ul></li>Example: `0342ef1e0342ef1e`

token_txn_type
string

The type of token transaction.<br><br>Accepted values:<ul><li>`ALT_TOKEN`</li><li>`NETWORK_TOKEN`</li><li>`ISSUER_TOKEN`</ul></li>

token_id
string

Unique identifier of the token in the Pine Labs Online database.<ul><li>Maximum length: `50` characters.<br><br>Example: `token-v1-0811030624-aa-RBDgpR`

upi_details
object2 nested fields

**Mandatory for UPI Transactions**<br><br>An object that contains the UPI transaction details.

txn_mode
string

UPI transaction mode.<br><br>Accepted values:<ul><li>`COLLECT`</li><li>`INTENT`</ul></li>

Allowed values
COLLECTINTENT
payer
objectrequired2 nested fields

Payer of the transaction.

vpa
string

VPA of the payer.<br><br>Example: `customer@upi`

phone_number
stringrequired

Phone number for the payer.<br><br>Example: `9876543210`

offer_data
objectrequired1 nested field

An object that contains details related to the offer. **Required for CREDIT_EMI, DEBIT_EMI, CARDLESS_EMI, and UPI payment methods.**

offer_details
object6 nested fields

An object that contains details related to the offer entity/issuer.

id
string

The ID of the Issuer offering the offer. Optional for UPI.

name
string

The name of the Issuer offering the offer. Optional for UPI.

display_name
string

The display name of the Issuer.

issuer_type
string

The type of the Issuer offering the offer.<br><br>Example:<ul><li>`CC_BANK`<li>`DC_BANK`<li>`UPI`

priority
string

The priority of the Issuer offering the offer.

tenure
object29 nested fields

The EMI tenure details related to the offer.

tenure_id
string

The ID of the Tenure.

name
string

The name of the Tenure.

tenure_type
string

Type of the tenure.

tenure_value
integerint32

The value of the tenure.

offer_ranking
integer

Sort ranking for the offer.

is_mobile_number_required_for_eligibility
boolean

Mobile number is required for velocity check or not.

is_offer_auto_applied
boolean

Is this particular offer going to be auto applied at the UI.

issuer_offer_parameters
object[]3 nested fields

List of Offer Schemes for the tenure.

program_type
string

Type of program. Accepted values: BANK_EMI, BRAND_EMI, MERCHANT_BANK_OFFER, MERCHANT_BRAND_OFFER, BRAND_OFFER, MY_EMI

offer_id
string

Unique identifier of the offer.

offer_parameter_id
string

Unique offer parameter identifier.

details
object[]15 nested fields

An array of objects that contains the product details.

product_code
string

Unique Product identifier of the product.<br><b>Example: `redmi_1`

product_display_name
string

Name of the Product.<br><br>Example: `Oneplus 13R`

brand_id
string

Unique brand identifier of the product.<br><br>Example: `3`

product_offer_parameters
object[]3 nested fields

An array of objects that contains the product offer schemes for the product EMI details.

program_type
string

Type of the Program.<br><br>Accepted values:<ul><li>`BRAND_EMI`</li><li>`BANK_EMI`</li><li>`MERCHANT_BRAND_OFFER`</li><li>`MERCHANT_BANK_OFFER`</li><li>`BRAND_OFFER`</li><li>`MY_EMI`</ul></li>

offer_id
string

Unique identifier of the offer.<br><br>Example: `309`

offer_parameter_id
string

Unique offer parameter identifier.<br><br>Example: `20`

product_amount
object2 nested fields

An object that contains the product amount details.

currency
stringrequired

Type of currency.<br><br>Example: `INR`

value
integerrequiredint32

The transaction amount in Paisa.

product_coupon_discount_amount
object2 nested fields

An object that contains the product coupon discount amount details.

currency
stringrequired
value
integerrequiredint32
subvention
object6 nested fields

An object that contains the subvention details.

subvention_type
string
percentage
string
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
breakup
object4 nested fields
brand
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
merchant
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
issuer
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
dealer
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
max_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
min_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
discount
object9 nested fields

An object that contains the product discount details.

discount_type
string

Type of discount.<br><br>Possible values:<ul><li>`INSTANT`</li><li>`DEFERRED`</ul></li>

discount_string
string
percentage
numberdouble
amount
string
max_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
min_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
discount_deferred_duration_value
string
discount_deferred_duration_type
string

Possible values:<ul><li>`DAY`</li><li>`MONTH`</ul></li>

breakup
object4 nested fields
brand
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
merchant
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
issuer
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
dealer
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
brand_name
string

Name of the Brand.<br><br>Example: `Oneplus`

interest_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
downpayment_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
after_downpayment_reduced_product_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
interest_rate
string

Rate of interest applied on the product.<br><br>Example: `19`

cart_coupon_discount_product_share
object2 nested fields
currency
stringrequired
value
integerrequiredint32
bundle_id
string

Unique identifier of the bundle offer in Pine Labs Online Database.<br><br>Example: `BUNDLE_002_OE3`

discount
string

Discount details applicable for the tenure.

auth_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
loan_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
total_discount_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
net_payment_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
monthly_emi_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
total_emi_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
intrest_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
total_subvention_amount
string

Total subvention amount for the tenure.

interest_rate_percentage
integerint32
processing_fee_details
object1 nested field
amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
processing_fee_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
emi_type
string

EMI type for the tenure.<ul><li>`LOW_COST`<li>`NO_COST`<li>`STANDARD`

split_emi_display_name
string
split_emi_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
split_emi_percentage
numberdouble
convenience_fee_breakdown
object7 nested fields
fee_calculated_on_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
fee_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
tax_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
additional_fee_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
maximum_fee_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
applicable_fee_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
subvented_fee_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
cart_coupon_discount_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
total_coupon_discount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
downpayment_details
object1 nested field

**Mandatory for EMI with Downpayment**<br><br>An object that contains the downpayment details.

downpayment_amount
object2 nested fields
currency
stringrequired
value
integerrequiredint32
customer_details
object1 nested field

An object that contains details related to the customer.

customer_id
string

Details related to the customer ID, required for Pine Labs Online tokenized saved cards.