Down Payment EMI - Integration Steps

Learn how to integrate the Pine Labs Affordability Suite to provide your merchants with a seamless shopping experience.

Follow the below steps to integrate with Pine Labs affordability suite in your application.

  1. [Prerequisite] Generate Token
  2. Down Payment Details
  3. Offer Discovery
  4. Offer Validation
  5. Create Order
  6. Create Payment
  7. Handle Payment
    1. Store Payment Details on Your Server
    2. Verify Payment Signature
  8. 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 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 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.
Dynamic Tabs
Request Parameters
Response Parameters

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 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 Pine Labs 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. Down Payment Details

Use this API to retrieve applicable down payment and EMI repayment details.

2.1. Bank EMI

Use the payload below to specifically retrieve available Bank EMI offers.

Below are the sample requests and sample response for the Down Payment Details API.

curl --request POST \
     --url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/downpayment/details \
     --header 'Authorization: Bearer' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "order_amount": {
    "currency": "INR",
    "value": 1200000
  },
  "cart_coupon_discount_amount": {
    "currency": "INR",
    "value": "1000"
  },
  "issuer": {
    "bin": "12345678",
    "id": "1",
    "name": "ICICI CC",
    "issuer_type": "CC_BANK"
  }
}
'
curl --request POST \
     --url https://api.pluralpay.in/api/affordability/v1/offer/downpayment/details \
     --header 'Authorization: Bearer' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "order_amount": {
    "currency": "INR",
    "value": 1200000
  },
  "cart_coupon_discount_amount": {
    "currency": "INR",
    "value": "1000"
  },
  "issuer": {
    "bin": "12345678",
    "id": "1",
    "name": "ICICI CC",
    "issuer_type": "CC_BANK"
  }
}
'
{
  "downpayment_details": {
    "amount_range": {
      "min": {
        "currency": "INR",
        "value": 0
      },
      "max": {
        "currency": "INR",
        "value": 1050000
      }
    },
    "amount_milestone_list": [
      {
        "currency": "INR",
        "value": 0
      },
      {
        "currency": "INR",
        "value": 100
      },
      {
        "currency": "INR",
        "value": 10000
      },
      {
        "currency": "INR",
        "value": 100000
      },
      {
        "currency": "INR",
        "value": 200000
      },
      {
        "currency": "INR",
        "value": 262500
      }
    ],
    "allowed_payment_methods": [
      "UPI"
    ]
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

The table below lists the request parameters of our Down Payment Details API.

Parameter Type Description
order_amount required object An object that contains the transaction amount details.

Learn more about our order_amount 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.
issuer required object An object that contains the issuer details.

Learn more about our issuer 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
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 Downpayment Details API request object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Issuer [Child Object]

The table below lists the various parameters in the issuer child object. This object is part of the Down Payment Details API request object.

Parameter Type Description
bin string Bank Identification Number, First 8 digits of your Card.

Has to be 8 digits.

Example: 12345678

Note: Passing the card information will filter the results based on the specific BIN (Bank Identification Number).
id string Mandatory for EMI with Downpayment

Unique Identifier of the issuer.

Example: 1
name string Mandatory for EMI with Downpayment

Name of the issuer.

Example: HDFC
issuer_type string Mandatory for EMI with Downpayment

The category of the issuer.

Example: CARDLESS_BANK

Accepted values:
  • CC_BANK
  • DC_BANK
  • CARDLESS_BANK
  • CC_NBFC
  • DC_NBFC
  • CARDLESS_NBFC
  • NTB
  • NTB_BANK
  • NTB_NBFC

The table below lists the various parameters returned in the Down Payment Details API response object.

Parameter Type Description
downpayment_details object An object that contains the downpayment details.

Learn more about the downpayment_details child object.

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details object. This is part of the Down Payment Details API response object.

Parameter Type Description
amount_range object An object that contains the amount range details.

Learn more about the amount_range child object.
amount_milestone_list array of object An array of objects that contains the amount milestone list details.

Learn more about the amount_milestone_list child object.
allowed_payment_methods array of string The type of payment methods you want to offer your customers to accept payments.

Possible values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
  • BNPL

Amount Range [Child Object]

The table below lists the various parameters in the amount_range child object. This is part of the downpayment_details object.

Parameter Type Description
min object An object that contains the minimum amount details.

Learn more about the min child object.
max object An object that contains the maximum amount details.

Learn more about the max child object.

Min [Child Object]

The table below lists the various parameters in the min child object. This is part of the amount_range object.

Parameter Type Description
currency String Type of currency.

Example: INR
value integer Transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

Max [Child Object]

The table below lists the various parameters in the max child object. This is part of the amount_range object.

Parameter Type Description
currency String Type of currency.

Example: INR
value integer Transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

Amount Milestone List [Child Object]

The table below lists the various parameters in the amount_milestone_list child object. This is part of the downpayment_details object.

Parameter Type Description
currency String Type of currency.

Example: INR
value integer Transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

2.2. Brand EMI

Use the payload below to specifically retrieve available Brand EMI offers.

Below are the sample requests and sample response for the Down Payment Details API.

curl --request POST \
     --url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/downpayment/details \
     --header 'Authorization: Bearer' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "order_amount": {
    "currency": "INR",
    "value": 1200000
  },
  "cart_coupon_discount_amount": {
    "currency": "INR",
    "value": "1000"
  },
  "issuer": {
    "bin": "12345678",
    "id": "1",
    "name": "ICICI CC",
    "issuer_type": "CC_BANK"
  },
  "product_details": [
    {
      "product_code": "Apple_3",
      "product_amount": {
        "currency": "INR",
        "value": 1200000
      },
      "product_coupon_discount_amount": {
        "currency": "INR",
        "value": "1000"
      }
    }
  ]
}
'
curl --request POST \
     --url https://api.pluralpay.in/api/affordability/v1/offer/downpayment/details \
     --header 'Authorization: Bearer' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "order_amount": {
    "currency": "INR",
    "value": 1200000
  },
  "cart_coupon_discount_amount": {
    "currency": "INR",
    "value": "1000"
  },
  "issuer": {
    "bin": "12345678",
    "id": "1",
    "name": "ICICI CC",
    "issuer_type": "CC_BANK"
  },
  "product_details": [
    {
      "product_code": "Apple_3",
      "product_amount": {
        "currency": "INR",
        "value": 1200000
      },
      "product_coupon_discount_amount": {
        "currency": "INR",
        "value": "1000"
      }
    }
  ]
}
'
{
  "downpayment_details": {
    "amount_range": {
      "min": {
        "currency": "INR",
        "value": 0
      },
      "max": {
        "currency": "INR",
        "value": 1050000
      }
    },
    "amount_milestone_list": [
      {
        "currency": "INR",
        "value": 0
      },
      {
        "currency": "INR",
        "value": 100
      },
      {
        "currency": "INR",
        "value": 10000
      },
      {
        "currency": "INR",
        "value": 100000
      },
      {
        "currency": "INR",
        "value": 200000
      },
      {
        "currency": "INR",
        "value": 262500
      }
    ],
    "allowed_payment_methods": [
      "UPI"
    ]
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

The table below lists the request parameters of our Down Payment Details API.

Parameter Type Description
order_amount required object An object that contains the transaction amount details.

Learn more about our order_amount 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.
issuer required object An object that contains the issuer details.

Learn more about our issuer 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
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 Downpayment Details API request object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Issuer [Child Object]

The table below lists the various parameters in the issuer child object. This object is part of the Down Payment Details API request object.

Parameter Type Description
bin string Bank Identification Number, First 8 digits of your Card.

Has to be 8 digits.

Example: 12345678

Note: Passing the card information will filter the results based on the specific BIN (Bank Identification Number).
id string Mandatory for EMI with Downpayment

Unique Identifier of the issuer.

Example: 1
name string Mandatory for EMI with Downpayment

Name of the issuer.

Example: HDFC
issuer_type string Mandatory for EMI with Downpayment

The category of the issuer.

Example: CARDLESS_BANK

Accepted values:
  • CC_BANK
  • DC_BANK
  • CARDLESS_BANK
  • CC_NBFC
  • DC_NBFC
  • CARDLESS_NBFC
  • NTB
  • NTB_BANK
  • NTB_NBFC

Product Details [Child Object]

The table below lists the various parameters in the product_details child object. This is part of the Down Payment Details API 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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 integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

The table below lists the various parameters returned in the Down Payment Details API response object.

Parameter Type Description
downpayment_details object An object that contains the downpayment details.

Learn more about the downpayment_details child object.

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details object. This is part of the Down Payment Details API response object.

Parameter Type Description
amount_range object An object that contains the amount range details.

Learn more about the amount_range child object.
amount_milestone_list array of object An array of objects that contains the amount milestone list details.

Learn more about the amount_milestone_list child object.
allowed_payment_methods array of string The type of payment methods you want to offer your customers to accept payments.

Possible values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
  • BNPL

Amount Range [Child Object]

The table below lists the various parameters in the amount_range child object. This is part of the downpayment_details object.

Parameter Type Description
min object An object that contains the minimum amount details.

Learn more about the min child object.
max object An object that contains the maximum amount details.

Learn more about the max child object.

Min [Child Object]

The table below lists the various parameters in the min child object. This is part of the amount_range object.

Parameter Type Description
currency String Type of currency.

Example: INR
value integer Transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

Max [Child Object]

The table below lists the various parameters in the max child object. This is part of the amount_range object.

Parameter Type Description
currency String Type of currency.

Example: INR
value integer Transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

Amount Milestone List [Child Object]

The table below lists the various parameters in the amount_milestone_list child object. This is part of the downpayment_details object.

Parameter Type Description
currency String Type of currency.

Example: INR
value integer Transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

Refer to our Down Payment API documentation to learn more.


3. Offer Discovery

Use this API to check the offers and calculate the EMI.

3.1. Downpayment Bank EMI

Use the payload below to specifically retrieve available Bank EMI offers.

Below are the sample requests and response for the Offer Discovery API.

curl --request POST \
     --url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/discovery \
     --header 'Authorization: Bearer' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "order_amount": {
    "currency": "INR",
    "value": 1200000
  },
  "issuer": {
    "bin": "37693000",
    "id": "1",
    "name": "ICICI CC",
    "issuer_type": "CC_BANK"
  },
  "downpayment_details": {
    "downpayment_amount": {
      "currency": "INR",
      "value": 200000
    }
  }
}
'
curl --request POST \
     --url https://api.pluralpay.in/api/affordability/v1/offer/discovery \
     --header 'Authorization: Bearer' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "order_amount": {
    "currency": "INR",
    "value": 1200000
  },
  "issuer": {
    "bin": "37693000",
    "id": "1",
    "name": "ICICI CC",
    "issuer_type": "CC_BANK"
  },
  "downpayment_details": {
    "downpayment_amount": {
      "currency": "INR",
      "value": 200000
    }
  }
}
'
{
  "issuers": [
    {
      "id": "1",
      "name": "ICICI CC",
      "display_name": "ICICI BANK",
      "issuer_type": "CC_BANK",
      "priority": 1,
      "tenures": [
        {
          "tenure_id": "4",
          "name": "12 Months",
          "tenure_type": "MONTH",
          "tenure_value": 12,
          "issuer_offer_parameters": [
            {
              "program_type": "BANK_EMI",
              "offer_id": "4473",
              "offer_parameter_id": "221784"
            },
            {
              "program_type": "MERCHANT_BANK_OFFER",
              "offer_id": "4468",
              "offer_parameter_id": "221674"
            }
          ],
          "details": [],
          "discount": {
            "discount_type": "INSTANT",
            "percentage": 20,
            "amount": {
              "currency": "INR",
              "value": 200000
            },
            "max_amount": {
              "currency": "INR",
              "value": 400000
            }
          },
          "loan_amount": {
            "currency": "INR",
            "value": 800139
          },
          "auth_amount": {
            "currency": "INR",
            "value": 800139
          },
          "total_discount_amount": {
            "currency": "INR",
            "value": 200000
          },
          "net_payment_amount": {
            "currency": "INR",
            "value": 871128
          },
          "monthly_emi_amount": {
            "currency": "INR",
            "value": 72594
          },
          "total_emi_amount": {
            "currency": "INR",
            "value": 871128
          },
          "interest_amount": {
            "currency": "INR",
            "value": 70989
          },
          "interest_rate_percentage": 15.99,
          "processing_fee_details": {
            "percentage": 2
          },
          "total_down_payment_amount": {
            "currency": "INR",
            "value": 200000
          },
          "convenience_fee_breakdown": {
            "fee_calculated_on_amount": {
              "currency": "INR",
              "value": 800000
            },
            "fee_amount": {
              "currency": "INR",
              "value": 108
            },
            "tax_amount": {
              "currency": "INR",
              "value": 21
            },
            "additional_fee_amount": {
              "currency": "INR",
              "value": 10
            },
            "maximum_fee_amount": {
              "currency": "INR",
              "value": 99999999
            },
            "applicable_fee_amount": {
              "currency": "INR",
              "value": 139
            }
          },
          "emi_type": "STANDARD",
          "downpayment_details": {
            "downpayment_amount": {
              "currency": "INR",
              "value": 200000
            }
          }
        },
        {
          "tenure_id": "3",
          "name": "9 Months",
          "tenure_type": "MONTH",
          "tenure_value": 9,
          "issuer_offer_parameters": [
            {
              "program_type": "BANK_EMI",
              "offer_id": "4473",
              "offer_parameter_id": "221784"
            },
            {
              "program_type": "MERCHANT_BANK_OFFER",
              "offer_id": "4468",
              "offer_parameter_id": "221674"
            }
          ],
          "details": [],
          "discount": {
            "discount_type": "INSTANT",
            "percentage": 20,
            "amount": {
              "currency": "INR",
              "value": 200000
            },
            "max_amount": {
              "currency": "INR",
              "value": 400000
            }
          },
          "loan_amount": {
            "currency": "INR",
            "value": 800139
          },
          "auth_amount": {
            "currency": "INR",
            "value": 800139
          },
          "total_discount_amount": {
            "currency": "INR",
            "value": 200000
          },
          "net_payment_amount": {
            "currency": "INR",
            "value": 828747
          },
          "monthly_emi_amount": {
            "currency": "INR",
            "value": 92083
          },
          "total_emi_amount": {
            "currency": "INR",
            "value": 828747
          },
          "interest_amount": {
            "currency": "INR",
            "value": 28608
          },
          "interest_rate_percentage": 8.5,
          "processing_fee_details": {
            "percentage": 0,
            "amount": {
              "currency": "INR",
              "value": 20000
            }
          },
          "total_down_payment_amount": {
            "currency": "INR",
            "value": 200000
          },
          "convenience_fee_breakdown": {
            "fee_calculated_on_amount": {
              "currency": "INR",
              "value": 800000
            },
            "fee_amount": {
              "currency": "INR",
              "value": 108
            },
            "tax_amount": {
              "currency": "INR",
              "value": 21
            },
            "additional_fee_amount": {
              "currency": "INR",
              "value": 10
            },
            "maximum_fee_amount": {
              "currency": "INR",
              "value": 99999999
            },
            "applicable_fee_amount": {
              "currency": "INR",
              "value": 139
            }
          },
          "emi_type": "STANDARD",
          "downpayment_details": {
            "downpayment_amount": {
              "currency": "INR",
              "value": 200000
            }
          }
        },
        {
          "tenure_id": "6",
          "name": "24 Months",
          "tenure_type": "MONTH",
          "tenure_value": 24,
          "issuer_offer_parameters": [
            {
              "program_type": "BANK_EMI",
              "offer_id": "4473",
              "offer_parameter_id": "221784"
            },
            {
              "program_type": "MERCHANT_BANK_OFFER",
              "offer_id": "4468",
              "offer_parameter_id": "221674"
            }
          ],
          "details": [],
          "discount": {
            "discount_type": "INSTANT",
            "percentage": 20,
            "amount": {
              "currency": "INR",
              "value": 200000
            },
            "max_amount": {
              "currency": "INR",
              "value": 400000
            }
          },
          "loan_amount": {
            "currency": "INR",
            "value": 800139
          },
          "auth_amount": {
            "currency": "INR",
            "value": 800139
          },
          "total_discount_amount": {
            "currency": "INR",
            "value": 200000
          },
          "net_payment_amount": {
            "currency": "INR",
            "value": 940248
          },
          "monthly_emi_amount": {
            "currency": "INR",
            "value": 39177
          },
          "total_emi_amount": {
            "currency": "INR",
            "value": 940248
          },
          "interest_amount": {
            "currency": "INR",
            "value": 140109
          },
          "interest_rate_percentage": 16,
          "processing_fee_details": {
            "percentage": 0,
            "amount": {
              "currency": "INR",
              "value": 20000
            }
          },
          "total_down_payment_amount": {
            "currency": "INR",
            "value": 200000
          },
          "convenience_fee_breakdown": {
            "fee_calculated_on_amount": {
              "currency": "INR",
              "value": 800000
            },
            "fee_amount": {
              "currency": "INR",
              "value": 108
            },
            "tax_amount": {
              "currency": "INR",
              "value": 21
            },
            "additional_fee_amount": {
              "currency": "INR",
              "value": 10
            },
            "maximum_fee_amount": {
              "currency": "INR",
              "value": 99999999
            },
            "applicable_fee_amount": {
              "currency": "INR",
              "value": 139
            }
          },
          "emi_type": "STANDARD",
          "downpayment_details": {
            "downpayment_amount": {
              "currency": "INR",
              "value": 200000
            }
          }
        },
        {
          "tenure_id": "12",
          "name": "36 Months",
          "tenure_type": "MONTH",
          "tenure_value": 36,
          "issuer_offer_parameters": [
            {
              "program_type": "BANK_EMI",
              "offer_id": "4473",
              "offer_parameter_id": "221784"
            },
            {
              "program_type": "MERCHANT_BANK_OFFER",
              "offer_id": "4468",
              "offer_parameter_id": "221674"
            }
          ],
          "details": [],
          "discount": {
            "discount_type": "INSTANT",
            "percentage": 20,
            "amount": {
              "currency": "INR",
              "value": 200000
            },
            "max_amount": {
              "currency": "INR",
              "value": 400000
            }
          },
          "loan_amount": {
            "currency": "INR",
            "value": 800139
          },
          "auth_amount": {
            "currency": "INR",
            "value": 800139
          },
          "total_discount_amount": {
            "currency": "INR",
            "value": 200000
          },
          "net_payment_amount": {
            "currency": "INR",
            "value": 1012572
          },
          "monthly_emi_amount": {
            "currency": "INR",
            "value": 28127
          },
          "total_emi_amount": {
            "currency": "INR",
            "value": 1012572
          },
          "interest_amount": {
            "currency": "INR",
            "value": 212433
          },
          "interest_rate_percentage": 15.99,
          "processing_fee_details": {
            "percentage": 0,
            "amount": {
              "currency": "INR",
              "value": 19900
            }
          },
          "total_down_payment_amount": {
            "currency": "INR",
            "value": 200000
          },
          "convenience_fee_breakdown": {
            "fee_calculated_on_amount": {
              "currency": "INR",
              "value": 800000
            },
            "fee_amount": {
              "currency": "INR",
              "value": 108
            },
            "tax_amount": {
              "currency": "INR",
              "value": 21
            },
            "additional_fee_amount": {
              "currency": "INR",
              "value": 10
            },
            "maximum_fee_amount": {
              "currency": "INR",
              "value": 99999999
            },
            "applicable_fee_amount": {
              "currency": "INR",
              "value": 139
            }
          },
          "emi_type": "STANDARD",
          "downpayment_details": {
            "downpayment_amount": {
              "currency": "INR",
              "value": 200000
            }
          }
        },
        {
          "tenure_id": "1",
          "name": "3 Months",
          "tenure_type": "MONTH",
          "tenure_value": 3,
          "issuer_offer_parameters": [
            {
              "program_type": "BANK_EMI",
              "offer_id": "4473",
              "offer_parameter_id": "221784"
            },
            {
              "program_type": "MERCHANT_BANK_OFFER",
              "offer_id": "4468",
              "offer_parameter_id": "221674"
            }
          ],
          "details": [],
          "discount": {
            "discount_type": "INSTANT",
            "percentage": 20,
            "amount": {
              "currency": "INR",
              "value": 200000
            },
            "max_amount": {
              "currency": "INR",
              "value": 400000
            }
          },
          "loan_amount": {
            "currency": "INR",
            "value": 800139
          },
          "auth_amount": {
            "currency": "INR",
            "value": 800139
          },
          "total_discount_amount": {
            "currency": "INR",
            "value": 200000
          },
          "net_payment_amount": {
            "currency": "INR",
            "value": 821556
          },
          "monthly_emi_amount": {
            "currency": "INR",
            "value": 273852
          },
          "total_emi_amount": {
            "currency": "INR",
            "value": 821556
          },
          "interest_amount": {
            "currency": "INR",
            "value": 21417
          },
          "interest_rate_percentage": 15.99,
          "processing_fee_details": {
            "percentage": 0,
            "amount": {
              "currency": "INR",
              "value": 19900
            }
          },
          "total_down_payment_amount": {
            "currency": "INR",
            "value": 200000
          },
          "convenience_fee_breakdown": {
            "fee_calculated_on_amount": {
              "currency": "INR",
              "value": 800000
            },
            "fee_amount": {
              "currency": "INR",
              "value": 108
            },
            "tax_amount": {
              "currency": "INR",
              "value": 21
            },
            "additional_fee_amount": {
              "currency": "INR",
              "value": 10
            },
            "maximum_fee_amount": {
              "currency": "INR",
              "value": 99999999
            },
            "applicable_fee_amount": {
              "currency": "INR",
              "value": 139
            }
          },
          "emi_type": "STANDARD",
          "downpayment_details": {
            "downpayment_amount": {
              "currency": "INR",
              "value": 200000
            }
          }
        },
        {
          "tenure_id": "2",
          "name": "6 Months",
          "tenure_type": "MONTH",
          "tenure_value": 6,
          "issuer_offer_parameters": [
            {
              "program_type": "BANK_EMI",
              "offer_id": "4473",
              "offer_parameter_id": "221784"
            },
            {
              "program_type": "MERCHANT_BANK_OFFER",
              "offer_id": "4468",
              "offer_parameter_id": "221674"
            }
          ],
          "details": [],
          "discount": {
            "discount_type": "INSTANT",
            "percentage": 20,
            "amount": {
              "currency": "INR",
              "value": 200000
            },
            "max_amount": {
              "currency": "INR",
              "value": 400000
            }
          },
          "loan_amount": {
            "currency": "INR",
            "value": 800139
          },
          "auth_amount": {
            "currency": "INR",
            "value": 800139
          },
          "total_discount_amount": {
            "currency": "INR",
            "value": 200000
          },
          "net_payment_amount": {
            "currency": "INR",
            "value": 837870
          },
          "monthly_emi_amount": {
            "currency": "INR",
            "value": 139645
          },
          "total_emi_amount": {
            "currency": "INR",
            "value": 837870
          },
          "interest_amount": {
            "currency": "INR",
            "value": 37731
          },
          "interest_rate_percentage": 15.99,
          "processing_fee_details": {
            "percentage": 0,
            "amount": {
              "currency": "INR",
              "value": 19900
            }
          },
          "total_down_payment_amount": {
            "currency": "INR",
            "value": 200000
          },
          "convenience_fee_breakdown": {
            "fee_calculated_on_amount": {
              "currency": "INR",
              "value": 800000
            },
            "fee_amount": {
              "currency": "INR",
              "value": 108
            },
            "tax_amount": {
              "currency": "INR",
              "value": 21
            },
            "additional_fee_amount": {
              "currency": "INR",
              "value": 10
            },
            "maximum_fee_amount": {
              "currency": "INR",
              "value": 99999999
            },
            "applicable_fee_amount": {
              "currency": "INR",
              "value": 139
            }
          },
          "emi_type": "STANDARD",
          "downpayment_details": {
            "downpayment_amount": {
              "currency": "INR",
              "value": 200000
            }
          }
        },
        {
          "tenure_id": "5",
          "name": "18 Months",
          "tenure_type": "MONTH",
          "tenure_value": 18,
          "issuer_offer_parameters": [
            {
              "program_type": "BANK_EMI",
              "offer_id": "4473",
              "offer_parameter_id": "221784"
            },
            {
              "program_type": "MERCHANT_BANK_OFFER",
              "offer_id": "4468",
              "offer_parameter_id": "221674"
            }
          ],
          "details": [],
          "discount": {
            "discount_type": "INSTANT",
            "percentage": 20,
            "amount": {
              "currency": "INR",
              "value": 200000
            },
            "max_amount": {
              "currency": "INR",
              "value": 400000
            }
          },
          "loan_amount": {
            "currency": "INR",
            "value": 800139
          },
          "auth_amount": {
            "currency": "INR",
            "value": 800139
          },
          "total_discount_amount": {
            "currency": "INR",
            "value": 200000
          },
          "net_payment_amount": {
            "currency": "INR",
            "value": 905220
          },
          "monthly_emi_amount": {
            "currency": "INR",
            "value": 50290
          },
          "total_emi_amount": {
            "currency": "INR",
            "value": 905220
          },
          "interest_amount": {
            "currency": "INR",
            "value": 105081
          },
          "interest_rate_percentage": 15.99,
          "processing_fee_details": {
            "percentage": 0,
            "amount": {
              "currency": "INR",
              "value": 19900
            }
          },
          "total_down_payment_amount": {
            "currency": "INR",
            "value": 200000
          },
          "convenience_fee_breakdown": {
            "fee_calculated_on_amount": {
              "currency": "INR",
              "value": 800000
            },
            "fee_amount": {
              "currency": "INR",
              "value": 108
            },
            "tax_amount": {
              "currency": "INR",
              "value": 21
            },
            "additional_fee_amount": {
              "currency": "INR",
              "value": 10
            },
            "maximum_fee_amount": {
              "currency": "INR",
              "value": 99999999
            },
            "applicable_fee_amount": {
              "currency": "INR",
              "value": 139
            }
          },
          "emi_type": "STANDARD",
          "downpayment_details": {
            "downpayment_amount": {
              "currency": "INR",
              "value": 200000
            }
          }
        }
      ],
      "issuer_data": {
        "otp_length": 6,
        "otp_time_in_sec": 30,
        "otp_retry_count": 3,
        "is_consent_page_required": true,
        "consent_data": "<div classname=concent-container><div classname=concentTitle>Consent Clause :</div><div classname=concentSection><div classname=concentText>I/We hereby expressly authorize and give consent to ICICI Bank to, disclose, transfer or part with any of my/our information, (including location), or any other device information when ICICI Bank considers such disclosure as necessary, with:{' '}</div></div><div classname=concentSection><div classname=concentText>A. Agents of ICICI Bank, ICICI Bank's group entities/in any jurisdiction;</div><div classname=concentText>B. Auditors, credit rating agencies/credit bureaus, statutory/regulatory authorities, governmental/administrative authorities, Central Know Your Customer (CKYC) registry or SEBI Know Your Client registration agency, having jurisdiction over ICICI Bank or its group entities;{' '}</div><div classname=concentText>{' '} C. Service providers, or such person with whom ICICI Bank contracts or proposes to contract; (Collectively referred to as “Permitted Persons”){' '}</div></div><div classname=concentSection><div classname=concentText>For the purposes of:</div><div classname=concentText>1. Provision of the facility and completion of on-boarding formalities; or{' '}</div><div classname=concentText>2. Complying with KYC requirements; or{' '}</div><div classname=concentText>{' '} 3. Compliance with applicable laws or any order (judicial or otherwise), statutory/regulatory requirement; or{' '}</div><div classname=concentText>{' '} 4. For credit review of facilities availed; or{' '}</div><div classname=concentText>5. Authentication or verification; or{' '}</div><div classname=concentText>6. Research or analysis, credit reporting & scoring, risk management, participation in any telecommunication; or{' '}</div><div classname=concentText>7. Electronic clearing network and for use or processing of the said information/data.{' '}</div><div classname=concentText>{' '} 8. Disclosing any default in payment, for the purposes of recovering such amounts.{' '}</div></div><div classname=concentText>D. For detailed Privacy Policy of the ICICI bank, please visit{' '} <a classname=concent-doc-link href=https://www.icicibank.com/privacy.page rel=noreferrer target=_blank><u>https://www.icicibank.com/privacy.page</u></a></div></div>",
        "terms_and_conditions": "Sample TNC",
        "show_key_fact_statement": false,
        "auth_type": "OTP",
        "is_tokenized_transaction_supported": true,
        "pan_number_last_digit_count": 3
      }
    }
  ]
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

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.
issuer object An object that contains the issuer details.

Learn more about our issuer child object.
downpayment_details required object An object that contains the downpayment details.

Learn more about our downpayment_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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency required string Type of currency.

Example: INR

Issuer [Child Object]

The table below lists the various parameters in the issuer child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
bin string Bank Identification Number, First 8 digits of your Card.

Has to be 8 digits.

Example: 12345678

Note: Passing the card information will filter the results based on the specific BIN (Bank Identification Number).
id string Mandatory for EMI with Downpayment

Unique Identifier of the issuer.

Example: 1
name string Mandatory for EMI with Downpayment

Name of the issuer.

Example: HDFC
issuer_type string Mandatory for EMI with Downpayment

The category of the issuer.

Example: CARDLESS_BANK

Accepted values:
  • CC_BANK
  • DC_BANK
  • CARDLESS_BANK
  • CC_NBFC
  • DC_NBFC
  • CARDLESS_NBFC
  • NTB
  • NTB_BANK
  • NTB_NBFC

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value required integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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 Pine Labs 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:
  • CC_BANK
  • DC_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 Pine Labs 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:
  • MONTH
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.
downpayment_details object An object that contains the downpayment details.

Learn more about our downpayment_details child object.
emi_type strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD

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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC

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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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: INSTANT

Accepted values:
  • INSTANT
  • POST
offer_type string Type of the offer.

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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:
  • INSTANT
  • DEFERRED
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:
  • DAY
  • MONTH
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

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.
  • true: When the consent page is required.
  • false: When the consent page is not required.
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.
  • true: When the key fact statement needs to be displayed.
  • false: When the key fact statement is not required to be displayed.
auth_type String Authentication type.

Accepted values:
  • PENNY_DROP
  • OTP
penny_transaction_amount string Applicable amount for penny transaction.

Example: 100
is_tokenized_transaction_supported Boolean Tokenized transactions support status.
  • true: Tokenized transaction is supported.
  • false: Tokenized transaction is not supported.
pan_number_last_digit_count String Last digit count of PAN.
offer_validation_parameters_required String Parameters required in offer validation API.

3.2. Downpayment Brand EMI

Use the payload below to specifically retrieve available Bank EMI offers.

Below are the sample requests and response for the Offer Discovery API.

curl --request POST \
     --url https://pluraluat.v2.pinepg.in/api/affordability/v1/offer/discovery \
     --header 'Authorization: Bearer' \
     --header 'accept: application/json' \
     --header 'content-type: 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": 12000
      }
    }
  ],
  "cart_coupon_discount_amount": {
    "currency": "INR",
    "value": 1200000
  },
  "issuer": {
    "bin": "37693000",
    "id": "1",
    "name": "ICICI CC",
    "issuer_type": "CC_BANK"
  },
  "downpayment_details": {
    "downpayment_amount": {
      "currency": "INR",
      "value": 20000
    }
  }
}
'
curl --request POST \
     --url https://api.pluralpay.in/api/affordability/v1/offer/discovery \
     --header 'Authorization: Bearer' \
     --header 'accept: application/json' \
     --header 'content-type: 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": 12000
      }
    }
  ],
  "cart_coupon_discount_amount": {
    "currency": "INR",
    "value": 1200000
  },
  "issuer": {
    "bin": "37693000",
    "id": "1",
    "name": "ICICI CC",
    "issuer_type": "CC_BANK"
  },
  "downpayment_details": {
    "downpayment_amount": {
      "currency": "INR",
      "value": 20000
    }
  }
}
'
{
  "issuers": [
    {
      "id": "1",
      "name": "ICICI CC",
      "display_name": "ICICI BANK",
      "issuer_type": "CC_BANK",
      "priority": 1,
      "tenures": [
        {
          "tenure_id": "12",
          "name": "36 Months",
          "tenure_type": "MONTH",
          "tenure_value": 36,
          "issuer_offer_parameters": [
            {
              "program_type": "BANK_EMI",
              "offer_id": "4473",
              "offer_parameter_id": "221784"
            },
            {
              "program_type": "MERCHANT_BANK_OFFER",
              "offer_id": "4468",
              "offer_parameter_id": "221674"
            }
          ],
          "details": [
            {
              "product_code": "xyz",
              "product_display_name": "Redmi Note 13 5G",
              "brand_id": "3",
              "brand_name": "Xiaomi",
              "product_amount": {
                "currency": "INR",
                "value": 1200000
              },
              "product_coupon_discount_amount": {
                "currency": "INR",
                "value": 12000
              },
              "interest_amount": {
                "currency": "INR",
                "value": 51
              },
              "interest_rate": 15.99,
              "cart_coupon_discount_product_share": {
                "currency": "INR",
                "value": 1200000
              }
            }
          ],
          "loan_amount": {
            "currency": "INR",
            "value": 129
          },
          "auth_amount": {
            "currency": "INR",
            "value": 129
          },
          "net_payment_amount": {
            "currency": "INR",
            "value": 180
          },
          "monthly_emi_amount": {
            "currency": "INR",
            "value": 5
          },
          "total_emi_amount": {
            "currency": "INR",
            "value": 180
          },
          "interest_amount": {
            "currency": "INR",
            "value": 51
          },
          "interest_rate_percentage": 15.99,
          "processing_fee_details": {
            "percentage": 0,
            "amount": {
              "currency": "INR",
              "value": 19900
            }
          },
          "total_down_payment_amount": {
            "currency": "INR",
            "value": 20000
          },
          "convenience_fee_breakdown": {
            "fee_calculated_on_amount": {
              "currency": "INR",
              "value": 0
            },
            "fee_amount": {
              "currency": "INR",
              "value": 100
            },
            "tax_amount": {
              "currency": "INR",
              "value": 19
            },
            "additional_fee_amount": {
              "currency": "INR",
              "value": 10
            },
            "maximum_fee_amount": {
              "currency": "INR",
              "value": 99999999
            },
            "applicable_fee_amount": {
              "currency": "INR",
              "value": 129
            }
          },
          "cart_coupon_discount_amount": {
            "currency": "INR",
            "value": 1200000
          },
          "emi_type": "STANDARD",
          "total_coupon_discount": {
            "currency": "INR",
            "value": 1212000
          },
          "downpayment_details": {
            "downpayment_amount": {
              "currency": "INR",
              "value": 20000
            }
          }
        }
      ],
      "issuer_data": {
        "otp_length": 6,
        "otp_time_in_sec": 30,
        "otp_retry_count": 3,
        "is_consent_page_required": true,
        "consent_data": "<div classname=concent-container><div classname=concentTitle>Consent Clause :</div><div classname=concentSection><div classname=concentText>I/We hereby expressly authorize and give consent to ICICI Bank to, disclose, transfer or part with any of my/our information, (including location), or any other device information when ICICI Bank considers such disclosure as necessary, with:{' '}</div></div><div classname=concentSection><div classname=concentText>A. Agents of ICICI Bank, ICICI Bank's group entities/in any jurisdiction;</div><div classname=concentText>B. Auditors, credit rating agencies/credit bureaus, statutory/regulatory authorities, governmental/administrative authorities, Central Know Your Customer (CKYC) registry or SEBI Know Your Client registration agency, having jurisdiction over ICICI Bank or its group entities;{' '}</div><div classname=concentText>{' '} C. Service providers, or such person with whom ICICI Bank contracts or proposes to contract; (Collectively referred to as “Permitted Persons”){' '}</div></div><div classname=concentSection><div classname=concentText>For the purposes of:</div><div classname=concentText>1. Provision of the facility and completion of on-boarding formalities; or{' '}</div><div classname=concentText>2. Complying with KYC requirements; or{' '}</div><div classname=concentText>{' '} 3. Compliance with applicable laws or any order (judicial or otherwise), statutory/regulatory requirement; or{' '}</div><div classname=concentText>{' '} 4. For credit review of facilities availed; or{' '}</div><div classname=concentText>5. Authentication or verification; or{' '}</div><div classname=concentText>6. Research or analysis, credit reporting & scoring, risk management, participation in any telecommunication; or{' '}</div><div classname=concentText>7. Electronic clearing network and for use or processing of the said information/data.{' '}</div><div classname=concentText>{' '} 8. Disclosing any default in payment, for the purposes of recovering such amounts.{' '}</div></div><div classname=concentText>D. For detailed Privacy Policy of the ICICI bank, please visit{' '} <a classname=concent-doc-link href=https://www.icicibank.com/privacy.page rel=noreferrer target=_blank><u>https://www.icicibank.com/privacy.page</u></a></div></div>",
        "terms_and_conditions": "Sample TNC",
        "show_key_fact_statement": false,
        "auth_type": "OTP",
        "is_tokenized_transaction_supported": true,
        "pan_number_last_digit_count": 3
      }
    }
  ]
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

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 object An object that contains the cart coupon discount details.

Learn more about our cart_coupon_discount_amount child object.
issuer required object An object that contains the issuer details.

Learn more about our issuer child object.
downpayment_details required object An object that contains the down payment 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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 integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency 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 integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

Issuer [Child Object]

The table below lists the various parameters in the issuer child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
bin string Bank Identification Number, First 8 digits of your Card.

Has to be 8 digits.

Example: 12345678

Note: Passing the card information will filter the results based on the specific BIN (Bank Identification Number).
id string Mandatory for EMI with Downpayment

Unique Identifier of the issuer.

Example: 1
name string Mandatory for EMI with Downpayment

Name of the issuer.

Example: HDFC
issuer_type string Mandatory for EMI with Downpayment

The category of the issuer.

Example: CARDLESS_BANK

Accepted values:
  • CC_BANK
  • DC_BANK
  • CARDLESS_BANK
  • CC_NBFC
  • DC_NBFC
  • CARDLESS_NBFC
  • NTB
  • NTB_BANK
  • NTB_NBFC

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount required object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value required integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
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 Pine Labs 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:
  • CC_BANK
  • DC_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 response object.

Parameter Type Description
tenure_id String Tenure id in the Pine Labs 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:
  • MONTH
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.
downpayment_details object An object that contains the downpayment details.

Learn more about our total_coupon_discount child object.
emi_type strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD

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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC

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.
downpayment_amount object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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: INSTANT

Accepted values:
  • INSTANT
  • POST
offer_type string Type of the offer.

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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:
  • INSTANT
  • DEFERRED
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:
  • DAY
  • MONTH
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

After Downpayment Reduced Produt Amount [Child Object]

The table below lists the various parameters in the after_downpayment_reduced_product_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

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.
  • true: When the consent page is required.
  • false: When the consent page is not required.
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.
  • true: When the key fact statement needs to be displayed.
  • false: When the key fact statement is not required to be displayed.
auth_type String Authentication type.

Accepted values:
  • PENNY_DROP
  • OTP
penny_transaction_amount string Applicable amount for penny transaction.

Example: 100
is_tokenized_transaction_supported Boolean Tokenized transactions support status.
  • true: Tokenized transaction is supported.
  • false: Tokenized transaction is not supported.
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.


4. 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 '
{
  "payment_method": "CREDIT_EMI",
  "order_amount": {
    "value": 1200000,
    "currency": "INR"
  },
  "payment_amount": {
    "value": 800139,
    "currency": "INR"
  },
  "payment_option": {
    "card_details": {
      "card_number": "37693000XXXXXXXX"
    }
  },
  "offer_data": {
    "offer_details": {
      "id": "1",
      "name": "ICICI CC",
      "issuer_type": "CC_BANK",
      "priority": 1,
      "tenure": {
        "tenure_id": "4",
        "name": "12 Months",
        "tenure_type": "MONTH",
        "tenure_value": 12,
        "issuer_offer_parameters": [
          {
            "program_type": "BANK_EMI",
            "offer_id": "4473",
            "offer_parameter_id": "221784"
          },
          {
            "program_type": "MERCHANT_BANK_OFFER",
            "offer_id": "4468",
            "offer_parameter_id": "221674"
          }
        ],
        "details": [],
        "discount": {
          "discount_type": "INSTANT",
          "percentage": 20,
          "amount": {
            "currency": "INR",
            "value": 200000
          },
          "max_amount": {
            "currency": "INR",
            "value": 400000
          }
        },
        "loan_amount": {
          "currency": "INR",
          "value": 800139
        },
        "auth_amount": {
          "currency": "INR",
          "value": 800139
        },
        "total_discount_amount": {
          "currency": "INR",
          "value": 200000
        },
        "net_payment_amount": {
          "currency": "INR",
          "value": 871128
        },
        "monthly_emi_amount": {
          "currency": "INR",
          "value": 72594
        },
        "total_emi_amount": {
          "currency": "INR",
          "value": 871128
        },
        "interest_amount": {
          "currency": "INR",
          "value": 70989
        },
        "interest_rate_percentage": 15.99,
        "processing_fee_details": {
          "percentage": 2
        },
        "total_down_payment_amount": {
          "currency": "INR",
          "value": 200000
        },
        "convenience_fee_breakdown": {
          "fee_calculated_on_amount": {
            "currency": "INR",
            "value": 800000
          },
          "fee_amount": {
            "currency": "INR",
            "value": 108
          },
          "tax_amount": {
            "currency": "INR",
            "value": 21
          },
          "additional_fee_amount": {
            "currency": "INR",
            "value": 10
          },
          "maximum_fee_amount": {
            "currency": "INR",
            "value": 99999999
          },
          "applicable_fee_amount": {
            "currency": "INR",
            "value": 139
          }
        },
        "emi_type": "STANDARD",
        "downpayment_details": {
          "downpayment_amount": {
            "currency": "INR",
            "value": 200000
          }
        }
      }
    }
  }
}
'
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": 1200000,
    "currency": "INR"
  },
  "payment_amount": {
    "value": 800139,
    "currency": "INR"
  },
  "payment_option": {
    "card_details": {
      "card_number": "37693000XXXXXXXX"
    }
  },
  "offer_data": {
    "offer_details": {
      "id": "1",
      "name": "ICICI CC",
      "issuer_type": "CC_BANK",
      "priority": 1,
      "tenure": {
        "tenure_id": "4",
        "name": "12 Months",
        "tenure_type": "MONTH",
        "tenure_value": 12,
        "issuer_offer_parameters": [
          {
            "program_type": "BANK_EMI",
            "offer_id": "4473",
            "offer_parameter_id": "221784"
          },
          {
            "program_type": "MERCHANT_BANK_OFFER",
            "offer_id": "4468",
            "offer_parameter_id": "221674"
          }
        ],
        "details": [],
        "discount": {
          "discount_type": "INSTANT",
          "percentage": 20,
          "amount": {
            "currency": "INR",
            "value": 200000
          },
          "max_amount": {
            "currency": "INR",
            "value": 400000
          }
        },
        "loan_amount": {
          "currency": "INR",
          "value": 800139
        },
        "auth_amount": {
          "currency": "INR",
          "value": 800139
        },
        "total_discount_amount": {
          "currency": "INR",
          "value": 200000
        },
        "net_payment_amount": {
          "currency": "INR",
          "value": 871128
        },
        "monthly_emi_amount": {
          "currency": "INR",
          "value": 72594
        },
        "total_emi_amount": {
          "currency": "INR",
          "value": 871128
        },
        "interest_amount": {
          "currency": "INR",
          "value": 70989
        },
        "interest_rate_percentage": 15.99,
        "processing_fee_details": {
          "percentage": 2
        },
        "total_down_payment_amount": {
          "currency": "INR",
          "value": 200000
        },
        "convenience_fee_breakdown": {
          "fee_calculated_on_amount": {
            "currency": "INR",
            "value": 800000
          },
          "fee_amount": {
            "currency": "INR",
            "value": 108
          },
          "tax_amount": {
            "currency": "INR",
            "value": 21
          },
          "additional_fee_amount": {
            "currency": "INR",
            "value": 10
          },
          "maximum_fee_amount": {
            "currency": "INR",
            "value": 99999999
          },
          "applicable_fee_amount": {
            "currency": "INR",
            "value": 139
          }
        },
        "emi_type": "STANDARD",
        "downpayment_details": {
          "downpayment_amount": {
            "currency": "INR",
            "value": 200000
          }
        }
      }
    }
  }
}
'
{
  "code": "ELIGIBLE",
  "message": "Offer is Eligible"
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

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:
  • CREDIT_EMI
  • DEBIT_EMI
  • CARDLESS_EMI
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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:
  • CC_BANK
  • DC_BANK
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 Pine Labs database.

Example: 1
name required String The name of the Tenure.
tenure_type required String The type of the Tenure.

Accepted values:
  • DAY
  • MONTH
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: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
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.
downpayment_details required object An object that contains the downpayment details.

Learn more about our downpayment_details 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.
downpayment_amount required object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount required object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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 is part of the details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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: INSTANT

Accepted values:
  • INSTANT
  • POST
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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.
merchant object An object that contains the breakup details of the merchant.

Learn more about the merchant child object.
issuer object An object that contains the breakup details of the issuer.

Learn more about the issuer child object.
dealer object An object that contains the breakup details of the dealer.

Learn more about the dealer 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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 details of the merchant.

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 merchant object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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 details of the issuer.

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 issuer object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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 details of the dealer.

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 issuer object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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:
  • INSTANT
  • DEFERRED
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:
  • DAY
  • MONTH
breakup object An object that contains the product offer details with breakup.

Learn more about the breakup child object.
Maximum 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
Minimum 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
brand object An object that contains the brand breakup details.

Learn more about the brand child object.
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.
dealer object An object that contains the dealer breakup details.

Learn more about the dealer 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.
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]
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
Valuevalue required String Type of currency.

