Offer Validation

POST/api/affordability/v1/offer/validate

Use this API for validating applied offers.

Requires Bearer token. Get token →

Request Body

NameTypeDescription
payment_method
stringrequired

Type of payment method you want to use to accept a payment.

Accepted values:<ul><li>CREDIT_EMI</li><li>DEBIT_EMI</li><li>CARDLESS_EMI</li><li>UPI</ul></li>

order_amount
objectrequired

An object that contains order amount.

value
stringrequired

The transaction amount in Paisa.

<ul><li>Minimum value: `100` (₹1)</li><li>Maximum value: `100000000` (₹10 lakh)

Example: 1100

currency
stringrequired

Type of currency.

Example: INR

payment_amount
objectrequired

An object that contains the payment amount details after the offer has been applied.

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.

<ul><li>Minimum value: `100` (₹1)</li><li>Maximum value: `100000000` (₹10 lakh)

Example: 1100

currency
stringrequired

Type of currency.

Example: INR

payment_option
objectrequired

An object that contains the details of the payment options.

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
object

Mandatory for Plain Card Transactions

An object that contains the card details.

cardless_details
object

Mandatory for Cardless Transactions

An object that contains the cardless transaction details.

card_token_details
object

Mandatory for Tokenized Transactions

An object that contains the card token details.

upi_details
object

Mandatory for UPI Transactions

An object that contains the UPI transaction details.

offer_data
objectrequired

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

offer_details
object

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

customer_details
object

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.

Response

NameTypeDescription
code
string
message
string

Status Codes

200200
400400
Request
curl -X POST "https://api.pluralpay.in/api/affordability/v1/offer/validate" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "payment_method": "CREDIT_EMI",
  "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": {
      "id": "6",
      "name": "HDFC CC",
      "display_name": "HDFC BANK",
      "issuer_type": "CC_BANK",
      "priority": 1,
      "tenure": {
        "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,
            "downpayment_amount": {
              "currency": "INR",
              "value": 200000
            },
            "after_downpayment_reduced_product_amount": {
              "currency": "INR",
              "value": 200000
            },
            "bundle_id": "BUNDLE_002_OE3"
          }
        ],
        "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
        },
        "interest_rate_percentage": 16,
        "split_emi_display_name": "Apple Live",
        "downpayment_details": {
          "downpayment_amount": {
            "currency": "INR",
            "value": 200000
          }
        },
        "emi_type": "STANDARD"
      }
    }
  }
}'

Run this request

200 OK
{
  "code": "ELIGIBLE",
  "message": "Offer is Eligible"
}
New chat
Responses are generated using AI and may contain mistakes.
Hi! I'm Pine, your AI developer assistant. Ask me anything about Pine Labs APIs, integrations, or troubleshooting.

Tip: you can create a new chat with ⌘ + E