Example: INR

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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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
value required String Type of currency.

Example: INR

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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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 is part of the tenures object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Validation API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Customer Details [Child Object]

The table below lists the various parameters in the customer_details object. This is part of the offer validation response object.

Parameter Type Description
customer_id String Details related to the customer ID, required for Pine Labs tokenized saved cards.

The table below lists the response parameters of our Offer Validation API.

Parameter Type Description
code String Validation status of the offer.

Possible values:
  • NOT_ELIGIBLE
  • ELIGIBLE
message String Message corresponding to the validation status.

Example: Offer is Eligible

Refer to our Offer Validation API documentation to learn more.


5. Create Order

To create an Order, use our Create Order API, for authentication use the generated access token in the headers of the API request.

Below are the sample requests and response for a Create Order API.

curl --request POST \
     --url https://pluraluat.v2.pinepg.in/api/pay/v1/orders \
     --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 '
{
  "merchant_order_reference":112345,
  "order_amount":{
    "value":1100,
    "currency":"INR"
  },
  "pre_auth":false,
  "callback_url":"https://sample-callback-url",
  "failure_callback_url": "https://sample-failure-callback-url",
  "allowed_payment_methods":[
    "CARD",
    "UPI",
    "NETBANKING",
    "POINTS",
    "WALLET"
  ],
  "notes":"order1",
  "purchase_details":{
    "customer":{
      "email_id":"[email protected]",
      "first_name":"Kevin",
      "last_name":"Bob",
      "customer_id":"123456",
      "mobile_number":"9876543210",
      "billing_address":{
        "address1":"10 Downing Street Westminster London",
        "address2":"Oxford Street Westminster London",
        "address3":"Baker Street Westminster London",
        "pincode":"51524036",
        "city":"Westminster",
        "state":"Westminster",
        "country":"London"
      },
      "shipping_address":{
        "address1":"10 Downing Street Westminster London",
        "address2":"Oxford Street Westminster London",
        "address3":"Baker Street Westminster London",
        "pincode":"51524036",
        "city":"Westminster",
        "state":"Westminster",
        "country":"London"
      }
    },
    "merchant_metadata":{
      "key1":"DD",
      "key2":"XOF"
    }
  },
  "cart_coupon_discount_amount":{
    "value":100,
    "currency":"INR"
  }
}
'
curl --request POST \
     --url https://api.pluralpay.in/api/pay/v1/orders \
     --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 '
{
  "merchant_order_reference":112345,
  "order_amount":{
    "value":1100,
    "currency":"INR"
  },
  "pre_auth":false,
  "callback_url":"https://sample-callback-url",
  "failure_callback_url": "https://sample-failure-callback-url",
  "allowed_payment_methods":[
    "CARD",
    "UPI",
    "NETBANKING",
    "POINTS",
    "WALLET"
  ],
  "notes":"order1",
  "purchase_details":{
    "customer":{
      "email_id":"[email protected]",
      "first_name":"Kevin",
      "last_name":"Bob",
      "customer_id":"123456",
      "mobile_number":"9876543210",
      "billing_address":{
        "address1":"10 Downing Street Westminster London",
        "address2":"Oxford Street Westminster London",
        "address3":"Baker Street Westminster London",
        "pincode":"51524036",
        "city":"Westminster",
        "state":"Westminster",
        "country":"London"
      },
      "shipping_address":{
        "address1":"10 Downing Street Westminster London",
        "address2":"Oxford Street Westminster London",
        "address3":"Baker Street Westminster London",
        "pincode":"51524036",
        "city":"Westminster",
        "state":"Westminster",
        "country":"London"
      }
    },
    "merchant_metadata":{
      "key1":"DD",
      "key2":"XOF"
    }
  },
  "cart_coupon_discount_amount":{
    "value":100,
    "currency":"INR"
  }
}
'
{
  "data":{
    "order_id":"v1-4405071524-aa-qlAtAf",
    "merchant_order_reference":"112345",
    "type":"CHARGE",
    "status":"CREATED",
    "merchant_id":"104359",
    "order_amount":{
      "value":1100,
      "currency":"INR"
    },
    "pre_auth":false,
    "allowed_payment_methods":[
      "CARD",
      "UPI",
      "NETBANKING",
      "POINTS",
      "WALLET"
    ],
    "notes":"order1",
    "callback_url":"https://sample-callback-url",
    "failure_callback_url": "https://sample-failure-callback-url",
    "purchase_details":{
      "customer":{
        "email_id":"[email protected]",
        "first_name":"Kevin",
        "last_name":"Bob",
        "customer_id":"123456",
        "mobile_number":"9876543210",
        "billing_address":{
          "address1":"10 Downing Street Westminster London",
          "address2":"Oxford Street Westminster London",
          "address3":"Baker Street Westminster London",
          "pincode":"51524036",
          "city":"Westminster",
          "state":"Westminster",
          "country":"London"
        },
        "shipping_address":{
          "address1":"10 Downing Street Westminster London",
          "address2":"Oxford Street Westminster London",
          "address3":"Baker Street Westminster London",
          "pincode":"51524036",
          "city":"Westminster",
          "state":"Westminster",
          "country":"London"
        }
      },
      "merchant_metadata":{
        "key1":"DD",
        "key2":"XOF"
      }
    },
    "payments":[
      
    ],
    "created_at":"2024-07-15T05:44:51.174Z",
    "updated_at":"2024-07-15T05:44:51.174Z",
    "cart_coupon_discount_amount":{
      "value":100,
      "currency":"INR"
    }
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

The table below lists the request parameters of our Create Order API.

Parameter Type Description
merchant_order_reference required string Enter a unique identifier for the order request.

  • Minimum: 1 character.
  • Maximum: 50 characters.
Example: 1234567890

Supported characters:
  • A-Z
  • a-z
  • 0-9
  • -
  • _
order_amount required object An object that contains the transaction amount details.

Learn more about the order_amount child object.
pre_auth boolean The pre-authorization type.

Possible values:
  • false (default): When pre-authorization is not required.
  • true: When pre-authorization is needed.
callback_url string URL to redirect customers based on order details.

Example: https://sample-callback-url
failure_callback_url string URL to redirect customers based on order details.

Example: https://sample-failure-callback-url
allowed_payment_methods array of strings The type of payment methods you want to offer customers.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
Example: CARD

Note: Ensure it is configured for you.
notes string Note to show against an order.

Example: Order1
purchase_details object An object that contains purchase details.

Learn more about the purchase_details 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.

Order Amount [Child Object]

The table below lists the various parameters in the order_amount child object. This object is part of the create order request object.

Parameter Type Description
value required integer Transaction amount in Paisa.

  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currency required string Type of currency.

Example: INR

Purchase Details [Child Object]

The table below lists the various parameters in the purchase_details child object. This object is part of the create order request object.

Parameter Type Description
customer object An object that contains the customer details.

Learn more about the customer child object.
merchant_metadata object An object of key-value pair that can be used to store additional information.

Example: "key1": "DD"

Customer [Child Object]

The table below lists the various parameters in the customer child object. This is part of the purchase_details object.

Parameter Type Description
email_id string Customer's email address.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: [email protected]
first_name string Customer's first name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Kevin
last_name string Customer's last name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Bob
customer_id string Unique identifier of the customer in the Pine Labs database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
mobile_number string Customer's mobile number.
  • Minimum length: 9 characters.
  • Maximum length: 20 characters.
Example: 9876543210
billing_address object An object that contains the details of the billing address.

Learn more about our billing_address child object.
shipping_address object An object that contains the shipping address details.

Learn more about our shipping_address child object.

Billing Address [Child Object]

The table below lists the various parameters in the billing_address child object. This is part of the customer object.

Parameter Type Description
address1stringCustomer's billing address1.
  • Max length: 100 characters.
Example: 10 Downing Street Westminster London
address2stringCustomer's billing address2.
  • Max length: 100 characters.
Example: Oxford Street Westminster London
address3stringCustomer's billing address3.
  • Max length: 100 characters.
Example: Baker Street Westminster London
pincodestringPincode of the billing address.
  • Min length: 6 characters.
  • Max length: 10 characters.
Example: 51524036
citystringCity of the billing address.
  • Max length: 50 characters.
Example: Westminster
statestringState of the billing address.
  • Max length: 50 characters.
Example: Westminster
countrystringCountry of the billing address.
  • Max length: 50 characters.
Example: London

Shipping Address [Child Object]

The table below lists the various parameters in the shipping_address child object. This is part of the customer object.

Parameter Type Description
address1stringCustomer's shipping address1.
  • Max length: 100 characters.
Example: 10 Downing Street Westminster London
address2stringCustomer's shipping address2.
  • Max length: 100 characters.
Example: Oxford Street Westminster London
address3stringCustomer's shipping address3.
  • Max length: 100 characters.
Example: Baker Street Westminster London
pincodestringPincode of the shipping address.
  • Min length: 6 characters
  • Max length: 10 characters.
Example: 51524036
citystringCity of the shipping address.
  • Max length: 50 characters.
Example: Westminster
statestringState of the shipping address.
  • Max length: 50 characters.
Example: Westminster
countrystringCountry of the shipping address.
  • Max length: 50 characters.
Example: London

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 create order request object.

Parameter Type Description
value integer Transaction amount in Paisa.

  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currency string Type of currency.

Example: INR

The table below lists the various parameters returned in the orders response objects.

Parameter Type Description
order_id string Unique identifier of the order in the Pine Labs database.
  • Max length: 50 characters.
Example: v1-5757575757-aa-hU1rUd
merchant_order_reference string Unique identifier entered while creating an order.
  • Min length: 1 character.
  • Max length: 50 characters.
Example: 82d57572-057c-4826-5775-385a52150554
type string Payment type.

Possible values:
  • CHARGE
  • REFUND
status string Order status.

Possible values:
  • CREATED: When the order is successfully created.
  • PENDING: When the order is linked against a payment request.
  • PROCESSED: When the payment is received successfully.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • ATTEMPTED: When the payment is unsuccessful due to incorrect OTP. You can retry OTP
  • FAILED: Payment acceptance failed for reasons such as cancel transactions, maximum retries for OTP verification etc.
  • FULLY_REFUNDED: When the payment is completely refunded.
  • PARTIALLY_REFUNDED: When the partial refund is successful.
challenge_url string Use the generated challenge_url to accept payment.

Note: This parameter is returned only after the payment is linked against the order_id.
merchant_id string Unique identifier of the merchant in the Pine Labs database.

Example: 123456
order_amount object An object that contains the transaction amount details.

Learn more about our order_amount child object.
notes string The note you want to show against an order.

Example: Order1
pre_auth boolean The pre-authorization type.

Possible values:
  • true: When pre-authorization is needed.
  • false: When pre-authorization is not required.
Example: false
allowed_payment_methods array of strings The type of payment methods you want to offer customers.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
Example: CARD

Note: Before selecting a payment method, ensure it is configured for you.
callback_url string URL to redirect customers to success or failure pages.

Example: https://sample-callback-url
failure_callback_url string URL to redirect customers to success or failure pages.

Example: https://sample-failure-callback-url
purchase_details object An object that contains the purchase details.

Learn more about the purchase_details child object.

Note: The presence of the object key-values depends on the Input request.
payments array of objects An array of objects that contains the payment details.

Learn more about the payments child object.

Note: Payment object is returned only for the orders linked with a payment.
created_at string The ISO 8601 UTC Timestamp when the order request was received.

Example: 2024-07-09T07:57:08.022Z
updated_at string The ISO 8601 UTC Timestamp when the order object was updated.

Example: 2024-07-09T07:57:08.022Z
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.

Order Amount [Child Object]

The table below lists the various parameters in the order_amount child object. This object is part of the create order request object.

Parameter Type Description
value integer Transaction amount in Paisa.

  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currency string Type of currency.

Example: INR

Purchase Details [Child Object]

The table below lists the various parameters in the purchase_details child object. This object is part of the create order request object.

Parameter Type Description
customer object An object that contains the customer details.

Learn more about the customer child object.
merchant_metadata object An object of key-value pair that can be used to store additional information.

Example: "key1": "DD"

Customer [Child Object]

The table below lists the various parameters in the customer child object. This is part of the purchase_details object.

Parameter Type Description
email_id string Customer's email address.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: [email protected]
first_name string Customer's first name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Kevin
last_name string Customer's last name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Bob
customer_id string Unique identifier of the customer in the Pine Labs database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
mobile_number string Customer's mobile number.
  • Minimum length: 9 characters.
  • Maximum length: 20 characters.
Example: 9876543210
billing_address object An object that contains the details of the billing address.

Learn more about our billing_address child object.
shipping_address object An object that contains the shipping address details.

Learn more about our shipping_address child object.

Billing Address [Child Object]

The table below lists the various parameters in the billing_address child object. This is part of the customer object.

Parameter Type Description
address1stringCustomer's billing address1.
  • Max length: 100 characters.
Example: 10 Downing Street Westminster London
address2stringCustomer's billing address2.
  • Max length: 100 characters.
Example: Oxford Street Westminster London
address3stringCustomer's billing address3.
  • Max length: 100 characters.
Example: Baker Street Westminster London
pincodestringPincode of the billing address.
  • Min length: 6 characters.
  • Max length: 10 characters.
Example: 51524036
citystringCity of the billing address.
  • Max length: 50 characters.
Example: Westminster
statestringState of the billing address.
  • Max length: 50 characters.
Example: Westminster
countrystringCountry of the billing address.
  • Max length: 50 characters.
Example: London

Shipping Address [Child Object]

The table below lists the various parameters in the shipping_address child object. This is part of the customer object.

Parameter Type Description
address1stringCustomer's shipping address1.
  • Max length: 100 characters.
Example: 10 Downing Street Westminster London
address2stringCustomer's shipping address2.
  • Max length: 100 characters.
Example: Oxford Street Westminster London
address3stringCustomer's shipping address3.
  • Max length: 100 characters.
Example: Baker Street Westminster London
pincodestringPincode of the shipping address.
  • Min length: 6 characters
  • Max length: 10 characters.
Example: 51524036
citystringCity of the shipping address.
  • Max length: 50 characters.
Example: Westminster
statestringState of the shipping address.
  • Max length: 50 characters.
Example: Westminster
countrystringCountry of the shipping address.
  • Max length: 50 characters.
Example: London

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 create order response object.

Parameter Type Description
value integer Transaction amount in Paisa.

  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currency string Type of currency.

Example: INR

Refer to our Create Order API documentation to learn more.

📘

Note:

When the pre-authorization is set to true you can capture the payment after successful delivery or service.


6. Create Payment

To create a payment, use our Create Payment API, use the order_id returned in the response of a Create Order API to link the payment against an order.

6.1. Credit EMI

Use the below payloads to process a payment with Credit EMI option.

Below are the sample requests and sample response for Create Payment API.

curl --request POST \
     --url https://pluraluat.v2.pinepg.in/api/pay/v1/orders/{order_id}/payments \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payments": [
    {
      "merchant_payment_reference": "1232$guid",
      "payment_method": "CREDIT_EMI",
      "payment_amount": {
        "value": 800139,
        "currency": "INR"
      },
      "payment_option": {
        "card_details": {
          "name": "Kevin Bob",
          "card_number": "37693000XXXXXXXX",
          "registered_mobile_number": "9876543210",
          "cvv": "860",
          "expiry_month": "08",
          "expiry_year": "2029"
        }
      },
      "offer_data": {
        "offer_details": {
          "id": "1",
          "name": "ICICI CC",
          "issuer_type": "CC_BANK",
          "priority": 1,
          "tenure": {
            "tenure_id": "4",
            "name": "12 Months",
            "tenure_type": "MONTH",
            "tenure_value": 12,
            "issuer_offer_parameters": [
              {
                "program_type": "BANK_EMI",
                "offer_id": "4473",
                "offer_parameter_id": "221784"
              },
              {
                "program_type": "MERCHANT_BANK_OFFER",
                "offer_id": "4468",
                "offer_parameter_id": "221674"
              }
            ],
            "details": [],
            "discount": {
              "discount_type": "INSTANT",
              "percentage": 20,
              "amount": {
                "currency": "INR",
                "value": 200000
              },
              "max_amount": {
                "currency": "INR",
                "value": 400000
              }
            },
            "loan_amount": {
              "currency": "INR",
              "value": 800139
            },
            "auth_amount": {
              "currency": "INR",
              "value": 800139
            },
            "total_discount_amount": {
              "currency": "INR",
              "value": 200000
            },
            "net_payment_amount": {
              "currency": "INR",
              "value": 871128
            },
            "monthly_emi_amount": {
              "currency": "INR",
              "value": 72594
            },
            "total_emi_amount": {
              "currency": "INR",
              "value": 871128
            },
            "interest_amount": {
              "currency": "INR",
              "value": 70989
            },
            "interest_rate_percentage": 15.99,
            "processing_fee_details": {
              "percentage": 2
            },
            "total_down_payment_amount": {
              "currency": "INR",
              "value": 200000
            },
            "convenience_fee_breakdown": {
              "fee_calculated_on_amount": {
                "currency": "INR",
                "value": 800000
              },
              "fee_amount": {
                "currency": "INR",
                "value": 108
              },
              "tax_amount": {
                "currency": "INR",
                "value": 21
              },
              "additional_fee_amount": {
                "currency": "INR",
                "value": 10
              },
              "maximum_fee_amount": {
                "currency": "INR",
                "value": 99999999
              },
              "applicable_fee_amount": {
                "currency": "INR",
                "value": 139
              }
            },
            "emi_type": "STANDARD",
            "downpayment_details": {
              "downpayment_amount": {
                "currency": "INR",
                "value": 200000
              }
            }
          }
        }
      }
    }
  ]
}
'
curl --request POST \
     --url https://api.pluralpay.in/api/pay/v1/orders/{order_id}/payments \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payments": [
    {
      "merchant_payment_reference": "1232$guid",
      "payment_method": "CREDIT_EMI",
      "payment_amount": {
        "value": 800139,
        "currency": "INR"
      },
      "payment_option": {
        "card_details": {
          "name": "Kevin Bob",
          "card_number": "37693000XXXXXXXX",
          "registered_mobile_number": "9876543210",
          "cvv": "860",
          "expiry_month": "08",
          "expiry_year": "2029"
        }
      },
      "offer_data": {
        "offer_details": {
          "id": "1",
          "name": "ICICI CC",
          "issuer_type": "CC_BANK",
          "priority": 1,
          "tenure": {
            "tenure_id": "4",
            "name": "12 Months",
            "tenure_type": "MONTH",
            "tenure_value": 12,
            "issuer_offer_parameters": [
              {
                "program_type": "BANK_EMI",
                "offer_id": "4473",
                "offer_parameter_id": "221784"
              },
              {
                "program_type": "MERCHANT_BANK_OFFER",
                "offer_id": "4468",
                "offer_parameter_id": "221674"
              }
            ],
            "details": [],
            "discount": {
              "discount_type": "INSTANT",
              "percentage": 20,
              "amount": {
                "currency": "INR",
                "value": 200000
              },
              "max_amount": {
                "currency": "INR",
                "value": 400000
              }
            },
            "loan_amount": {
              "currency": "INR",
              "value": 800139
            },
            "auth_amount": {
              "currency": "INR",
              "value": 800139
            },
            "total_discount_amount": {
              "currency": "INR",
              "value": 200000
            },
            "net_payment_amount": {
              "currency": "INR",
              "value": 871128
            },
            "monthly_emi_amount": {
              "currency": "INR",
              "value": 72594
            },
            "total_emi_amount": {
              "currency": "INR",
              "value": 871128
            },
            "interest_amount": {
              "currency": "INR",
              "value": 70989
            },
            "interest_rate_percentage": 15.99,
            "processing_fee_details": {
              "percentage": 2
            },
            "total_down_payment_amount": {
              "currency": "INR",
              "value": 200000
            },
            "convenience_fee_breakdown": {
              "fee_calculated_on_amount": {
                "currency": "INR",
                "value": 800000
              },
              "fee_amount": {
                "currency": "INR",
                "value": 108
              },
              "tax_amount": {
                "currency": "INR",
                "value": 21
              },
              "additional_fee_amount": {
                "currency": "INR",
                "value": 10
              },
              "maximum_fee_amount": {
                "currency": "INR",
                "value": 99999999
              },
              "applicable_fee_amount": {
                "currency": "INR",
                "value": 139
              }
            },
            "emi_type": "STANDARD",
            "downpayment_details": {
              "downpayment_amount": {
                "currency": "INR",
                "value": 200000
              }
            }
          }
        }
      }
    }
  ]
}
'
{
  "data": {
    "order_id": "v1-250319142620-aa-jbIX17",
    "merchant_order_reference": "093297a7-fdd4-4d51-9136-bfc68d014852",
    "type": "CHARGE",
    "status": "PENDING",
    "challenge_url": "https://d1xlb36glwfkxz.cloudfront.net/debit-acs/?args=GcS6MMsuhGjGCoa5BQsRl6DUlcH81OtWUDpG7KWDkNQ%3D",
    "merchant_id": "111163",
    "order_amount": {
      "value": 1200000,
      "currency": "INR"
    },
    "pre_auth": false,
    "allowed_payment_methods": [
      "CARD",
      "NETBANKING",
      "CREDIT_EMI",
      "UPI",
      "WALLET",
      "DEBIT_EMI",
      "CARDLESS_EMI",
      "POINTS"
    ],
    "purchase_details": {
      "customer": {
        "email_id": "[email protected]",
        "first_name": "Kevin",
        "last_name": "Bob",
        "customer_id": "cust-v1-250218121918-aa-uAaCdZ",
        "mobile_number": "7973058466",
        "country_code": "91",
        "billing_address": {
          "address1": "H.No 15, Sector 17",
          "pincode": "61232112",
          "city": "CHANDIGARH",
          "state": "PUNJAB",
          "country": "INDIA"
        },
        "shipping_address": {
          "address1": "H.No 15, Sector 17",
          "pincode": "160036",
          "city": "CHANDIGARH",
          "state": "PUNJAB",
          "country": "INDIA"
        },
        "is_edit_customer_details_allowed": false,
        "status": "ACTIVE",
        "created_at": "2025-02-18T12:19:18.240371Z",
        "updated_at": "2025-02-18T12:19:18.240382Z"
      }
    },
    "payments": [
      {
        "id": "v1-250319142620-aa-jbIX17-cle-a",
        "merchant_payment_reference": "1bc6e6d1-908e-4ee9-bedc-5b8d5d3943f7",
        "status": "PENDING",
        "payment_amount": {
          "value": 800139,
          "currency": "INR"
        },
        "payment_method": "CREDIT_EMI",
        "acquirer_data": {
          "approval_code": "",
          "acquirer_reference": "",
          "rrn": "",
          "is_aggregator": false
        },
        "offer_data": {
          "offer_details": {
            "id": "1",
            "name": "ICICI CC",
            "issuer_type": "CC_BANK",
            "priority": 1,
            "tenure": {
              "tenure_id": "4",
              "name": "12 Months",
              "tenure_type": "MONTH",
              "tenure_value": 12,
              "issuer_offer_parameters": [
                {
                  "program_type": "BANK_EMI",
                  "offer_id": "4473",
                  "offer_parameter_id": "221784"
                },
                {
                  "program_type": "MERCHANT_BANK_OFFER",
                  "offer_id": "4468",
                  "offer_parameter_id": "221674"
                }
              ],
              "details": [],
              "discount": {
                "discount_type": "INSTANT",
                "percentage": 20,
                "amount": {
                  "currency": "INR",
                  "value": 200000
                },
                "max_amount": {
                  "currency": "INR",
                  "value": 400000
                }
              },
              "loan_amount": {
                "currency": "INR",
                "value": 800139
              },
              "auth_amount": {
                "currency": "INR",
                "value": 800139
              },
              "total_discount_amount": {
                "currency": "INR",
                "value": 200000
              },
              "net_payment_amount": {
                "currency": "INR",
                "value": 871128
              },
              "monthly_emi_amount": {
                "currency": "INR",
                "value": 72594
              },
              "total_emi_amount": {
                "currency": "INR",
                "value": 871128
              },
              "interest_amount": {
                "currency": "INR",
                "value": 70989
              },
              "interest_rate_percentage": 15.99,
              "processing_fee_details": {
                "percentage": 2
              },
              "total_down_payment_amount": {
                "currency": "INR",
                "value": 200000
              },
              "convenience_fee_breakdown": {
                "fee_calculated_on_amount": {
                  "currency": "INR",
                  "value": 800000
                },
                "fee_amount": {
                  "currency": "INR",
                  "value": 108
                },
                "tax_amount": {
                  "currency": "INR",
                  "value": 21
                },
                "additional_fee_amount": {
                  "currency": "INR",
                  "value": 10
                },
                "maximum_fee_amount": {
                  "currency": "INR",
                  "value": 99999999
                },
                "applicable_fee_amount": {
                  "currency": "INR",
                  "value": 139
                }
              },
              "emi_type": "STANDARD",
              "downpayment_details": {
                "downpayment_amount": {
                  "currency": "INR",
                  "value": 200000
                }
              }
            }
          }
        },
        "created_at": "2025-03-19T14:26:36.680Z",
        "updated_at": "2025-03-19T14:26:41.193Z"
      }
    ],
    "created_at": "2025-03-19T14:26:20.064Z",
    "updated_at": "2025-03-19T14:26:41.193Z",
    "integration_mode": "SEAMLESS",
    "payment_retries_remaining": 9
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

Path Parameter

The table below lists the path parameters of our Create Payment API.

Parameter Type Description
order_id required string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd

Request Parameters

The table below lists the request parameters of our Create Payment API.

Parameter Type Description
Payments required array of objects An array of objects that contains the payment details.

Learn more about our payments child object.

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the create payment request object.

Parameter Type Description
merchant_payment_reference required string Unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
payment_method required string Type of payment method you want to use to accept a payment.

Accepted values:
  • CREDIT_EMI
  • DEBIT_EMI
Example: CREDIT_EMI
payment_amount required object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_option required object An object that contains the details of the payment options.

You can use either card_details or card_token_details as a payment option.

Note: One object is mandatory to process the request.

Learn more about our payment_option child object.
offer_data object An object that contains details related to the offer.

Learn more about our offer_data child object.

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value required integer The payment amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 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 payments object.

Parameter Type Description
card_details object An object that contains the card details.

Learn more about the card_details child object.
Card Details [Child Object]

The table below lists the various parameters in the card_details child object. This object is part of the payment_option object.

Parameter Type Description
name requiredstringName on the card.
  • Minimum length: 1 character.
  • Maximum length: 100 characters.
Example: Kevin
card_number requiredstringCard Number.
  • Minimum length: 12characters.
  • Maximum length: 23 characters.
Example: 123456789012

Supported characters: 0-9
cvv requiredstringCard Verification Value [CVV] of the card.
  • Minimum length: 3 digits.
  • Maximum length:4 digits.
Example: 123

Supported characters: 0-9
expiry_month requiredstringCard expiry month.

Has to be 2 digits.

Example: 08

Supported characters: 0-9
expiry_year requiredstringCard expiry year.

Has to be 4 digits.

Example: 2024

Supported characters: 0-9
registered_mobile_numberstringCard registered mobile number.
  • Minimum length: 9 characters.
  • Maximum length: 20 characters.
Example: 9876543210

Supported characters: 0-9
savebooleanSave card transaction status.

Possible values:
  • true
  • false

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 Unique identifier of the issuer id in the Pine Labs database.

Example: 23
name string Name of the Issuer.

Example: INDUSIND CC
issuer_type string The type of the Issuer offering the offer.

Example:
  • CC_BANK
  • DC_BANK
priority string The priority of the issuer providing the offer.

Example: 1
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 object.

Parameter Type Description
tenure_id required string Tenure id in the Pine Labs database.

Example: 1
name required string The name of the Issuer offering the offer.

Example: 3 Months
tenure_type required string The type of the Tenure.

Accepted value:
  • MONTH
tenure_value integer The value of the tenure.

Example: 3
issuer_offer_parameters required array of objects 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.
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 required integer Interest rate percentage for the tenure.

Example: 16.90
processing_fee_details object Processing fee details for the tenure.

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 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.
downpayment_details required object An object that contains the downpayment details.

Learn more about our downpayment_details child object.
emi_type required strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD

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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC

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.
downpayment_amount required object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount required object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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 is part of the details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the product_details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR

After Downpayment Reduced Produt Amount [Child Object]

The table below lists the various parameters in the after_downpayment_reduced_product_amount child object. This object is part of the product_details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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: INSTANT

Accepted values:
  • INSTANT
  • POST
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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.
merchant object An object that contains the breakup details of the merchant.

Learn more about the merchant child object.
issuer object An object that contains the breakup details of the issuer.

Learn more about the issuer child object.
dealer object An object that contains the breakup details of the dealer.

Learn more about the dealer 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the merchant.

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 merchant object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the issuer.

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 issuer object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the dealer.

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 issuer object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Maximum 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Minimum 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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:
  • INSTANT
  • DEFERRED
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:
  • DAY
  • MONTH
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
brand object An object that contains the brand breakup details.

Learn more about the brand child object.
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.
dealer object An object that contains the dealer breakup details.

Learn more about the dealer 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.
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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.
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Issuer [Child Object]
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
Valuevalue required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value required integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency required string Type of currency.

Example: INR

The table below lists the various parameters returned in the Create Payment response objects.

Parameter Type Description
order_id string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd
merchant_order_reference string Unique identifier entered while creating an order.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 82d57572-057c-4826-5775-385a52150554
type string Payment type.

Possible values:
  • CHARGE
  • REFUND
status string Order status.

Possible values:
  • CREATED: When the order is successfully created.
  • PENDING: When the order is linked against a payment request.
  • PROCESSED: When the payment is received successfully.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • ATTEMPTED: When the payment is unsuccessful due to incorrect OTP. You can retry OTP verification until the payment gets failed.
  • FAILED: Payment acceptance failed for reasons such as cancel transactions, maximum retries for OTP verification etc.
  • FULLY_REFUNDED: When the payment is completely refunded.
  • PARTIALLY_REFUNDED: When the partial refund is successful.
challenge_url string Use the generated challenge_url URL to navigate your users to the checkout page.
merchant_id string Unique identifier of the merchant in Pine Labs database.

Example: 123456
order_amount object An object that contains the transaction amount details.

Learn more about our order_amount child object.
pre_auth boolean The pre-authorization type.

Possible values:
  • true: When pre-authorization is needed.
  • false: When pre-authorization is not required.
Example: false

Learn more about our pre-authorization.
allowed_payment_methods array of strings The type of payment methods you want to offer your customers to accept payments.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
Example: CARD

Note: Before selecting a payment method, ensure it is configured for you.
notes string The note you want to show against an order.

Example: Order1
callback_url string Use this URL to redirect your customers to specific success or failure pages based on the order or product details.

Example: https://sample-callback-url
purchase_details object An object that contains the purchase details.

Learn more about our purchase_details child object.

Note: The presence of the key-values pairs in this object depends on the Input request.
payments array of objects An array of objects that contains the payment details.

Learn more about our payments child object.

Note: Payments response object can vary based on the payment methods and payment status.
created_at string The ISO 8601 UTC Timestamp, when the create order request was received by Pine Labs.

Example: 2024-07-09T07:57:08.022Z
updated_at string The ISO 8601 UTC Timestamp, when the order response object is updated.

Example: 2024-07-09T07:57:08.022Z
integration_mode string Type of integration mode you wish to integrate with.

Accepted values:
  • REDIRECT
  • SEAMLESS
  • IFRAME
payment_retries_remaining integer Payment attempts remaining on the order.

Example: 9

Order Amount [Child Object]

The table below lists the various parameters in the order_amount child object. This object is part of the payments sample response object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Purchase Details [Child Object]

The table below lists the various parameters in the purchase_details child object. This object is part of the payments sample response object.

Parameter Type Description
customer Object An object that contains the customer details.

Learn more about our customer child object.
merchant_metadata object An object of key-value pair that can be used to store additional information.

Example: "key1": "DD"

Customer [Child Object]

The table below lists the various parameters in the customer child object. This is part of the purchase_details object.

Parameter Type Description
email_id string Customer's email address.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: [email protected]
first_name string Customer's first name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Kevin
last_name string Customer's last name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Bob
customer_id string Unique identifier of the customer in the Pine Labs database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
mobile_number string Customer's mobile number.
  • Minimum length: 10 characters.
  • Maximum length: 20 characters.
Example: 9876543210

Supported characters: 0-9
billing_address object An object that contains the details of the billing address.

Learn more about our billing_address child object.
shipping_address object An object that contains the shipping address details.

Learn more about our shipping_address child object.

Billing Address [Child Object]

The table below lists the various parameters in the billing_address child object. This is part of the customer object.

Parameter Type Description
address1 string Customer's billing address1.
  • Maximum length: 100 characters.
Example: 10 Downing Street Westminster London
address2 string Customer's billing address2.
  • Maximum length: 100 characters.
Example: Oxford Street Westminster London
address3 string Customer's billing address3.
  • Maximum length: 100 characters.
Example: Baker Street Westminster London
pincode string Pincode of the billing address.
  • Maximum length: 10 characters.
Example: 51524036
city string City of the billing address.
  • Maximum length: 50 characters.
Example: Westminster
state string State of the billing address.
  • Maximum length: 50 characters.
Example: Westminster
country string Country of the billing address.
  • Maximum length: 50 characters.
Example: London

Shipping Address [Child Object]

The table below lists the various parameters in the shipping_address child object. This is part of the customer object.

Parameter Type Description
address1 string Customer's shipping address1.
  • Maximum length: 100 characters.
Example: 10 Downing Street Westminster London
address2 string Customer's shipping address2.
  • Maximum length: 100 characters.
Example: Oxford Street Westminster London
address3 string Customer's shipping address3.
  • Maximum length: 100 characters.
Example: Baker Street Westminster London
pincode string Pincode of the shipping address.
  • Maximum length: 10 characters.
Example: 51524036
city string City of the shipping address.
  • Maximum length: 50 characters.
Example: Westminster
state string State of the shipping address.
  • Maximum length: 50 characters.
Example: Westminster
country string Country of the shipping address.
  • Maximum length: 50 characters.
Example: London

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the payments sample response object.

Parameter Type Description
id string Unique identifier of the payment in the Pine Labs database.
  • Maximum length: 50 characters.
Example: v1-5206071124-aa-mpLhF3-cc-l
merchant_payment_reference string A unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
status string Payment status.

Possible values:
  • PENDING: When the create payment API request is successfully received by Pine Labs.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • PROCESSED: When the payment is successfully received by Pine Labs.
  • FAILED: When the payment fails, this can be for many reasons such as canceling payments, etc.
Example: PENDING
payment_amount object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_method string Type of payment method.

Accepted values:
  • CREDIT_EMI
  • DEBIT_EMI
  • CARDLESS_EMI
Example: CREDIT_EMI
payment_option object An object that contains the details of the payment options.

Learn more about our payment_option child object.
acquirer_data object An object that contains the details of the acquirer data.

Learn more about our acquirer_data child object.
error_detail object An object that contains the error details.

Learn more about our error_detail child object.

Note: This object is returned only for the failed payment.
capture_data object An object that contains the details of the capture data.

Learn more about our capture_data child object.

Note: The presence of the key-value pairs against this object depends on the pre-authorization type.
offer_data object An object that contains the offer details.

Learn more about our offer_data child object.
created_at string The ISO 8601 UTC Timestamp, when the create payment request was received by Pine Labs.

Example: 2024-07-11T06:52:12.484Z
updated_at string The ISO 8601 UTC Timestamp, when the payment response object is updated.

Example: 2024-07-11T06:59:38.260Z

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
card_data object An object that contains the card details.

Learn more about our card_data child object.

Card Data [Child Object]

The table below lists the various parameters in the card_data child object. This object is part of the payment_option object.

Parameter Type Description
card_type string Type of card.

Possible values:
  • DEBIT
  • CREDIT
Example: CREDIT
network_name string Card network providers.

Example: VISA
issuer_name string Card issuer entity.

Example: HDFC
card_category string The card category type.

Possible values:
  • CONSUMER
  • COMMERCIAL
  • PREMIUM
  • SUPER_PREMIUM
  • PLATINUM
  • OTHER
  • BUSINESS
  • GOVERNMENT_NOTES
  • PAYOUTS
  • ELITE
  • STANDARD
country_code string Card issuers Country.

Example: IND
token_txn_type string Transaction token type.

Possible values:
  • ALT_TOKEN
  • NETWORK_TOKEN
  • ISSUER_TOKEN
Example: ALT_TOKEN

Acquirer Data [Child Object]

The table below lists the various parameters in the acquirer_data child object. This object is part of the payments object.

Parameter Type Description
approval_code string Authorization code returned from acquirer against the payment.

Example: 030376
acquirer_reference string Unique reference returned from acquirer for the payment.

Example: 202455840588334
rrn string Retrieval reference number returned from acquirer for the payment.

Example: 419335023601
is_aggregator boolean The selected aggregator model type.

Accepted values:
  • true: Pine Labs is responsible for settling funds related to this payment.
  • false: Pine Labs is not responsible for settling funds related to this payment.
Note:
  • When the is_aggregator is set to true, Pine Labs acts as the acquirer on behalf of merchants, receiving funds from banks into a designated "Nodal Account".
  • When the is_aggregator is set to false, the Merchant has a direct relationship with the bank and the responsibility for settlement of funds lies with both of those parties.

Error Detail [Child Object]

The table below lists the various parameters in the error_detail child object. This object is part of the payments object.

Parameter Type Description
code string The error short Code.

Example: PAYMENT_DECLINED
message string Error description explaining why the error occurred.

Example: Transaction declined due to insufficient balance

Capture Data [Child Object]

The table below lists the various parameters in the capture_details child object. This object is part of the payments object.

Parameter Type Description
merchant_capture_reference string Unique identifier passed while creating the capture payment request.

Example: 5742ef1e-4606-4c11-5757-705f4d415b6d
capture_amount object An object that contains the capture amount details.

Learn more about our capture_amount child object.
created_at string The ISO 8601 UTC Timestamp, when the amount was captured.

Example: 2024-07-11T11:52:12.484105Z

Capture Amount [Child Object]

The table below lists the various parameters in the capture_amount child object. This object is part of the capture_data object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
offer_details object An object that contains the offer details.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 object.

Parameter Type Description
id String Unique identifier of the issuer id in the Pine Labs 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:
  • CC_BANK
  • DC_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.

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 Pine Labs 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:
  • MONTH
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.
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.
downpayment_details object An object that contains the downpayment details.

Learn more about our downpayment_details child object.
emi_type strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC
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
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.
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.
downpayment_amount object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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 is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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: INSTANT

Accepted values:
  • INSTANT
  • POST
offer_type string Type of the offer.

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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:
  • INSTANT
  • DEFERRED
percentage Double The discount percentage provided by the offering entity.

Example: 16.90
amount string Discount amount.

Example: 2000
discount_deferred_duration_value integer The duration value for the deferred discount.

Example:
discount_deferred_duration_type string Discount duration type deferred.

Possible values:
  • DAY
  • MONTH
breakup object An object that contains the product offer details with breakup.

Learn more about the breakup child object.
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 breakup child object.
issuer object An object that contains the issuer breakup details.

Learn more about the breakup child object.
brand object An object that contains the brand breakup details.

Learn more about the breakup child object.
dealer object An object that contains the dealer breakup details.

Learn more about the breakup 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 issure 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
integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

After Downpayment Reduced Produt Amount [Child Object]

The table below lists the various parameters in the after_downpayment_reduced_product_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

6.2. Debit EMI

Use the below payloads to process a payment with Debit EMI option.

Below are the sample requests and sample response for Create Payment API.

curl --request POST \
     --url https://pluraluat.v2.pinepg.in/api/pay/v1/orders/order_id/payments \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payments": [
    {
      "merchant_payment_reference": "1234$guid",
      "payment_method": "DEBIT_EMI",
      "payment_amount": {
        "value": 1000000,
        "currency": "INR"
      },
      "payment_option": {
        "card_details": {
          "name": "TEST NAME",
          "card_number": "46900000XXXXXXXX",
          "registered_mobile_number": "9876543210",
          "cvv": "860",
          "expiry_month": "08",
          "expiry_year": "2029"
        }
      },
      "offer_data": {
        "offer_details": {
          "id": "7",
          "name": "HDFC DC",
          "display_name": "HDFC BANK",
          "issuer_type": "DC_BANK",
          "priority": 1,
          "tenure": {
            "tenure_id": "4",
            "name": "12 Months",
            "tenure_type": "MONTH",
            "tenure_value": 12,
            "issuer_offer_parameters": [
              {
                "program_type": "BANK_EMI",
                "offer_id": "4473",
                "offer_parameter_id": "221784"
              }
            ],
            "details": [],
            "loan_amount": {
              "currency": "INR",
              "value": 1000000
            },
            "auth_amount": {
              "currency": "INR",
              "value": 1000000
            },
            "net_payment_amount": {
              "currency": "INR",
              "value": 1088772
            },
            "monthly_emi_amount": {
              "currency": "INR",
              "value": 90731
            },
            "total_emi_amount": {
              "currency": "INR",
              "value": 1088772
            },
            "interest_amount": {
              "currency": "INR",
              "value": 88772
            },
            "interest_rate_percentage": 16,
            "processing_fee_details": {
              "percentage": 0,
              "amount": {
                "currency": "INR",
                "value": 19900
              }
            },
            "total_down_payment_amount": {
              "currency": "INR",
              "value": 200000
            },
            "emi_type": "STANDARD",
            "downpayment_details": {
              "downpayment_amount": {
                "currency": "INR",
                "value": 200000
              }
            }
          }
        }
      }
    }
  ]
}
'
curl --request POST \
     --url https://api.pluralpay.in/api/pay/v1/orders/{order_id}/payments \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payments": [
    {
      "merchant_payment_reference": "1234$guid",
      "payment_method": "DEBIT_EMI",
      "payment_amount": {
        "value": 1000000,
        "currency": "INR"
      },
      "payment_option": {
        "card_details": {
          "name": "TEST NAME",
          "card_number": "46900000XXXXXXXX",
          "registered_mobile_number": "9876543210",
          "cvv": "860",
          "expiry_month": "08",
          "expiry_year": "2029"
        }
      },
      "offer_data": {
        "offer_details": {
          "id": "7",
          "name": "HDFC DC",
          "display_name": "HDFC BANK",
          "issuer_type": "DC_BANK",
          "priority": 1,
          "tenure": {
            "tenure_id": "4",
            "name": "12 Months",
            "tenure_type": "MONTH",
            "tenure_value": 12,
            "issuer_offer_parameters": [
              {
                "program_type": "BANK_EMI",
                "offer_id": "4473",
                "offer_parameter_id": "221784"
              }
            ],
            "details": [],
            "loan_amount": {
              "currency": "INR",
              "value": 1000000
            },
            "auth_amount": {
              "currency": "INR",
              "value": 1000000
            },
            "net_payment_amount": {
              "currency": "INR",
              "value": 1088772
            },
            "monthly_emi_amount": {
              "currency": "INR",
              "value": 90731
            },
            "total_emi_amount": {
              "currency": "INR",
              "value": 1088772
            },
            "interest_amount": {
              "currency": "INR",
              "value": 88772
            },
            "interest_rate_percentage": 16,
            "processing_fee_details": {
              "percentage": 0,
              "amount": {
                "currency": "INR",
                "value": 19900
              }
            },
            "total_down_payment_amount": {
              "currency": "INR",
              "value": 200000
            },
            "emi_type": "STANDARD",
            "downpayment_details": {
              "downpayment_amount": {
                "currency": "INR",
                "value": 200000
              }
            }
          }
        }
      }
    }
  ]
}
'
{
  "data": {
    "order_id": "v1-250319142620-aa-jbIX17",
    "merchant_order_reference": "093297a7-fdd4-4d51-9136-bfc68d014852",
    "type": "CHARGE",
    "status": "PENDING",
    "challenge_url": "https://d1xlb36glwfkxz.cloudfront.net/debit-acs/?args=GcS6MMsuhGjGCoa5BQsRl6DUlcH81OtWUDpG7KWDkNQ%3D",
    "merchant_id": "111163",
    "order_amount": {
      "value": 1200000,
      "currency": "INR"
    },
    "pre_auth": false,
    "allowed_payment_methods": [
      "CARD",
      "NETBANKING",
      "CREDIT_EMI",
      "UPI",
      "WALLET",
      "DEBIT_EMI",
      "CARDLESS_EMI",
      "POINTS"
    ],
    "purchase_details": {
      "customer": {
        "email_id": "[email protected]",
        "first_name": "Anoop",
        "last_name": "Pandey",
        "customer_id": "cust-v1-250218121918-aa-uAaCdZ",
        "mobile_number": "7973058466",
        "country_code": "91",
        "billing_address": {
          "address1": "H.No 15, Sector 17",
          "pincode": "61232112",
          "city": "CHANDIGARH",
          "state": "PUNJAB",
          "country": "INDIA"
        },
        "shipping_address": {
          "address1": "H.No 15, Sector 17",
          "pincode": "160036",
          "city": "CHANDIGARH",
          "state": "PUNJAB",
          "country": "INDIA"
        },
        "is_edit_customer_details_allowed": false,
        "status": "ACTIVE",
        "created_at": "2025-02-18T12:19:18.240371Z",
        "updated_at": "2025-02-18T12:19:18.240382Z"
      }
    },
    "payments": [
      {
        "id": "v1-250319142620-aa-jbIX17-cle-a",
        "merchant_payment_reference": "1bc6e6d1-908e-4ee9-bedc-5b8d5d3943f7",
        "status": "PENDING",
        "payment_amount": {
          "value": 1000000,
          "currency": "INR"
        },
        "payment_method": "DEBIT_EMI",
        "acquirer_data": {
          "approval_code": "",
          "acquirer_reference": "",
          "rrn": "",
          "is_aggregator": false
        },
        "offer_data": {
          "offer_details": {
            "id": "7",
            "name": "HDFC DC",
            "display_name": "HDFC BANK",
            "issuer_type": "DC_BANK",
            "priority": 1,
            "tenure": {
              "tenure_id": "4",
              "name": "12 Months",
              "tenure_type": "MONTH",
              "tenure_value": 12,
              "issuer_offer_parameters": [
                {
                  "program_type": "BANK_EMI",
                  "offer_id": "4473",
                  "offer_parameter_id": "221784"
                }
              ],
              "details": [],
              "loan_amount": {
                "currency": "INR",
                "value": 1000000
              },
              "auth_amount": {
                "currency": "INR",
                "value": 1000000
              },
              "net_payment_amount": {
                "currency": "INR",
                "value": 1088772
              },
              "monthly_emi_amount": {
                "currency": "INR",
                "value": 90731
              },
              "total_emi_amount": {
                "currency": "INR",
                "value": 1088772
              },
              "interest_amount": {
                "currency": "INR",
                "value": 88772
              },
              "interest_rate_percentage": 16,
              "processing_fee_details": {
                "percentage": 0,
                "amount": {
                  "currency": "INR",
                  "value": 19900
                }
              },
              "total_down_payment_amount": {
                "currency": "INR",
                "value": 200000
              },
              "emi_type": "STANDARD",
              "downpayment_details": {
                "downpayment_amount": {
                  "currency": "INR",
                  "value": 200000
                }
              }
            }
          }
        },
        "created_at": "2025-03-19T14:26:36.680Z",
        "updated_at": "2025-03-19T14:26:41.193Z"
      }
    ],
    "created_at": "2025-03-19T14:26:20.064Z",
    "updated_at": "2025-03-19T14:26:41.193Z",
    "integration_mode": "SEAMLESS",
    "payment_retries_remaining": 9
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

Path Parameter

The table below lists the path parameters of our Create Payment API.

Parameter Type Description
order_id required string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd

Request Parameters

The table below lists the request parameters of our Create Payment API.

Parameter Type Description
Payments required array of objects An array of objects that contains the payment details.

Learn more about our payments child object.

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the create payment request object.

Parameter Type Description
merchant_payment_reference required string Unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
payment_method required string Type of payment method you want to use to accept a payment.

Accepted values:
  • CREDIT_EMI
  • DEBIT_EMI
Example: CREDIT_EMI
payment_amount required object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_option required object An object that contains the details of the payment options.

You can use either card_details or card_token_details as a payment option.

Note: One object is mandatory to process the request.

Learn more about our payment_option child object.
offer_data object An object that contains details related to the offer.

Learn more about our offer_data child object.

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value required integer The payment amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 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 payments object.

Parameter Type Description
card_details object An object that contains the card details.

Learn more about the card_details child object.
Card Details [Child Object]

The table below lists the various parameters in the card_details child object. This object is part of the payment_option object.

Parameter Type Description
name requiredstringName on the card.
  • Minimum length: 1 character.
  • Maximum length: 100 characters.
Example: Kevin
card_number requiredstringCard Number.
  • Minimum length: 12characters.
  • Maximum length: 23 characters.
Example: 123456789012

Supported characters: 0-9
cvv requiredstringCard Verification Value [CVV] of the card.
  • Minimum length: 3 digits.
  • Maximum length:4 digits.
Example: 123

Supported characters: 0-9
expiry_month requiredstringCard expiry month.

Has to be 2 digits.

Example: 08

Supported characters: 0-9
expiry_year requiredstringCard expiry year.

Has to be 4 digits.

Example: 2024

Supported characters: 0-9
registered_mobile_numberstringCard registered mobile number.
  • Minimum length: 9 characters.
  • Maximum length: 20 characters.
Example: 9876543210

Supported characters: 0-9
savebooleanSave card transaction status.

Possible values:
  • true
  • false

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 Unique identifier of the issuer id in the Pine Labs database.

Example: 23
name string Name of the Issuer.

Example: INDUSIND CC
issuer_type string The type of the Issuer offering the offer.

Example:
  • CC_BANK
  • DC_BANK
priority string The priority of the issuer providing the offer.

Example: 1
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 object.

Parameter Type Description
tenure_id required string Tenure id in the Pine Labs database.

Example: 1
name required string The name of the Issuer offering the offer.

Example: 3 Months
tenure_type required string The type of the Tenure.

Accepted value:
  • MONTH
tenure_value integer The value of the tenure.

Example: 3
issuer_offer_parameters required array of objects 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.
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 required integer Interest rate percentage for the tenure.

Example: 16.90
processing_fee_details object Processing fee details for the tenure.

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 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.
downpayment_details required object An object that contains the downpayment details.

Learn more about our downpayment_details child object.
emi_type required strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD

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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC

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.
downpayment_amount required object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount required object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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 is part of the details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the product_details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR

After Downpayment Reduced Produt Amount [Child Object]

The table below lists the various parameters in the after_downpayment_reduced_product_amount child object. This object is part of the product_details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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: INSTANT

Accepted values:
  • INSTANT
  • POST
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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.
merchant object An object that contains the breakup details of the merchant.

Learn more about the merchant child object.
issuer object An object that contains the breakup details of the issuer.

Learn more about the issuer child object.
dealer object An object that contains the breakup details of the dealer.

Learn more about the dealer 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the merchant.

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 merchant object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the issuer.

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 issuer object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the dealer.

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 issuer object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Maximum 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Minimum 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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:
  • INSTANT
  • DEFERRED
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:
  • DAY
  • MONTH
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
brand object An object that contains the brand breakup details.

Learn more about the brand child object.
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.
dealer object An object that contains the dealer breakup details.

Learn more about the dealer 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.
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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.
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Issuer [Child Object]
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
Valuevalue required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value required integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency required string Type of currency.

Example: INR

The table below lists the various parameters returned in the Create Payment response objects.

Parameter Type Description
order_id string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd
merchant_order_reference string Unique identifier entered while creating an order.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 82d57572-057c-4826-5775-385a52150554
type string Payment type.

Possible values:
  • CHARGE
  • REFUND
status string Order status.

Possible values:
  • CREATED: When the order is successfully created.
  • PENDING: When the order is linked against a payment request.
  • PROCESSED: When the payment is received successfully.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • ATTEMPTED: When the payment is unsuccessful due to incorrect OTP. You can retry OTP verification until the payment gets failed.
  • FAILED: Payment acceptance failed for reasons such as cancel transactions, maximum retries for OTP verification etc.
  • FULLY_REFUNDED: When the payment is completely refunded.
  • PARTIALLY_REFUNDED: When the partial refund is successful.
challenge_url string Use the generated challenge_url URL to navigate your users to the checkout page.
merchant_id string Unique identifier of the merchant in Pine Labs database.

Example: 123456
order_amount object An object that contains the transaction amount details.

Learn more about our order_amount child object.
pre_auth boolean The pre-authorization type.

Possible values:
  • true: When pre-authorization is needed.
  • false: When pre-authorization is not required.
Example: false

Learn more about our pre-authorization.
allowed_payment_methods array of strings The type of payment methods you want to offer your customers to accept payments.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
Example: CARD

Note: Before selecting a payment method, ensure it is configured for you.
notes string The note you want to show against an order.

Example: Order1
callback_url string Use this URL to redirect your customers to specific success or failure pages based on the order or product details.

Example: https://sample-callback-url
purchase_details object An object that contains the purchase details.

Learn more about our purchase_details child object.

Note: The presence of the key-values pairs in this object depends on the Input request.
payments array of objects An array of objects that contains the payment details.

Learn more about our payments child object.

Note: Payments response object can vary based on the payment methods and payment status.
created_at string The ISO 8601 UTC Timestamp, when the create order request was received by Pine Labs.

Example: 2024-07-09T07:57:08.022Z
updated_at string The ISO 8601 UTC Timestamp, when the order response object is updated.

Example: 2024-07-09T07:57:08.022Z
integration_mode string Type of integration mode you wish to integrate with.

Accepted values:
  • REDIRECT
  • SEAMLESS
  • IFRAME
payment_retries_remaining integer Payment attempts remaining on the order.

Example: 9

Order Amount [Child Object]

The table below lists the various parameters in the order_amount child object. This object is part of the payments sample response object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Purchase Details [Child Object]

The table below lists the various parameters in the purchase_details child object. This object is part of the payments sample response object.

Parameter Type Description
customer Object An object that contains the customer details.

Learn more about our customer child object.
merchant_metadata object An object of key-value pair that can be used to store additional information.

Example: "key1": "DD"

Customer [Child Object]

The table below lists the various parameters in the customer child object. This is part of the purchase_details object.

Parameter Type Description
email_id string Customer's email address.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: [email protected]
first_name string Customer's first name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Kevin
last_name string Customer's last name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Bob
customer_id string Unique identifier of the customer in the Pine Labs database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
mobile_number string Customer's mobile number.
  • Minimum length: 10 characters.
  • Maximum length: 20 characters.
Example: 9876543210

Supported characters: 0-9
billing_address object An object that contains the details of the billing address.

Learn more about our billing_address child object.
shipping_address object An object that contains the shipping address details.

Learn more about our shipping_address child object.

Billing Address [Child Object]

The table below lists the various parameters in the billing_address child object. This is part of the customer object.

Parameter Type Description
address1 string Customer's billing address1.
  • Maximum length: 100 characters.
Example: 10 Downing Street Westminster London
address2 string Customer's billing address2.
  • Maximum length: 100 characters.
Example: Oxford Street Westminster London
address3 string Customer's billing address3.
  • Maximum length: 100 characters.
Example: Baker Street Westminster London
pincode string Pincode of the billing address.
  • Maximum length: 10 characters.
Example: 51524036
city string City of the billing address.
  • Maximum length: 50 characters.
Example: Westminster
state string State of the billing address.
  • Maximum length: 50 characters.
Example: Westminster
country string Country of the billing address.
  • Maximum length: 50 characters.
Example: London

Shipping Address [Child Object]

The table below lists the various parameters in the shipping_address child object. This is part of the customer object.

Parameter Type Description
address1 string Customer's shipping address1.
  • Maximum length: 100 characters.
Example: 10 Downing Street Westminster London
address2 string Customer's shipping address2.
  • Maximum length: 100 characters.
Example: Oxford Street Westminster London
address3 string Customer's shipping address3.
  • Maximum length: 100 characters.
Example: Baker Street Westminster London
pincode string Pincode of the shipping address.
  • Maximum length: 10 characters.
Example: 51524036
city string City of the shipping address.
  • Maximum length: 50 characters.
Example: Westminster
state string State of the shipping address.
  • Maximum length: 50 characters.
Example: Westminster
country string Country of the shipping address.
  • Maximum length: 50 characters.
Example: London

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the payments sample response object.

Parameter Type Description
id string Unique identifier of the payment in the Pine Labs database.
  • Maximum length: 50 characters.
Example: v1-5206071124-aa-mpLhF3-cc-l
merchant_payment_reference string A unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
status string Payment status.

Possible values:
  • PENDING: When the create payment API request is successfully received by Pine Labs.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • PROCESSED: When the payment is successfully received by Pine Labs.
  • FAILED: When the payment fails, this can be for many reasons such as canceling payments, etc.
Example: PENDING
payment_amount object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_method string Type of payment method.

Accepted values:
  • CREDIT_EMI
  • DEBIT_EMI
  • CARDLESS_EMI
Example: CREDIT_EMI
payment_option object An object that contains the details of the payment options.

Learn more about our payment_option child object.
acquirer_data object An object that contains the details of the acquirer data.

Learn more about our acquirer_data child object.
error_detail object An object that contains the error details.

Learn more about our error_detail child object.

Note: This object is returned only for the failed payment.
capture_data object An object that contains the details of the capture data.

Learn more about our capture_data child object.

Note: The presence of the key-value pairs against this object depends on the pre-authorization type.
offer_data object An object that contains the offer details.

Learn more about our offer_data child object.
created_at string The ISO 8601 UTC Timestamp, when the create payment request was received by Pine Labs.

Example: 2024-07-11T06:52:12.484Z
updated_at string The ISO 8601 UTC Timestamp, when the payment response object is updated.

Example: 2024-07-11T06:59:38.260Z

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
card_data object An object that contains the card details.

Learn more about our card_data child object.

Card Data [Child Object]

The table below lists the various parameters in the card_data child object. This object is part of the payment_option object.

Parameter Type Description
card_type string Type of card.

Possible values:
  • DEBIT
  • CREDIT
Example: CREDIT
network_name string Card network providers.

Example: VISA
issuer_name string Card issuer entity.

Example: HDFC
card_category string The card category type.

Possible values:
  • CONSUMER
  • COMMERCIAL
  • PREMIUM
  • SUPER_PREMIUM
  • PLATINUM
  • OTHER
  • BUSINESS
  • GOVERNMENT_NOTES
  • PAYOUTS
  • ELITE
  • STANDARD
country_code string Card issuers Country.

Example: IND
token_txn_type string Transaction token type.

Possible values:
  • ALT_TOKEN
  • NETWORK_TOKEN
  • ISSUER_TOKEN
Example: ALT_TOKEN

Acquirer Data [Child Object]

The table below lists the various parameters in the acquirer_data child object. This object is part of the payments object.

Parameter Type Description
approval_code string Authorization code returned from acquirer against the payment.

Example: 030376
acquirer_reference string Unique reference returned from acquirer for the payment.

Example: 202455840588334
rrn string Retrieval reference number returned from acquirer for the payment.

Example: 419335023601
is_aggregator boolean The selected aggregator model type.

Accepted values:
  • true: Pine Labs is responsible for settling funds related to this payment.
  • false: Pine Labs is not responsible for settling funds related to this payment.
Note:
  • When the is_aggregator is set to true, Pine Labs acts as the acquirer on behalf of merchants, receiving funds from banks into a designated "Nodal Account".
  • When the is_aggregator is set to false, the Merchant has a direct relationship with the bank and the responsibility for settlement of funds lies with both of those parties.

Error Detail [Child Object]

The table below lists the various parameters in the error_detail child object. This object is part of the payments object.

Parameter Type Description
code string The error short Code.

Example: PAYMENT_DECLINED
message string Error description explaining why the error occurred.

Example: Transaction declined due to insufficient balance

Capture Data [Child Object]

The table below lists the various parameters in the capture_details child object. This object is part of the payments object.

Parameter Type Description
merchant_capture_reference string Unique identifier passed while creating the capture payment request.

Example: 5742ef1e-4606-4c11-5757-705f4d415b6d
capture_amount object An object that contains the capture amount details.

Learn more about our capture_amount child object.
created_at string The ISO 8601 UTC Timestamp, when the amount was captured.

Example: 2024-07-11T11:52:12.484105Z

Capture Amount [Child Object]

The table below lists the various parameters in the capture_amount child object. This object is part of the capture_data object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
offer_details object An object that contains the offer details.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 object.

Parameter Type Description
id String Unique identifier of the issuer id in the Pine Labs 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:
  • CC_BANK
  • DC_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.

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 Pine Labs 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:
  • MONTH
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.
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.
downpayment_details object An object that contains the downpayment details.

Learn more about our downpayment_details child object.
emi_type strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC
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
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.
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.
downpayment_amount object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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 is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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: INSTANT

Accepted values:
  • INSTANT
  • POST
offer_type string Type of the offer.

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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:
  • INSTANT
  • DEFERRED
percentage Double The discount percentage provided by the offering entity.

Example: 16.90
amount string Discount amount.

Example: 2000
discount_deferred_duration_value integer The duration value for the deferred discount.

Example:
discount_deferred_duration_type string Discount duration type deferred.

Possible values:
  • DAY
  • MONTH
breakup object An object that contains the product offer details with breakup.

Learn more about the breakup child object.
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 breakup child object.
issuer object An object that contains the issuer breakup details.

Learn more about the breakup child object.
brand object An object that contains the brand breakup details.

Learn more about the breakup child object.
dealer object An object that contains the dealer breakup details.

Learn more about the breakup 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 issure 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
integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

After Downpayment Reduced Produt Amount [Child Object]

The table below lists the various parameters in the after_downpayment_reduced_product_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

6.3. Tokenized EMI

Use the below payloads to process a payment with Tokenized EMI option.

Below are the sample requests and sample response for Create Payment API.

curl --request POST \
     --url https://pluraluat.v2.pinepg.in/api/pay/v1/orders/order_id/payments \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payments": [
    {
      "merchant_payment_reference": "90ebdd5d-a2f7-4402-9226-0f3ccd47cd24",
      "payment_method": "CREDIT_EMI",
      "payment_amount": {
        "value": 219900,
        "currency": "INR"
      },
      "payment_option": {
        "card_token_details": {
          "name": "Kevin Bob",
          "last4_digit": "4123",
          "cvv": "123",
          "expiry_month": "03",
          "expiry_year": "2030",
          "token": "4000000000001091",
          "cryptogram": "AgAAAGQkm6LsADcaAAA5gz4AAAA=",
          "token_txn_type": "ALT_TOKEN"
        }
      },
      "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
                }
              }
            ],
            "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,
            "downpayment_details": {
              "downpayment_amount": {
                "currency": "INR",
                "value": 200000
              }
            },
            "emi_type": "STANDARD"
          }
        }
      }
    }
  ]
}
'
curl --request POST \
     --url https://api.pluralpay.in/api/pay/v1/orders/{order_id}/payments \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payments": [
    {
      "merchant_payment_reference": "90ebdd5d-a2f7-4402-9226-0f3ccd47cd24",
      "payment_method": "CREDIT_EMI",
      "payment_amount": {
        "value": 219900,
        "currency": "INR"
      },
      "payment_option": {
        "card_token_details": {
          "name": "Kevin Bob",
          "last4_digit": "4123",
          "cvv": "123",
          "expiry_month": "03",
          "expiry_year": "2030",
          "token": "4000000000001091",
          "cryptogram": "AgAAAGQkm6LsADcaAAA5gz4AAAA=",
          "token_txn_type": "ALT_TOKEN"
        }
      },
      "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
                }
              }
            ],
            "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,
            "downpayment_details": {
              "downpayment_amount": {
                "currency": "INR",
                "value": 200000
              }
            },
            "emi_type": "STANDARD"
          }
        }
      }
    }
  ]
}
'
{
  "data": {
    "order_id": "v1-250319142620-aa-jbIX17",
    "merchant_order_reference": "093297a7-fdd4-4d51-9136-bfc68d014852",
    "type": "CHARGE",
    "status": "PENDING",
    "challenge_url": "https://d1xlb36glwfkxz.cloudfront.net/debit-acs/?args=GcS6MMsuhGjGCoa5BQsRl6DUlcH81OtWUDpG7KWDkNQ%3D",
    "merchant_id": "111163",
    "order_amount": {
      "value": 219900,
      "currency": "INR"
    },
    "pre_auth": false,
    "allowed_payment_methods": [
      "CARD",
      "NETBANKING",
      "CREDIT_EMI",
      "UPI",
      "WALLET",
      "DEBIT_EMI",
      "CARDLESS_EMI",
      "POINTS"
    ],
    "purchase_details": {
      "customer": {
        "email_id": "[email protected]",
        "first_name": "Anoop",
        "last_name": "Pandey",
        "customer_id": "cust-v1-250218121918-aa-uAaCdZ",
        "mobile_number": "7973058466",
        "country_code": "91",
        "billing_address": {
          "address1": "H.No 15, Sector 17",
          "pincode": "61232112",
          "city": "CHANDIGARH",
          "state": "PUNJAB",
          "country": "INDIA"
        },
        "shipping_address": {
          "address1": "H.No 15, Sector 17",
          "pincode": "160036",
          "city": "CHANDIGARH",
          "state": "PUNJAB",
          "country": "INDIA"
        },
        "is_edit_customer_details_allowed": false,
        "status": "ACTIVE",
        "created_at": "2025-02-18T12:19:18.240371Z",
        "updated_at": "2025-02-18T12:19:18.240382Z"
      }
    },
    "payments": [
      {
        "id": "v1-250319142620-aa-jbIX17-cle-a",
        "merchant_payment_reference": "1bc6e6d1-908e-4ee9-bedc-5b8d5d3943f7",
        "status": "PENDING",
        "payment_amount": {
          "value": 219900,
          "currency": "INR"
        },
        "payment_method": "CREDIT_EMI",
        "acquirer_data": {
          "approval_code": "",
          "acquirer_reference": "",
          "rrn": "",
          "is_aggregator": false
        },
        "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
                  }
                }
              ],
              "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,
              "emi_type": "STANDARD",
              "downpayment_details": {
                "downpayment_amount": {
                  "currency": "INR",
                  "value": 200000
                }
              }
            }
          }
        },
        "created_at": "2025-03-19T14:26:36.680Z",
        "updated_at": "2025-03-19T14:26:41.193Z"
      }
    ],
    "created_at": "2025-03-19T14:26:20.064Z",
    "updated_at": "2025-03-19T14:26:41.193Z",
    "integration_mode": "SEAMLESS",
    "payment_retries_remaining": 9
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

Path Parameter

The table below lists the path parameters of our Create Payment API.

Parameter Type Description
order_id required string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd

Request Parameters

The table below lists the request parameters of our Create Payment API.

Parameter Type Description
Payments required array of objects An array of objects that contains the payment details.

Learn more about our payments child object.

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the create payment request object.

Parameter Type Description
merchant_payment_reference required string Unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
payment_method required string Type of payment method you want to use to accept a payment.

Accepted values:
  • CREDIT_EMI
  • DEBIT_EMI
Example: CREDIT_EMI
payment_amount required object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_option required object An object that contains the details of the payment options.

You can use either card_details or card_token_details as a payment option.

Note: One object is mandatory to process the request.

Learn more about our payment_option child object.
offer_data object An object that contains details related to the offer.

Learn more about our offer_data child object.

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value required integer The payment amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 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 payments object.

Parameter Type Description
card_token_details object An object that contains the card details.

Learn more about the card_details child object.
Card Token Details [Child Object]

The table below lists the various parameters in the card_token_details child object. This object is part of the payment_option object.

Parameter Type Description
name requiredstringName on the card.
  • Minimum length: 1 character.
  • Maximum length: 100 characters.
Example: Kevin
last4_digit requiredstringLast 4 digit of the card number.

Example: 1234
cvv requiredstringCard Verification Value [CVV] of the card.
  • Minimum length: 3 digits.
  • Maximum length:4 digits.
Example: 123

Supported characters: 0-9
expiry_month requiredstringCard expiry month.

Has to be 2 digits.

Example: 08

Supported characters: 0-9
expiry_year requiredstringCard expiry year.

Has to be 4 digits.

Example: 2024

Supported characters: 0-9
tokenstringUnique identifier of the card as per the token transaction type.
  • Minimum: 1 characters.
  • Maximum: 50 characters.
Example: 0342ef1e0342ef1e
cryptogramstringUnique encrypted text.
  • Minimum: 1 characters.
  • Maximum: 50 characters.
Example: wAAAAAAl9SX1HsAmWKSgqwAAAA
token_txn_typestringThe type of token transaction.
  • ALT_TOKEN
  • NETWORK_TOKEN
  • ISSUER_TOKEN
Example: ALT_TOKEN

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 Unique identifier of the issuer id in the Pine Labs database.

Example: 23
name string Name of the Issuer.

Example: INDUSIND CC
issuer_type string The type of the Issuer offering the offer.

Example:
  • CC_BANK
  • DC_BANK
priority string The priority of the issuer providing the offer.

Example: 1
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 object.

Parameter Type Description
tenure_id required string Tenure id in the Pine Labs database.

Example: 1
name required string The name of the Issuer offering the offer.

Example: 3 Months
tenure_type required string The type of the Tenure.

Accepted value:
  • MONTH
tenure_value integer The value of the tenure.

Example: 3
issuer_offer_parameters required array of objects 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.
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 required integer Interest rate percentage for the tenure.

Example: 16.90
processing_fee_details object Processing fee details for the tenure.

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 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.
downpayment_details required object An object that contains the downpayment details.

Learn more about our downpayment_details child object.
emi_type required strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD

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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC

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.
downpayment_amount required object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount required object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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 is part of the details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the product_details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR

After Downpayment Reduced Produt Amount [Child Object]

The table below lists the various parameters in the after_downpayment_reduced_product_amount child object. This object is part of the product_details object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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: INSTANT

Accepted values:
  • INSTANT
  • POST
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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.
merchant object An object that contains the breakup details of the merchant.

Learn more about the merchant child object.
issuer object An object that contains the breakup details of the issuer.

Learn more about the issuer child object.
dealer object An object that contains the breakup details of the dealer.

Learn more about the dealer 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the merchant.

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 merchant object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the issuer.

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 issuer object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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 details of the dealer.

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 issuer object.

Parameter Type Description
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Maximum 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Minimum 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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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:
  • INSTANT
  • DEFERRED
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:
  • DAY
  • MONTH
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
brand object An object that contains the brand breakup details.

Learn more about the brand child object.
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.
dealer object An object that contains the dealer breakup details.

Learn more about the dealer 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.
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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.
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
Issuer [Child Object]
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
Valuevalue required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required string Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR
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
value required integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency required String Type of currency.

Example: INR

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value required integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency required string Type of currency.

Example: INR

The table below lists the various parameters returned in the Create Payment response objects.

Parameter Type Description
order_id string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd
merchant_order_reference string Unique identifier entered while creating an order.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 82d57572-057c-4826-5775-385a52150554
type string Payment type.

Possible values:
  • CHARGE
  • REFUND
status string Order status.

Possible values:
  • CREATED: When the order is successfully created.
  • PENDING: When the order is linked against a payment request.
  • PROCESSED: When the payment is received successfully.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • ATTEMPTED: When the payment is unsuccessful due to incorrect OTP. You can retry OTP verification until the payment gets failed.
  • FAILED: Payment acceptance failed for reasons such as cancel transactions, maximum retries for OTP verification etc.
  • FULLY_REFUNDED: When the payment is completely refunded.
  • PARTIALLY_REFUNDED: When the partial refund is successful.
challenge_url string Use the generated challenge_url URL to navigate your users to the checkout page.
merchant_id string Unique identifier of the merchant in Pine Labs database.

Example: 123456
order_amount object An object that contains the transaction amount details.

Learn more about our order_amount child object.
pre_auth boolean The pre-authorization type.

Possible values:
  • true: When pre-authorization is needed.
  • false: When pre-authorization is not required.
Example: false

Learn more about our pre-authorization.
allowed_payment_methods array of strings The type of payment methods you want to offer your customers to accept payments.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
Example: CARD

Note: Before selecting a payment method, ensure it is configured for you.
notes string The note you want to show against an order.

Example: Order1
callback_url string Use this URL to redirect your customers to specific success or failure pages based on the order or product details.

Example: https://sample-callback-url
purchase_details object An object that contains the purchase details.

Learn more about our purchase_details child object.

Note: The presence of the key-values pairs in this object depends on the Input request.
payments array of objects An array of objects that contains the payment details.

Learn more about our payments child object.

Note: Payments response object can vary based on the payment methods and payment status.
created_at string The ISO 8601 UTC Timestamp, when the create order request was received by Pine Labs.

Example: 2024-07-09T07:57:08.022Z
updated_at string The ISO 8601 UTC Timestamp, when the order response object is updated.

Example: 2024-07-09T07:57:08.022Z
integration_mode string Type of integration mode you wish to integrate with.

Accepted values:
  • REDIRECT
  • SEAMLESS
  • IFRAME
payment_retries_remaining integer Payment attempts remaining on the order.

Example: 9

Order Amount [Child Object]

The table below lists the various parameters in the order_amount child object. This object is part of the payments sample response object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Purchase Details [Child Object]

The table below lists the various parameters in the purchase_details child object. This object is part of the payments sample response object.

Parameter Type Description
customer Object An object that contains the customer details.

Learn more about our customer child object.
merchant_metadata object An object of key-value pair that can be used to store additional information.

Example: "key1": "DD"

Customer [Child Object]

The table below lists the various parameters in the customer child object. This is part of the purchase_details object.

Parameter Type Description
email_id string Customer's email address.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: [email protected]
first_name string Customer's first name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Kevin
last_name string Customer's last name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Bob
customer_id string Unique identifier of the customer in the Pine Labs database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
mobile_number string Customer's mobile number.
  • Minimum length: 10 characters.
  • Maximum length: 20 characters.
Example: 9876543210

Supported characters: 0-9
billing_address object An object that contains the details of the billing address.

Learn more about our billing_address child object.
shipping_address object An object that contains the shipping address details.

Learn more about our shipping_address child object.

Billing Address [Child Object]

The table below lists the various parameters in the billing_address child object. This is part of the customer object.

Parameter Type Description
address1 string Customer's billing address1.
  • Maximum length: 100 characters.
Example: 10 Downing Street Westminster London
address2 string Customer's billing address2.
  • Maximum length: 100 characters.
Example: Oxford Street Westminster London
address3 string Customer's billing address3.
  • Maximum length: 100 characters.
Example: Baker Street Westminster London
pincode string Pincode of the billing address.
  • Maximum length: 10 characters.
Example: 51524036
city string City of the billing address.
  • Maximum length: 50 characters.
Example: Westminster
state string State of the billing address.
  • Maximum length: 50 characters.
Example: Westminster
country string Country of the billing address.
  • Maximum length: 50 characters.
Example: London

Shipping Address [Child Object]

The table below lists the various parameters in the shipping_address child object. This is part of the customer object.

Parameter Type Description
address1 string Customer's shipping address1.
  • Maximum length: 100 characters.
Example: 10 Downing Street Westminster London
address2 string Customer's shipping address2.
  • Maximum length: 100 characters.
Example: Oxford Street Westminster London
address3 string Customer's shipping address3.
  • Maximum length: 100 characters.
Example: Baker Street Westminster London
pincode string Pincode of the shipping address.
  • Maximum length: 10 characters.
Example: 51524036
city string City of the shipping address.
  • Maximum length: 50 characters.
Example: Westminster
state string State of the shipping address.
  • Maximum length: 50 characters.
Example: Westminster
country string Country of the shipping address.
  • Maximum length: 50 characters.
Example: London

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the payments sample response object.

Parameter Type Description
id string Unique identifier of the payment in the Pine Labs database.
  • Maximum length: 50 characters.
Example: v1-5206071124-aa-mpLhF3-cc-l
merchant_payment_reference string A unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
status string Payment status.

Possible values:
  • PENDING: When the create payment API request is successfully received by Pine Labs.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • PROCESSED: When the payment is successfully received by Pine Labs.
  • FAILED: When the payment fails, this can be for many reasons such as canceling payments, etc.
Example: PENDING
payment_amount object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_method string Type of payment method.

Accepted values:
  • CREDIT_EMI
  • DEBIT_EMI
  • CARDLESS_EMI
Example: CREDIT_EMI
payment_option object An object that contains the details of the payment options.

Learn more about our payment_option child object.
acquirer_data object An object that contains the details of the acquirer data.

Learn more about our acquirer_data child object.
error_detail object An object that contains the error details.

Learn more about our error_detail child object.

Note: This object is returned only for the failed payment.
capture_data object An object that contains the details of the capture data.

Learn more about our capture_data child object.

Note: The presence of the key-value pairs against this object depends on the pre-authorization type.
offer_data object An object that contains the offer details.

Learn more about our offer_data child object.
created_at string The ISO 8601 UTC Timestamp, when the create payment request was received by Pine Labs.

Example: 2024-07-11T06:52:12.484Z
updated_at string The ISO 8601 UTC Timestamp, when the payment response object is updated.

Example: 2024-07-11T06:59:38.260Z

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
card_data object An object that contains the card details.

Learn more about our card_data child object.

Card Data [Child Object]

The table below lists the various parameters in the card_data child object. This object is part of the payment_option object.

Parameter Type Description
card_type string Type of card.

Possible values:
  • DEBIT
  • CREDIT
Example: CREDIT
network_name string Card network providers.

Example: VISA
issuer_name string Card issuer entity.

Example: HDFC
card_category string The card category type.

Possible values:
  • CONSUMER
  • COMMERCIAL
  • PREMIUM
  • SUPER_PREMIUM
  • PLATINUM
  • OTHER
  • BUSINESS
  • GOVERNMENT_NOTES
  • PAYOUTS
  • ELITE
  • STANDARD
country_code string Card issuers Country.

Example: IND
token_txn_type string Transaction token type.

Possible values:
  • ALT_TOKEN
  • NETWORK_TOKEN
  • ISSUER_TOKEN
Example: ALT_TOKEN

Acquirer Data [Child Object]

The table below lists the various parameters in the acquirer_data child object. This object is part of the payments object.

Parameter Type Description
approval_code string Authorization code returned from acquirer against the payment.

Example: 030376
acquirer_reference string Unique reference returned from acquirer for the payment.

Example: 202455840588334
rrn string Retrieval reference number returned from acquirer for the payment.

Example: 419335023601
is_aggregator boolean The selected aggregator model type.

Accepted values:
  • true: Pine Labs is responsible for settling funds related to this payment.
  • false: Pine Labs is not responsible for settling funds related to this payment.
Note:
  • When the is_aggregator is set to true, Pine Labs acts as the acquirer on behalf of merchants, receiving funds from banks into a designated "Nodal Account".
  • When the is_aggregator is set to false, the Merchant has a direct relationship with the bank and the responsibility for settlement of funds lies with both of those parties.

Error Detail [Child Object]

The table below lists the various parameters in the error_detail child object. This object is part of the payments object.

Parameter Type Description
code string The error short Code.

Example: PAYMENT_DECLINED
message string Error description explaining why the error occurred.

Example: Transaction declined due to insufficient balance

Capture Data [Child Object]

The table below lists the various parameters in the capture_details child object. This object is part of the payments object.

Parameter Type Description
merchant_capture_reference string Unique identifier passed while creating the capture payment request.

Example: 5742ef1e-4606-4c11-5757-705f4d415b6d
capture_amount object An object that contains the capture amount details.

Learn more about our capture_amount child object.
created_at string The ISO 8601 UTC Timestamp, when the amount was captured.

Example: 2024-07-11T11:52:12.484105Z

Capture Amount [Child Object]

The table below lists the various parameters in the capture_amount child object. This object is part of the capture_data object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
offer_details object An object that contains the offer details.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 object.

Parameter Type Description
id String Unique identifier of the issuer id in the Pine Labs 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:
  • CC_BANK
  • DC_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.

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 Pine Labs 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:
  • MONTH
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.
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.
downpayment_details object An object that contains the downpayment details.

Learn more about our downpayment_details child object.
emi_type strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC
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
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.
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.
downpayment_amount object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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 is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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: INSTANT

Accepted values:
  • INSTANT
  • POST
offer_type string Type of the offer.

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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:
  • INSTANT
  • DEFERRED
percentage Double The discount percentage provided by the offering entity.

Example: 16.90
amount string Discount amount.

Example: 2000
discount_deferred_duration_value integer The duration value for the deferred discount.

Example:
discount_deferred_duration_type string Discount duration type deferred.

Possible values:
  • DAY
  • MONTH
breakup object An object that contains the product offer details with breakup.

Learn more about the breakup child object.
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 breakup child object.
issuer object An object that contains the issuer breakup details.

Learn more about the breakup child object.
brand object An object that contains the brand breakup details.

Learn more about the breakup child object.
dealer object An object that contains the dealer breakup details.

Learn more about the breakup 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 issure 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
integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

After Downpayment Reduced Produt Amount [Child Object]

The table below lists the various parameters in the after_downpayment_reduced_product_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Refer to our Create Payment API documentation to learn more.


7. Handle Payment

In create payment API response we return a challenge_url, use this challenge url to navigate your customers to the checkout page to accept payment.

📘

Note:

  • On successful payment we send the webhook event ORDER_AUTHORIZED and the status of the payment is updated to authorized.
  • You can capture or cancel an order only when the order status is authorized.

7.1 Store Payment Details on Your Server

On a successful and failed payment, we return the following fields to the return url.

  • We recommend you to store the payment details on your server.
  • You must validate the authenticity of the payment details returned. You can authenticate by verifying the signature.
{
  "order_id": "v1-4405071524-aa-qlAtAf",
  "status": "AUTHORIZED",
  "signature": "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"
}
{
  "order_id": "v1-4405071524-aa-qlAtAf",
  "status": "AUTHORIZED",
  "error_code": "USER_AUTHENTICATION_REQUIRED",
  "error_message": "Consumer Authentication Required",
  "signature": "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"
}

7.2 Verify Payment Signature

Ensure you follow this as a mandatory step to verify the authenticity of the details returned to the checkout form for successful payments.

Follow the below steps to verify the signature.

  1. Create a signature on your server using the following parameters using the SHA256 algorithm.
    1. order_id: Unique Identifier generated for an order request on Plural database.
    2. payment_status: Payment status.
    3. error_code: Short code for the error returned.
    4. error_message: Corresponding error message for the code.
    5. secret_key: The Onboarding team has provided you with this information as part of the onboarding process.

Use the below sample code to construct HashMap signature using the SHA256 algorithm.

import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
 
public class hash {
    public static void main(String[] args) {
        // Test the GenerateHash method
        String input = "<string>";
        String secretKey = "<secret_key>";  // Example key in hex
 
        String hash = GenerateHash(input, secretKey);
        System.out.println("Generated Hash: " + hash);
    }
    public static String GenerateHash(String input, String strSecretKey) {
        String strHash = "";
        try {
            if (!isValidString(input) || !isValidString(strSecretKey)) {
                return strHash;
            }
            byte[] convertedHashKey = new byte[strSecretKey.length() / 2];
 
            for (int i = 0; i < strSecretKey.length() / 2; i++) {
                convertedHashKey[i] =
                        (byte)Integer.parseInt(strSecretKey.substring(i * 2, (i*2)+2),16); //hexNumber radix
            }
            strHash = hmacDigest(input.toString(), convertedHashKey,
                    "HmacSHA256");
        } catch (Exception ex) {
            strHash = "";
        }
        return strHash.toUpperCase();
    }
    private static String hmacDigest(String msg, byte[] keyString, String algo) {
        String digest = null;
        try {
            SecretKeySpec key = new SecretKeySpec(keyString, algo);
            Mac mac = Mac.getInstance(algo);
            mac.init(key);
            byte[] bytes = mac.doFinal(msg.getBytes("UTF-8"));
            StringBuffer hash = new StringBuffer();
            for (int i = 0; i < bytes.length; i++) {
                String hex = Integer.toHexString(0xFF & bytes[i]);
                if (hex.length() == 1) {
                    hash.append('0');
                }
                hash.append(hex);
            }
            digest = hash.toString();
        } catch (UnsupportedEncodingException e) {
// logger.error("Exception occured in hashing the pine payment gateway request"+e);
        } catch (InvalidKeyException e) {
// logger.error("Exception occured in hashing the pine payment gateway request"+e);
        } catch (NoSuchAlgorithmException e) {
// logger.error("Exception occured in hashing the pine payment gateway request"+e);
        }
        return digest;
    }
    public static boolean isValidString(String str){
        if(str != null && !"".equals(str.trim())){
            return true;
        }
        return false;
    }
}

📘

Note:

To create a request string, format the key-value pairs of data returned to the return URL. The pairs are separated by & and arranged in ascending order based on a lexicographical comparison of the keys.

Shown below is a example to create a request string.

"key1=value1&key2=value2", ["order_id=random_order_id&status=AUTHORIZED"]
"key1=value1&key2=value2&key3=value3&key4=value4", ["error_code=USER_AUTHENTICATION_FAILED&error_message=Consumer Authentication required&order_id=<order_id>&status=FAILED"]
  1. If the signature generated on your server matches the Plural signature returned in the return URL, it confirms that the payment details are from Plural.
  2. Capture the status returned on your database. Once the payment status is AUTHORIZED you can either capture or cancel an order.

8. Get Order by Order ID

Use this API to retrieve the order by order ID.

Below are the sample requests and sample response for Get Order by Order ID API.

curl --request GET \
     --url https://pluraluat.v2.pinepg.in/api/pay/v1/orders/v1-4405071524-aa-qlAtAf \
     --header 'accept: application/json'
curl --request GET \
     --url https://api.pluralpay.in/api/pay/v1/orders/v1-4405071524-aa-qlAtAf \
     --header 'accept: application/json'
{
  "data":{
    "order_id":"v1-250124055307-aa-6OZ8sm",
    "merchant_order_reference":"53cf1451-4dfd-417d-a1c8-c8bd603d5200",
    "type":"CHARGE",
    "status":"PENDING",
    "challenge_url":"https://pluraluat.v2.pinepg.in/web/auth/landing/?token=S50f2FXi%2FYAGe2bLZEW%2FA2VHzXthz0m9igmtsP61ODtY5u4pR6RYB5IlJwK0%2Fuo%2FBs9",
    "merchant_id":"111163",
    "order_amount":{
      "value":1600000,
      "currency":"INR"
    },
    "pre_auth":false,
    "callback_url":"https://sample-callback-url",
    "failure_callback_url": "https://sample-failure-callback-url",
    "allowed_payment_methods":[
      "CARD",
      "UPI",
      "NETBANKING",
      "POINTS",
      "WALLET"
    ],
    "purchase_details":{
      "customer":{
        "country_code":"91",
        "billing_address":{
          
        },
        "shipping_address":{
          
        },
        "is_edit_customer_details_allowed":false
      }
    },
    "payments":[
      {
        "id":"v1-250124055307-aa-6OZ8sm-ce-a",
        "merchant_payment_reference":"c7a7f778-b68f-462b-a6af-50698df12a4a",
        "status":"FAILED",
        "payment_amount":{
          "value":1550000,
          "currency":"INR"
        },
        "payment_method":"CREDIT_EMI",
        "offer_data":{
          "offer_details":{
            "id":"6",
            "name":"HDFC CC",
            "issuer_type":"CC_BANK",
            "priority":1,
            "tenure":{
              "tenure_id":"1",
              "name":"3 Months",
              "tenure_type":"MONTH",
              "tenure_value":3,
              "issuer_offer_parameters":[
                {
                  "program_type":"BANK_EMI",
                  "offer_id":"1803",
                  "offer_parameter_id":"72559"
                },
                {
                  "program_type":"MERCHANT_BANK_OFFER",
                  "offer_id":"1523",
                  "offer_parameter_id":"63566"
                }
              ],
              "details":[
                
              ],
              "discount":{
                "discount_type":"INSTANT",
                "amount":{
                  "currency":"INR",
                  "value":50000
                },
                "breakup":{
                  "merchant":{
                    
                  },
                  "issuer":{
                    
                  },
                  "brand":{
                    
                  },
                  "dealer":{
                    
                  }
                }
              },
              "auth_amount":{
                "currency":"INR",
                "value":1550000
              },
              "loan_amount":{
                "currency":"INR",
                "value":1550000
              },
              "total_discount_amount":{
                "currency":"INR",
                "value":50000
              },
              "net_payment_amount":{
                "currency":"INR",
                "value":1601952
              },
              "monthly_emi_amount":{
                "currency":"INR",
                "value":533984
              },
              "total_emi_amount":{
                "currency":"INR",
                "value":1601952
              },
              "interest_amount":{
                "currency":"INR",
                "value":51952
              },
              "interest_rate_percentage":20,
              "processing_fee_details":{
                "amount":{
                  "currency":"INR",
                  "value":19900
                }
              },
              "processing_fee_amount":{
                "currency":"INR",
                "value":19900
              },
              "emi_type":"STANDARD"
            }
          }
        },
        "error_detail":{
          "code":"INTERNAL_ERROR",
          "message":"Payment processor is unavailable"
        },
        "created_at":"2025-01-24T05:53:24.476Z",
        "updated_at":"2025-01-24T05:53:25.492Z"
      },
      {
        "id":"v1-250124055307-aa-6OZ8sm-ce-b",
        "merchant_payment_reference":"32e3ba62-bb95-41bb-be81-1b87ab96c0ed",
        "status":"PENDING",
        "payment_amount":{
          "value":1550000,
          "currency":"INR"
        },
        "payment_method":"CREDIT_EMI",
        "payment_option":{
          "card_data":{
            "card_type":"CREDIT",
            "network_name":"VISA",
            "issuer_name":"INTL HDQTRS-CENTER OWNED",
            "card_category":"Consumer",
            "country_code":"IND",
            "token_txn_type":"ALT_TOKEN",
            "save":false
          }
        },
        "acquirer_data":{
          "approval_code":"",
          "acquirer_reference":"",
          "rrn":"",
          "is_aggregator":true
        },
        "offer_data":{
          "offer_details":{
            "id":"6",
            "name":"HDFC CC",
            "issuer_type":"CC_BANK",
            "priority":1,
            "tenure":{
              "tenure_id":"1",
              "name":"3 Months",
              "tenure_type":"MONTH",
              "tenure_value":3,
              "issuer_offer_parameters":[
                {
                  "program_type":"BANK_EMI",
                  "offer_id":"1803",
                  "offer_parameter_id":"72559"
                },
                {
                  "program_type":"MERCHANT_BANK_OFFER",
                  "offer_id":"1523",
                  "offer_parameter_id":"63566"
                }
              ],
              "details":[
                
              ],
              "discount":{
                "discount_type":"INSTANT",
                "amount":{
                  "currency":"INR",
                  "value":50000
                },
                "breakup":{
                  "merchant":{
                    
                  },
                  "issuer":{
                    
                  },
                  "brand":{
                    
                  },
                  "dealer":{
                    
                  }
                }
              },
              "auth_amount":{
                "currency":"INR",
                "value":1550000
              },
              "loan_amount":{
                "currency":"INR",
                "value":1550000
              },
              "total_discount_amount":{
                "currency":"INR",
                "value":50000
              },
              "net_payment_amount":{
                "currency":"INR",
                "value":1601952
              },
              "monthly_emi_amount":{
                "currency":"INR",
                "value":533984
              },
              "total_emi_amount":{
                "currency":"INR",
                "value":1601952
              },
              "interest_amount":{
                "currency":"INR",
                "value":51952
              },
              "interest_rate_percentage":20,
              "processing_fee_details":{
                "amount":{
                  "currency":"INR",
                  "value":19900
                }
              },
              "processing_fee_amount":{
                "currency":"INR",
                "value":19900
              },
              "emi_type":"STANDARD"
            }
          }
        },
        "created_at":"2025-01-24T05:53:58.092Z",
        "updated_at":"2025-01-24T05:53:59.679Z"
      }
    ],
    "created_at":"2025-01-24T05:53:07.740Z",
    "updated_at":"2025-01-24T05:53:59.680Z",
    "integration_mode":"SEAMLESS",
    "payment_retries_remaining":8
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

Path Parameter

The table below lists the path parameters of our Get Order by Order ID API.

Parameter Type Description
order_id required string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd

The table below lists the various parameters returned in our Get Order by Order ID API.

Parameter Type Description
order_id string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd
merchant_order_reference string Unique identifier entered while creating an order.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: 82d57572-057c-4826-5775-385a52150554
type string Payment type.

Possible values:
  • CHARGE
  • REFUND
status string Order status.

Possible values:
  • CREATED: When the order is successfully created.
  • PENDING: When the order is linked against a payment request.
  • PROCESSED: When the payment is received successfully.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • ATTEMPTED: When the payment is unsuccessful due to incorrect OTP. You can retry OTP verification until the payment gets failed.
  • FAILED: Payment acceptance failed for reasons such as cancel transactions, maximum retries for OTP verification etc.
  • FULLY_REFUNDED: When the payment is completely refunded.
  • PARTIALLY_REFUNDED: When the partial refund is successful.
challenge_url string Use the generated challenge_url URL to navigate your users to the checkout page.
merchant_id string Unique identifier of the merchant in Pine Labs database.

Example: 123456
order_amount object An object that contains the transaction amount details.

Learn more about our order_amount child object.
pre_auth boolean The pre-authorization type.

Possible values:
  • true: When pre-authorization is needed.
  • false: When pre-authorization is not required.
Example: false

Learn more about our pre-authorization.
allowed_payment_methods array of strings The type of payment methods you want to offer your customers to accept payments.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
Example: CARD

Note: Before selecting a payment method, ensure it is configured for you.
notes string The note you want to show against an order.

Example: Order1
callback_url string Use this URL to redirect your customers to specific success or failure pages based on the order or product details.

Example: https://sample-callback-url
purchase_details object An object that contains the purchase details.

Learn more about our purchase_details child object.

Note: The presence of the key-values pairs in this object depends on the Input request.
payments array of objects An array of objects that contains the payment details.

Learn more about our payments child object.

Note: Payments response object can vary based on the payment methods and payment status.
created_at string The ISO 8601 UTC Timestamp, when the create order request was received by Pine Labs.

Example: 2024-07-09T07:57:08.022Z
updated_at string The ISO 8601 UTC Timestamp, when the order response object is updated.

Example: 2024-07-09T07:57:08.022Z
integration_mode string Type of integration mode you wish to integrate with.

Accepted values:
  • REDIRECT
  • SEAMLESS
  • IFRAME
payment_retries_remaining integer Payment attempts remaining on the order.

Example: 9

Order Amount [Child Object]

The table below lists the various parameters in the order_amount child object. This object is part of the payments sample response object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Purchase Details [Child Object]

The table below lists the various parameters in the purchase_details child object. This object is part of the payments sample response object.

Parameter Type Description
customer Object An object that contains the customer details.

Learn more about our customer child object.
merchant_metadata object An object of key-value pair that can be used to store additional information.

Example: "key1": "DD"

Customer [Child Object]

The table below lists the various parameters in the customer child object. This is part of the purchase_details object.

Parameter Type Description
email_id string Customer's email address.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: [email protected]
first_name string Customer's first name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Kevin
last_name string Customer's last name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Bob
customer_id string Unique identifier of the customer in the Pine Labs database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
mobile_number string Customer's mobile number.
  • Minimum length: 10 characters.
  • Maximum length: 20 characters.
Example: 9876543210

Supported characters: 0-9
billing_address object An object that contains the details of the billing address.

Learn more about our billing_address child object.
shipping_address object An object that contains the shipping address details.

Learn more about our shipping_address child object.

Billing Address [Child Object]

The table below lists the various parameters in the billing_address child object. This is part of the customer object.

Parameter Type Description
address1 string Customer's billing address1.
  • Maximum length: 100 characters.
Example: 10 Downing Street Westminster London
address2 string Customer's billing address2.
  • Maximum length: 100 characters.
Example: Oxford Street Westminster London
address3 string Customer's billing address3.
  • Maximum length: 100 characters.
Example: Baker Street Westminster London
pincode string Pincode of the billing address.
  • Maximum length: 10 characters.
Example: 51524036
city string City of the billing address.
  • Maximum length: 50 characters.
Example: Westminster
state string State of the billing address.
  • Maximum length: 50 characters.
Example: Westminster
country string Country of the billing address.
  • Maximum length: 50 characters.
Example: London

Shipping Address [Child Object]

The table below lists the various parameters in the shipping_address child object. This is part of the customer object.

Parameter Type Description
address1 string Customer's shipping address1.
  • Maximum length: 100 characters.
Example: 10 Downing Street Westminster London
address2 string Customer's shipping address2.
  • Maximum length: 100 characters.
Example: Oxford Street Westminster London
address3 string Customer's shipping address3.
  • Maximum length: 100 characters.
Example: Baker Street Westminster London
pincode string Pincode of the shipping address.
  • Maximum length: 10 characters.
Example: 51524036
city string City of the shipping address.
  • Maximum length: 50 characters.
Example: Westminster
state string State of the shipping address.
  • Maximum length: 50 characters.
Example: Westminster
country string Country of the shipping address.
  • Maximum length: 50 characters.
Example: London

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the payments sample response object.

Parameter Type Description
id string Unique identifier of the payment in the Pine Labs database.
  • Maximum length: 50 characters.
Example: v1-5206071124-aa-mpLhF3-cc-l
merchant_payment_reference string A unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
status string Payment status.

Possible values:
  • PENDING: When the create payment API request is successfully received by Pine Labs.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • PROCESSED: When the payment is successfully received by Pine Labs.
  • FAILED: When the payment fails, this can be for many reasons such as canceling payments, etc.
Example: PENDING
payment_amount object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_method string Type of payment method.

Accepted values:
  • CREDIT_EMI
  • DEBIT_EMI
  • CARDLESS_EMI
Example: CREDIT_EMI
payment_option object An object that contains the details of the payment options.

Learn more about our payment_option child object.
acquirer_data object An object that contains the details of the acquirer data.

Learn more about our acquirer_data child object.
error_detail object An object that contains the error details.

Learn more about our error_detail child object.

Note: This object is returned only for the failed payment.
capture_data object An object that contains the details of the capture data.

Learn more about our capture_data child object.

Note: The presence of the key-value pairs against this object depends on the pre-authorization type.
offer_data object An object that contains the offer details.

Learn more about our offer_data child object.
created_at string The ISO 8601 UTC Timestamp, when the create payment request was received by Pine Labs.

Example: 2024-07-11T06:52:12.484Z
updated_at string The ISO 8601 UTC Timestamp, when the payment response object is updated.

Example: 2024-07-11T06:59:38.260Z

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
card_data object An object that contains the card details.

Learn more about our card_data child object.

Card Data [Child Object]

The table below lists the various parameters in the card_data child object. This object is part of the payment_option object.

Parameter Type Description
card_type string Type of card.

Possible values:
  • DEBIT
  • CREDIT
Example: CREDIT
network_name string Card network providers.

Example: VISA
issuer_name string Card issuer entity.

Example: HDFC
card_category string The card category type.

Possible values:
  • CONSUMER
  • COMMERCIAL
  • PREMIUM
  • SUPER_PREMIUM
  • PLATINUM
  • OTHER
  • BUSINESS
  • GOVERNMENT_NOTES
  • PAYOUTS
  • ELITE
  • STANDARD
country_code string Card issuers Country.

Example: IND
token_txn_type string Transaction token type.

Possible values:
  • ALT_TOKEN
  • NETWORK_TOKEN
  • ISSUER_TOKEN
Example: ALT_TOKEN

Acquirer Data [Child Object]

The table below lists the various parameters in the acquirer_data child object. This object is part of the payments object.

Parameter Type Description
approval_code string Authorization code returned from acquirer against the payment.

Example: 030376
acquirer_reference string Unique reference returned from acquirer for the payment.

Example: 202455840588334
rrn string Retrieval reference number returned from acquirer for the payment.

Example: 419335023601
is_aggregator boolean The selected aggregator model type.

Accepted values:
  • true: Pine Labs is responsible for settling funds related to this payment.
  • false: Pine Labs is not responsible for settling funds related to this payment.
Note:
  • When the is_aggregator is set to true, Pine Labs acts as the acquirer on behalf of merchants, receiving funds from banks into a designated "Nodal Account".
  • When the is_aggregator is set to false, the Merchant has a direct relationship with the bank and the responsibility for settlement of funds lies with both of those parties.

Error Detail [Child Object]

The table below lists the various parameters in the error_detail child object. This object is part of the payments object.

Parameter Type Description
code string The error short Code.

Example: PAYMENT_DECLINED
message string Error description explaining why the error occurred.

Example: Transaction declined due to insufficient balance

Capture Data [Child Object]

The table below lists the various parameters in the capture_details child object. This object is part of the payments object.

Parameter Type Description
merchant_capture_reference string Unique identifier passed while creating the capture payment request.

Example: 5742ef1e-4606-4c11-5757-705f4d415b6d
capture_amount object An object that contains the capture amount details.

Learn more about our capture_amount child object.
created_at string The ISO 8601 UTC Timestamp, when the amount was captured.

Example: 2024-07-11T11:52:12.484105Z

Capture Amount [Child Object]

The table below lists the various parameters in the capture_amount child object. This object is part of the capture_data object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
offer_details object An object that contains the offer details.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 object.

Parameter Type Description
id String Unique identifier of the issuer id in the Pine Labs 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:
  • CC_BANK
  • DC_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.

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 Pine Labs 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:
  • MONTH
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.
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.
downpayment_details object An object that contains the downpayment details.

Learn more about our downpayment_details child object.
emi_type strings Type of EMI.

Example: STANDARD

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
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 Pine Labs 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:
  • Credit
  • Debit
  • Cardless
  • NBFC
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
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.
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.
downpayment_amount object An object that contains the downpayment amount details.

Learn more about the downpayment_amount child object.
after_downpayment_reduced_product_amount object An object that contains the product coupon discount details.

Learn more about the after_downpayment_reduced_product_amount 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_EMI

Accepted values:
  • BRAND_EMI
  • BANK_EMI
  • MERCHANT_BRAND_OFFER
  • MERCHANT_BANK_OFFER
  • BRAND_OFFER
  • MY_EMI
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 is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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: INSTANT

Accepted values:
  • INSTANT
  • POST
offer_type string Type of the offer.

Accepted values:
  • LOW_COST
  • NO_COST
  • STANDARD
percentage integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 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:
  • INSTANT
  • DEFERRED
percentage Double The discount percentage provided by the offering entity.

Example: 16.90
amount string Discount amount.

Example: 2000
discount_deferred_duration_value integer The duration value for the deferred discount.

Example:
discount_deferred_duration_type string Discount duration type deferred.

Possible values:
  • DAY
  • MONTH
breakup object An object that contains the product offer details with breakup.

Learn more about the breakup child object.
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 breakup child object.
issuer object An object that contains the issuer breakup details.

Learn more about the breakup child object.
brand object An object that contains the brand breakup details.

Learn more about the breakup child object.
dealer object An object that contains the dealer breakup details.

Learn more about the breakup 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 issure 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
integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

After Downpayment Reduced Produt Amount [Child Object]

The table below lists the various parameters in the after_downpayment_reduced_product_amount child object. This object is part of the product_details object.

Parameter Type Description
value integer Transaction amount is Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 1000
currency string Type of currency.

Example: INR

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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 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.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000

Downpayment Details [Child Object]

The table below lists the various parameters in the downpayment_details child object. This object is part of the Offer Discovery API request object.

Parameter Type Description
downpayment_amount object An object that contains the downpayment amount details.

Learn more about our downpayment_amount child object.

Downpayment Amount [Child Object]

The table below lists the various parameters in the downpayment_amount child object. This object is part of the downpayment_details object.

Parameter Type Description
value integer The transaction amount in Paisa.
  • Minimum value: 100 (₹1)
  • Maximum value: 100000000 (₹10 lakh)
Example: 100
currency string Type of currency.

Example: INR

Refer to our Get Order by Order ID API documentation to learn more.


To Know Your Payment Status

To check your payment status, you can either rely on Webhook events or use our Get Orders APIs for real-time updates.

  1. Webhook Notification: We send Webhook notifications on the successful payment or any changes to the payments object. Refer to our Webhooks documentation to learn more.
  2. Get Orders API: Use our Get Orders API to know the real time status of the payment. Refer to our Manage Orders documentation to learn more.
  3. Refunds: Plural processes refund directly to the customer's original payment method to prevent chargebacks. Refer to our Refunds documentation to learn more.

Pre Authorization Flow - Credit EMI

Our Orders API includes an optional pre-authorization feature. When pre-authorization is enabled (pre_auth = true), you can capture payment for an order after successful delivery, ensuring that settlement remains on hold until then.

Once pre-authorization is enabled and the payment is successfully processed, you have the following options:

Capture Order: Utilize the plural capture order API in your backend to capture the payment against an order.

Cancel Order: Use the plural cancel order API in your backend to cancel the payment against an order.

📘

Note:

  • On successful payment we send the webhook event ORDER_AUTHORIZED and the status of the payment is updated to authorized.
  • You can capture or cancel an order only when the order status is authorized.

1. Capture Order

Use this API to capture the payment against an order. On successful capture of an order the order status is updated as processed.

Below are the sample requests and sample response for Capture Order API.

curl --request PUT \
     --url https://pluraluat.v2.pinepg.in/api/pay/v1/orders/order_id/capture \
     --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 '
{
  "merchant_capture_reference": "merchant-capture-ref-r4y",
  "capture_amount": {
    "value": 4000,
    "currency": "INR"
  }
}
'
curl --request PUT \
     --url https://api.pluralpay.in/api/pay/v1/orders/order_id/capture \
     --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 '
{
  "merchant_capture_reference": "merchant-capture-ref-r4y",
  "capture_amount": {
    "value": 4000,
    "currency": "INR"
  }
}
'
{
  "data":{
    "order_id":"v1-5757575757-aa-hU1rUd",
    "merchant_order_reference":"f4548bbf-a029-43d3-9209-e3385c80b1e9",
    "type":"CHARGE",
    "status":"PROCESSED",
    "merchant_id":"123456",
    "order_amount":{
      "value":1100,
      "currency":"INR"
    },
    "pre_auth":true,
    "callback_url":"https://sample-callback-url",
    "failure_callback_url": "https://sample-failure-callback-url",
    "allowed_payment_methods":[
      "CARD",
      "UPI",
      "NETBANKING",
      "POINTS",
      "WALLET"
    ],
    "notes":"order1",
    "purchase_details":{
      "customer":{
        "email_id":"[email protected]",
        "first_name":"Kevin",
        "last_name":"Bob",
        "customer_id":"232323",
        "mobile_number":"9876543210",
        "billing_address":{
          "address1":"H.No 15, Sector 17",
          "address2":"",
          "address3":"",
          "pincode":"61232112",
          "city":"CHANDIGARH",
          "state":"PUNJAB",
          "country":"INDIA"
        },
        "shipping_address":{
          "address1":"H.No 15, Sector 17",
          "address2":"string",
          "address3":"string",
          "pincode":"144001123",
          "city":"CHANDIGARH",
          "state":"PUNJAB",
          "country":"INDIA"
        }
      },
      "merchant_metadata":{
        "key1":"DD",
        "key2":"XOF"
      }
    },
    "payments":[
      {
        "id":"v1-1111071924-aa-zzSkOA-cc-G",
        "status":"PROCESSED",
        "payment_amount":{
          "value":1100,
          "currency":"INR"
        },
        "payment_method":"CARD",
        "payment_option":{
          "card_data":{
            "card_type":"CREDIT",
            "network_name":"VISA",
            "issuer_name":"NONE",
            "card_category":"CONSUMER",
            "country_code":"IND",
            "token_txn_type":"ALT_TOKEN"
          }
        },
        "acquirer_data":{
          "approval_code":"000000",
          "acquirer_reference":"202456643801053",
          "rrn":"420145000226"
        },
        "capture_data":[
          {
            "merchant_capture_reference":"f31d8c60-0dc8-4788-a577-5ced930cc175",
            "capture_amount":{
              "value":1100,
              "currency":"INR"
            },
            "created_at":"2024-07-19T11:13:21.523Z"
          }
        ],
        "created_at":"2024-07-19T11:11:48.944Z",
        "updated_at":"2024-07-19T11:13:23.962Z"
      }
    ],
    "created_at":"2024-07-19T11:11:48.944Z",
    "updated_at":"2024-07-19T11:13:23.962Z"
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

The table below lists the path parameter of our Capture Order API.

Parameter Type Description
order_id required string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd

The table below lists the request parameter of our Capture Order API.

Parameter Type Description
merchant_capture_reference required string Enter a unique identifier for the capture order request.
  • Maximum length: 50 characters.
  • Minimum length: 1 character.
Example: 123456789

Supported characters:
  • A-Z
  • a-z
  • 0-9
  • -
  • \
  • _
capture_amount object An object that contains the capture amount details.

Learn more about our capture_amount child object.

Capture Amount [Child Object]

The table below lists the various parameters in the capture_amount child object. This object is part of the capture_order request object.

Parameter Type Description
value required integer The split amount in Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency required string Type of currency.

Example: INR

The table below lists the various parameters returned in the orders response objects.

Parameter Type Description
order_id string Unique identifier of the order in the Pine Labs database.
  • Max length: 50 characters.
Example: v1-5757575757-aa-hU1rUd
merchant_order_reference string Unique identifier entered while creating an order.
  • Min length: 1 character.
  • Max length: 50 characters.
Example: 82d57572-057c-4826-5775-385a52150554
type string Payment type.

Possible values:
  • CHARGE
  • REFUND
status string Order status.

Possible values:
  • CREATED: When the order is successfully created.
  • PENDING: When the order is linked against a payment request.
  • PROCESSED: When the payment is received successfully.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • ATTEMPTED: When the payment is unsuccessful due to incorrect OTP. You can retry OTP
  • FAILED: Payment acceptance failed for reasons such as cancel transactions, maximum retries for OTP verification etc.
  • FULLY_REFUNDED: When the payment is completely refunded.
  • PARTIALLY_REFUNDED: When the partial refund is successful.
merchant_id string Unique identifier of the merchant in the Pine Labs database.

Example: 123456
order_amount object An object that contains the transaction amount details.

Learn more about our order_amount child object.
notes string The note you want to show against an order.

Example: Order1
pre_auth boolean The pre-authorization type.

Possible values:
  • true: When pre-authorization is needed.
  • false: When pre-authorization is not required.
Example: false
allowed_payment_methods array of strings The type of payment methods you want to offer customers.

Accepted values:
  • CARD
  • UPI
  • POINTS
  • NETBANKING
  • WALLET
  • CREDIT_EMI
  • DEBIT_EMI
Example: CARD

Note: Before selecting a payment method, ensure it is configured for you.
callback_url string URL to redirect customers to success or failure pages.

Example: https://sample-callback-url
purchase_details object An object that contains the purchase details.

Learn more about the purchase_details child object.

Note: The presence of the object key-values depends on the Input request.
payments array of objects An array of objects that contains the payment details.

Learn more about the payments child object.

Note: Payment object is returned only for the orders linked with a payment.
created_at string The ISO 8601 UTC Timestamp when the order request was received.

Example: 2024-07-09T07:57:08.022Z
updated_at string The ISO 8601 UTC Timestamp when the order object was updated.

Example: 2024-07-09T07:57:08.022Z
integration_mode string> Type of integration.

Example: SEAMLESS
payment_retries_remaining integer> Number of retry attempts left.

Example: 9

Order Amount [Child Object]

The table below lists the various parameters in the order_amount child object. This object is part of the create order request object.

Parameter Type Description
value integer Transaction amount in Paisa.

  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currency string Type of currency.

Example: INR

Purchase Details [Child Object]

The table below lists the various parameters in the purchase_details child object. This object is part of the create order request object.

Parameter Type Description
customer object An object that contains the customer details.

Learn more about the customer child object.
merchant_metadata object An object of key-value pair that can be used to store additional information.

Example: "key1": "DD"

Customer [Child Object]

The table below lists the various parameters in the customer child object. This is part of the purchase_details object.

Parameter Type Description
email_id string Customer's email address.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: [email protected]
first_name string Customer's first name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Kevin
last_name string Customer's last name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Bob
customer_id string Unique identifier of the customer in the Pine Labs database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
mobile_number string Customer's mobile number.
  • Minimum length: 9 characters.
  • Maximum length: 20 characters.
Example: 9876543210
billing_address object An object that contains the details of the billing address.

Learn more about our billing_address child object.
shipping_address object An object that contains the shipping address details.

Learn more about our shipping_address child object.

Billing Address [Child Object]

The table below lists the various parameters in the billing_address child object. This is part of the customer object.

Parameter Type Description
address1stringCustomer's billing address1.
  • Max length: 100 characters.
Example: 10 Downing Street Westminster London
address2stringCustomer's billing address2.
  • Max length: 100 characters.
Example: Oxford Street Westminster London
address3stringCustomer's billing address3.
  • Max length: 100 characters.
Example: Baker Street Westminster London
pincodestringPincode of the billing address.
  • Min length: 6 characters.
  • Max length: 10 characters.
Example: 51524036
citystringCity of the billing address.
  • Max length: 50 characters.
Example: Westminster
statestringState of the billing address.
  • Max length: 50 characters.
Example: Westminster
countrystringCountry of the billing address.
  • Max length: 50 characters.
Example: London

Shipping Address [Child Object]

The table below lists the various parameters in the shipping_address child object. This is part of the customer object.

Parameter Type Description
address1stringCustomer's shipping address1.
  • Max length: 100 characters.
Example: 10 Downing Street Westminster London
address2stringCustomer's shipping address2.
  • Max length: 100 characters.
Example: Oxford Street Westminster London
address3stringCustomer's shipping address3.
  • Max length: 100 characters.
Example: Baker Street Westminster London
pincodestringPincode of the shipping address.
  • Min length: 6 characters
  • Max length: 10 characters.
Example: 51524036
citystringCity of the shipping address.
  • Max length: 50 characters.
Example: Westminster
statestringState of the shipping address.
  • Max length: 50 characters.
Example: Westminster
countrystringCountry of the shipping address.
  • Max length: 50 characters.
Example: London

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the payments sample response object.

Parameter Type Description
id string Unique identifier of the payment in the Pine Labs database.
  • Maximum length: 50 characters.
Example: v1-5206071124-aa-mpLhF3-cc-l
merchant_payment_reference string A unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
status string Payment status.

Possible values:
    PENDING: When the create payment API request is successfully received by Pine Labs.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • PROCESSED: When the payment is successfully received by Pine Labs.
  • FAILED: When the payment fails, this can be for many reasons such as canceling payments, etc.
Example: PENDING
payment_amount object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_method string Type of payment method.

Accepted values:
  • CARD
  • UPI
  • POINTS
Example: CARD
payment_option object An object that contains the details of the payment options.

Learn more about our payment_option child object.
acquirer_data object An object that contains the details of the acquirer data.

Learn more about our acquirer_data child object.
capture_data object An object that contains the details of the capture data.

Learn more about our capture_data child object.

Note: The presence of the key-value pairs against this object depends on the pre-authorization type.
created_at string The ISO 8601 UTC Timestamp, when the create payment request was received by Pine Labs.

Example: 2024-07-11T06:52:12.484Z
updated_at string The ISO 8601 UTC Timestamp, when the payment response object is updated.

Example: 2024-07-11T06:59:38.260Z

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
card_data object An object that contains the card details.

Learn more about our card_data child object.

Card Data [Child Object]

The table below lists the various parameters in the card_data child object. This object is part of the payment_option object.

Parameter Type Description
card_type string Type of card.

Possible values:
  • DEBIT
  • CREDIT
Example: CREDIT
network_name string Card network providers.

Example: VISA
issuer_name string Card issuer entity.

Example: HDFC
card_category string The card category type.

Possible values:
  • CONSUMER
  • COMMERCIAL
  • PREMIUM
  • SUPER_PREMIUM
  • PLATINUM
  • OTHER
  • BUSINESS
  • GOVERNMENT_NOTES
  • PAYOUTS
  • ELITE
  • STANDARD
country_code string Card issuer's country.

Example: IND
token_txn_type string Transaction token type.

Possible values:
  • ALT_TOKEN
  • NETWORK_TOKEN
  • ISSUER_TOKEN
Example: ALT_TOKEN

Acquirer Data [Child Object]

The table below lists the various parameters in the acquirer_data child object. This object is part of the payments object.

Parameter Type Description
approval_code string Authorization code returned from acquirer against the payment.

Example: 030376
acquirer_reference string Unique reference returned from acquirer for the payment.

Example: 202455840588334
rrn string Retrieval reference number returned from acquirer for the payment.

Example: 419335023601
is_aggregator boolean The selected aggregator model type.

Accepted values:
  • true - Pine Labs is responsible for settling funds related to this payment.
  • false - Pine Labs is not responsible for settling funds related to this payment.
Note:
  • When is_aggregator is set to true, Pine Labs acts as the acquirer on behalf of merchants, receiving funds from banks into a designated "Nodal Account".
  • When is_aggregator is set to false, the Merchant has a direct relationship with the bank, and the responsibility for settlement of funds lies with both of those parties.

Capture Data [Child Object]

The table below lists the various parameters in the capture_data child object. This object is part of the payments object.

Parameter Type Description
merchant_capture_reference string Unique identifier passed while creating the capture payment request.

Example: 5742ef1e-4606-4c11-5757-705f4d415b6d
capture_amount object An object that contains the capture amount details.

Learn more about our capture_amount child object.
created_at string The ISO 8601 UTC Timestamp, when the amount was captured.

Example: 2024-07-11T11:52:12.484105Z
Capture Amount [Child Object]

The table below lists the various parameters in the capture_amount child object. This object is part of the capture_data object.

Parameter Type Description
value integer The transaction amount is in Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency string Type of currency.

Example: INR

Refer to our Capture Order API documentation to learn more.


2. Cancel Order

Use this API to cancel the payment against an order.

Below are the sample requests and sample response for Cancel Order API.

curl --request PUT \
     --url https://pluraluat.v2.pinepg.in/api/pay/v1/orders/v1-5757575757-aa-hU1rUd/cancel \
     --header 'accept: application/json'
curl --request PUT \
     --url https://api.pluralpay.in/api/pay/v1/orders/{order_id}/cancel \
     --header 'accept: application/json'
{
  "data":{
    "order_id":"v1-250124055307-aa-6OZ8sm",
    "merchant_order_reference":"53cf1451-4dfd-417d-a1c8-c8bd603d5200",
    "type":"CHARGE",
    "status":"CANCELLED",
    "challenge_url":"https://pluraluat.v2.pinepg.in/web/auth/landing/?token=S50f2FXi%2FYAGe2bLZEW%2FA2VHzXthz0m9igmtsP61ODtY5u4pR6RYB5IlJwK0%2Fuo%2FBs9",
    "merchant_id":"111163",
    "order_amount":{
      "value":1600000,
      "currency":"INR"
    },
    "pre_auth":false,
    "callback_url":"https://sample-callback-url",
    "failure_callback_url": "https://sample-failure-callback-url",
    "allowed_payment_methods":[
      "CARD",
      "UPI",
      "NETBANKING",
      "POINTS",
      "WALLET"
    ],
    "purchase_details":{
      "customer":{
        "country_code":"91",
        "billing_address":{
          
        },
        "shipping_address":{
          
        },
        "is_edit_customer_details_allowed":false
      }
    },
    "payments":[
      {
        "id":"v1-250124055307-aa-6OZ8sm-ce-a",
        "merchant_payment_reference":"c7a7f778-b68f-462b-a6af-50698df12a4a",
        "status":"FAILED",
        "payment_amount":{
          "value":1550000,
          "currency":"INR"
        },
        "payment_method":"CREDIT_EMI",
        "offer_data":{
          "offer_details":{
            "id":"6",
            "name":"HDFC CC",
            "issuer_type":"CC_BANK",
            "priority":1,
            "tenure":{
              "tenure_id":"1",
              "name":"3 Months",
              "tenure_type":"MONTH",
              "tenure_value":3,
              "issuer_offer_parameters":[
                {
                  "program_type":"BANK_EMI",
                  "offer_id":"1803",
                  "offer_parameter_id":"72559"
                },
                {
                  "program_type":"MERCHANT_BANK_OFFER",
                  "offer_id":"1523",
                  "offer_parameter_id":"63566"
                }
              ],
              "details":[
                
              ],
              "discount":{
                "discount_type":"INSTANT",
                "amount":{
                  "currency":"INR",
                  "value":50000
                },
                "breakup":{
                  "merchant":{
                    
                  },
                  "issuer":{
                    
                  },
                  "brand":{
                    
                  },
                  "dealer":{
                    
                  }
                }
              },
              "auth_amount":{
                "currency":"INR",
                "value":1550000
              },
              "loan_amount":{
                "currency":"INR",
                "value":1550000
              },
              "total_discount_amount":{
                "currency":"INR",
                "value":50000
              },
              "net_payment_amount":{
                "currency":"INR",
                "value":1601952
              },
              "monthly_emi_amount":{
                "currency":"INR",
                "value":533984
              },
              "total_emi_amount":{
                "currency":"INR",
                "value":1601952
              },
              "interest_amount":{
                "currency":"INR",
                "value":51952
              },
              "interest_rate_percentage":20,
              "processing_fee_details":{
                "amount":{
                  "currency":"INR",
                  "value":19900
                }
              },
              "processing_fee_amount":{
                "currency":"INR",
                "value":19900
              },
              "emi_type":"STANDARD"
            }
          }
        },
        "error_detail":{
          "code":"INTERNAL_ERROR",
          "message":"Payment processor is unavailable"
        },
        "created_at":"2025-01-24T05:53:24.476Z",
        "updated_at":"2025-01-24T05:53:25.492Z"
      },
      {
        "id":"v1-250124055307-aa-6OZ8sm-ce-b",
        "merchant_payment_reference":"32e3ba62-bb95-41bb-be81-1b87ab96c0ed",
        "status":"PENDING",
        "payment_amount":{
          "value":1550000,
          "currency":"INR"
        },
        "payment_method":"CREDIT_EMI",
        "payment_option":{
          "card_data":{
            "card_type":"CREDIT",
            "network_name":"VISA",
            "issuer_name":"INTL HDQTRS-CENTER OWNED",
            "card_category":"Consumer",
            "country_code":"IND",
            "token_txn_type":"ALT_TOKEN",
            "save":false
          }
        },
        "acquirer_data":{
          "approval_code":"",
          "acquirer_reference":"",
          "rrn":"",
          "is_aggregator":true
        },
        "offer_data":{
          "offer_details":{
            "id":"6",
            "name":"HDFC CC",
            "issuer_type":"CC_BANK",
            "priority":1,
            "tenure":{
              "tenure_id":"1",
              "name":"3 Months",
              "tenure_type":"MONTH",
              "tenure_value":3,
              "issuer_offer_parameters":[
                {
                  "program_type":"BANK_EMI",
                  "offer_id":"1803",
                  "offer_parameter_id":"72559"
                },
                {
                  "program_type":"MERCHANT_BANK_OFFER",
                  "offer_id":"1523",
                  "offer_parameter_id":"63566"
                }
              ],
              "details":[
                
              ],
              "discount":{
                "discount_type":"INSTANT",
                "amount":{
                  "currency":"INR",
                  "value":50000
                },
                "breakup":{
                  "merchant":{
                    
                  },
                  "issuer":{
                    
                  },
                  "brand":{
                    
                  },
                  "dealer":{
                    
                  }
                }
              },
              "auth_amount":{
                "currency":"INR",
                "value":1550000
              },
              "loan_amount":{
                "currency":"INR",
                "value":1550000
              },
              "total_discount_amount":{
                "currency":"INR",
                "value":50000
              },
              "net_payment_amount":{
                "currency":"INR",
                "value":1601952
              },
              "monthly_emi_amount":{
                "currency":"INR",
                "value":533984
              },
              "total_emi_amount":{
                "currency":"INR",
                "value":1601952
              },
              "interest_amount":{
                "currency":"INR",
                "value":51952
              },
              "interest_rate_percentage":20,
              "processing_fee_details":{
                "amount":{
                  "currency":"INR",
                  "value":19900
                }
              },
              "processing_fee_amount":{
                "currency":"INR",
                "value":19900
              },
              "emi_type":"STANDARD"
            }
          }
        },
        "created_at":"2025-01-24T05:53:58.092Z",
        "updated_at":"2025-01-24T05:53:59.679Z"
      }
    ],
    "created_at":"2025-01-24T05:53:07.740Z",
    "updated_at":"2025-01-24T05:53:59.680Z",
    "integration_mode":"SEAMLESS",
    "payment_retries_remaining":8
  }
}
Click here for request and response parameter information.
Dynamic Tabs
Request Parameters
Response Parameters

The table below lists the path parameter of our Capture Order API.

Parameter Type Description
order_id required string Unique identifier of the order in the Pine Labs database.

Example: v1-5757575757-aa-hU1rUd

The table below lists the various parameters returned in the orders response objects.

Parameter Type Description
order_id string Unique identifier of the order in the Pine Labs database.
  • Max length: 50 characters.
Example: v1-5757575757-aa-hU1rUd
merchant_order_reference string Unique identifier entered while creating an order.
  • Min length: 1 character.
  • Max length: 50 characters.
Example: 82d57572-057c-4826-5775-385a52150554
type string Payment type.

Possible values:
  • CHARGE
  • REFUND
status string Order status.

Possible values:
  • CREATED: When the order is successfully created.
  • PENDING: When the order is linked against a payment request.
  • PROCESSED: When the payment is received successfully.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • ATTEMPTED: When the payment is unsuccessful due to incorrect OTP. You can retry OTP
  • FAILED: Payment acceptance failed for reasons such as cancel transactions, maximum retries for OTP verification etc.
  • FULLY_REFUNDED: When the payment is completely refunded.
  • PARTIALLY_REFUNDED: When the partial refund is successful.
merchant_id string Unique identifier of the merchant in the Pine Labs database.

Example: 123456
order_amount object An object that contains the transaction amount details.

Learn more about our order_amount child object.
notes string The note you want to show against an order.

Example: Order1
pre_auth boolean The pre-authorization type.

Possible values:
  • true: When pre-authorization is needed.
  • false: When pre-authorization is not required.
Example: false
callback_url string URL to redirect customers to success or failure pages.

Example: https://sample-callback-url
purchase_details object An object that contains the purchase details.

Learn more about the purchase_details child object.

Note: The presence of the object key-values depends on the Input request.
payments array of objects An array of objects that contains the payment details.

Learn more about the payments child object.

Note: Payment object is returned only for the orders linked with a payment.
created_at string The ISO 8601 UTC Timestamp when the order request was received.

Example: 2024-07-09T07:57:08.022Z
updated_at string The ISO 8601 UTC Timestamp when the order object was updated.

Example: 2024-07-09T07:57:08.022Z
integration_mode string> Type of integration.

Example: SEAMLESS
payment_retries_remaining integer> Number of retry attempts left.

Example: 9

Order Amount [Child Object]

The table below lists the various parameters in the order_amount child object. This object is part of the create order request object.

Parameter Type Description
value integer Transaction amount in Paisa.

  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 1000
currency string Type of currency.

Example: INR

Purchase Details [Child Object]

The table below lists the various parameters in the purchase_details child object. This object is part of the create order request object.

Parameter Type Description
customer object An object that contains the customer details.

Learn more about the customer child object.
merchant_metadata object An object of key-value pair that can be used to store additional information.

Example: "key1": "DD"

Customer [Child Object]

The table below lists the various parameters in the customer child object. This is part of the purchase_details object.

Parameter Type Description
email_id string Customer's email address.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: [email protected]
first_name string Customer's first name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Kevin
last_name string Customer's last name.
  • Minimum length: 1 character.
  • Maximum length: 50 characters.
Example: Bob
customer_id string Unique identifier of the customer in the Pine Labs database.
  • Minimum length: 1 character.
  • Maximum length: 19 characters.
Example: 123456
mobile_number string Customer's mobile number.
  • Minimum length: 9 characters.
  • Maximum length: 20 characters.
Example: 9876543210
billing_address object An object that contains the details of the billing address.

Learn more about our billing_address child object.
shipping_address object An object that contains the shipping address details.

Learn more about our shipping_address child object.

Billing Address [Child Object]

The table below lists the various parameters in the billing_address child object. This is part of the customer object.

Parameter Type Description
address1stringCustomer's billing address1.
  • Max length: 100 characters.
Example: 10 Downing Street Westminster London
address2stringCustomer's billing address2.
  • Max length: 100 characters.
Example: Oxford Street Westminster London
address3stringCustomer's billing address3.
  • Max length: 100 characters.
Example: Baker Street Westminster London
pincodestringPincode of the billing address.
  • Min length: 6 characters.
  • Max length: 10 characters.
Example: 51524036
citystringCity of the billing address.
  • Max length: 50 characters.
Example: Westminster
statestringState of the billing address.
  • Max length: 50 characters.
Example: Westminster
countrystringCountry of the billing address.
  • Max length: 50 characters.
Example: London

Shipping Address [Child Object]

The table below lists the various parameters in the shipping_address child object. This is part of the customer object.

Parameter Type Description
address1stringCustomer's shipping address1.
  • Max length: 100 characters.
Example: 10 Downing Street Westminster London
address2stringCustomer's shipping address2.
  • Max length: 100 characters.
Example: Oxford Street Westminster London
address3stringCustomer's shipping address3.
  • Max length: 100 characters.
Example: Baker Street Westminster London
pincodestringPincode of the shipping address.
  • Min length: 6 characters
  • Max length: 10 characters.
Example: 51524036
citystringCity of the shipping address.
  • Max length: 50 characters.
Example: Westminster
statestringState of the shipping address.
  • Max length: 50 characters.
Example: Westminster
countrystringCountry of the shipping address.
  • Max length: 50 characters.
Example: London

Payments [Child Object]

The table below lists the various parameters in the payments child object. This object is part of the payments sample response object.

Parameter Type Description
id string Unique identifier of the payment in the Pine Labs database.
  • Maximum length: 50 characters.
Example: v1-5206071124-aa-mpLhF3-cc-l
merchant_payment_reference string A unique Payment Reference id sent by merchant.

Example: 008cf04b-a770-4777-854e-b1e6c1230609
status string Payment status.

Possible values:
    PENDING: When the create payment API request is successfully received by Pine Labs.
  • AUTHORIZED: Only when pre_auth is true. When the payment is ready for authorization.
  • CANCELLED: When the payment gets cancelled.
  • PROCESSED: When the payment is successfully received by Pine Labs.
  • FAILED: When the payment fails, this can be for many reasons such as canceling payments, etc.
Example: PENDING
payment_amount object An object that contains the details of the payment amount.

Learn more about our payment_amount child object.
payment_method string Type of payment method.

Accepted values:
  • CARD
  • UPI
  • POINTS
Example: CARD
payment_option object An object that contains the details of the payment options.

Learn more about our payment_option child object.
acquirer_data object An object that contains the details of the acquirer data.

Learn more about our acquirer_data child object.
created_at string The ISO 8601 UTC Timestamp, when the create payment request was received by Pine Labs.

Example: 2024-07-11T06:52:12.484Z
updated_at string The ISO 8601 UTC Timestamp, when the payment response object is updated.

Example: 2024-07-11T06:59:38.260Z

Payment Amount [Child Object]

The table below lists the various parameters in the payment_amount child object. This object is part of the payments object.

Parameter Type Description
value integer The transaction amount is Paisa.
  • Minimum value: 100 (₹1).
  • Maximum value: 100000000 (₹10 lakh).
Example: 100
currency 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 payments object.

Parameter Type Description
card_data object An object that contains the card details.

Learn more about our card_data child object.

Card Data [Child Object]

The table below lists the various parameters in the card_data child object. This object is part of the payment_option object.

Parameter Type Description
card_type string Type of card.

Possible values:
  • DEBIT
  • CREDIT
Example: CREDIT
network_name string Card network providers.

Example: VISA
issuer_name string Card issuer entity.

Example: HDFC
card_category string The card category type.

Possible values:
  • CONSUMER
  • COMMERCIAL
  • PREMIUM
  • SUPER_PREMIUM
  • PLATINUM
  • OTHER
  • BUSINESS
  • GOVERNMENT_NOTES
  • PAYOUTS
  • ELITE
  • STANDARD
country_code string Card issuer's country.

Example: IND
token_txn_type string Transaction token type.

Possible values:
  • ALT_TOKEN
  • NETWORK_TOKEN
  • ISSUER_TOKEN
Example: ALT_TOKEN

Acquirer Data [Child Object]

The table below lists the various parameters in the acquirer_data child object. This object is part of the payments object.

Parameter Type Description
approval_code string Authorization code returned from acquirer against the payment.

Example: 030376
acquirer_reference string Unique reference returned from acquirer for the payment.

Example: 202455840588334
rrn string Retrieval reference number returned from acquirer for the payment.

Example: 419335023601
is_aggregator boolean The selected aggregator model type.

Accepted values:
  • true - Pine Labs is responsible for settling funds related to this payment.
  • false - Pine Labs is not responsible for settling funds related to this payment.
Note:
  • When is_aggregator is set to true, Pine Labs acts as the acquirer on behalf of merchants, receiving funds from banks into a designated "Nodal Account".
  • When is_aggregator is set to false, the Merchant has a direct relationship with the bank, and the responsibility for settlement of funds lies with both of those parties.

Refer to our Cancel Order API documentation to learn more.


Ask AI
Assistant
Hourly Limit
0 / 20000 tokens used Resets in: 60m 0s
Order Lifecycle
Refunds
Settlements
Checkout
Dashboard
International Payments
How do I implement webhook notifications for payment status updates, and what's the recommended way to verify webhook authenticity?
How do I integrate Pine Labs payment gateway with my React Native mobile app and what are the required API credentials?
Can I customize the payment UI for card transactions, and what parameters can I pass to modify the checkout experience for my customers?
Assistant