Overview of the Buy Now Pay Later APIs response object.
1. Check Eligibility
Shown below is a sample response for a Check Eligibility API using the Pay Later
method.
{
"txn_eligibility": true,
"metadata": {
"credit_limit_available_in_paise": "0",
"installments": [
{
"serial_no": 1,
"amount_in_paise": 1134,
"due_date": "2025-06-30"
},
{
"serial_no": 2,
"amount_in_paise": 1133,
"due_date": "2025-07-21"
},
{
"serial_no": 3,
"amount_in_paise": 1133,
"due_date": "2025-08-21"
}
]
}
}
The table below lists the various parameters returned in the payments response object.
Parameter | Type | Description |
---|---|---|
txn_eligibility | boolean | Pay Later Eligibility status. Possible values:
|
metadata | object | An object that contains the credit limit meta information. Learn more about our metadata child object. |
Metadata [Child Object]
The table below lists the various parameters in the metadata
child object. This object is part of the check eligibility response object.
Parameter | Type | Description |
---|---|---|
credit_limit_available_in_paise | string | The running line of credit limit available is Paisa.
100 |
installments | array of objects | An array of objects that contains the installment details. Learn more about our installments child object.Note: This installments array of object is returned only for SIMPL3 |
Installments [Child Object]
The table below lists the various parameters in the installments
child object. This object is part of the metadata
object.
Parameter | Type | Description |
---|---|---|
serial_no | integer | Instalment number in series. Example: 1 |
amount_in_paise | integer | The running line of credit limit available is Paisa.
100 |
due_date | string | The due date by when the instalment must be paid. Example: 2025-08-21 Format: YYYY-MM-DD |
2. Payment Object
Shown below is a sample response for a Create Payment API using the Pay Later
method.
{
"data": {
"order_id": "v1-250708064524-aa-Zd1J9Y",
"merchant_order_reference": "efe43c72-acef-43ba-a3cf-c712ca183ffe",
"type": "CHARGE",
"status": "PENDING",
"merchant_id": "106974",
"order_amount": {
"value": 100,
"currency": "INR"
},
"notes": "Text description of order",
"pre_auth": false,
"part_payment": false,
"allowed_payment_methods": [
"CARD",
"NETBANKING",
"CREDIT_EMI",
"UPI",
"WALLET",
"DEBIT_EMI",
"BNPL",
"CARDLESS_EMI"
],
"purchase_details": {
"customer": {
"email_id": "[email protected]",
"first_name": "joe",
"last_name": "kumar",
"customer_id": "192212",
"mobile_number": "192192883",
"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",
"address2": "string",
"address3": "string",
"pincode": "144001123",
"city": "CHANDIGARH",
"state": "PUNJAB",
"country": "INDIA"
},
"is_edit_customer_details_allowed": false
},
"merchant_metadata": {
"key1": "value1",
"key2": "value2"
}
},
"payments": [
{
"id": "v1-250708064524-aa-Zd1J9Y-bn-a",
"merchant_payment_reference": "2f2c63e5-c623-4a9f-8b43-67dbd721fa38",
"status": "PENDING",
"payment_amount": {
"value": 100,
"currency": "INR"
},
"payment_method": "BNPL",
"payment_option": {
"bnpl_data": {
"mobile": "9315829629",
"bnpl_pay_code": "LAZYPAY"
}
},
"acquirer_data": {
"approval_code": "",
"acquirer_reference": "TXN1679652",
"rrn": "",
"is_aggregator": true,
"acquirer_name": "LAZYPAY_BNPL"
},
"created_at": "2025-07-08T06:45:26.763Z",
"updated_at": "2025-07-08T06:45:35.111Z"
}
],
"created_at": "2025-07-08T06:45:24.813Z",
"updated_at": "2025-07-08T06:45:35.112Z",
"integration_mode": "SEAMLESS",
"payment_retries_remaining": 9,
"is_mcc_transaction": false
}
}
The table below lists the various parameters returned in the payments response object.
Parameter | Type | Description |
---|---|---|
order_id | string | Unique identifier of the order in the Plural database. Example: v1-241108065317-aa-zqaZCr |
merchant_order_reference | string | Unique identifier entered while creating a order.
d1bc3469-672b-478f-b935-b385dda1a3a0 |
type | string | Payment type. Possible values:
|
status | string | Order status. Possible values:
|
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 Plural database. Example: 123456 |
order_amount | object | An object that contains the order 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:
false Learn more about our pre-authorization.. Note: Pre authorization is not supported for Net Banking. |
allowed_payment_methods | array of strings | The type of payment methods you want to offer your customers to accept payments. Accepted values:
BNPL 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 |
failure_callback_url | string | The URL specifically used to redirect customers to a failure page based on the order or product details. Example: https://sample-failure-callback-url Note:
|
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 object 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 Plural. Example: 2024-11-08T06:53:17.603Z |
updated_at | string | The ISO 8601 UTC Timestamp, when the order response object is updated. Example: 2024-11-08T06:53:33.272Z |
integration_mode | string | Type of integration. Accepted values:
Example: SEAMLESS |
payment_retries_remaining | integer | Number of payment retries remaining. Example: 9 |
is_mcc_transaction | boolean | MCC transaction status. Accepted values:
|
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.
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. |
is_edit_customer_details_allowed | boolean | Indicates whether the customer is allowed to edit their details. Possible values:
|
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.
[email protected] |
first_name | string | Customer's first name.
Kevin |
last_name | string | Customer's last name.
Bob |
customer_id | string | Unique identifier of the customer in the Plural database.
123456 |
country_code | string | Country code of the registered mobile number. Example: 91 |
mobile_number | string | Customer's mobile number.
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.
10 Downing Street Westminster London |
address2 | string | Customer's billing address2.
Oxford Street Westminster London |
address3 | string | Customer's billing address3.
Baker Street Westminster London |
pincode | string | Pincode of the billing address.
51524036 |
city | string | City of the billing address.
Westminster |
state | string | State of the billing address.
Westminster |
country | string | Country of the billing address.
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.
10 Downing Street Westminster London |
address2 | string | Customer's shipping address2.
Oxford Street Westminster London |
address3 | string | Customer's shipping address3.
Baker Street Westminster London |
pincode | string | Pincode of the shipping address.
51524036 |
city | string | City of the shipping address.
Westminster |
state | string | State of the shipping address.
Westminster |
country | string | Country of the shipping address.
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 Plural database.
v1-241108065317-aa-zqaZCr-nb-T |
merchant_order_reference | string | A unique Payment Reference id sent by merchant. Example: 008cf04b-a770-4777-854e-b1e6c1230609 |
status | string | Payment status. Possible values:
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:
BNPL |
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. |
created_at | string | The ISO 8601 UTC Timestamp, when the create payment request was received by Plural. 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.
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 |
---|---|---|
bnpl_details | object | An object that contains the buy now pay later details. Learn more about our bnpl_details child object. |
BNPL Details [Child Object]
The table below lists the various parameters in the bnpl_details
child object. This object is part of the payment_option
object.
Parameter | Type | Description |
---|---|---|
mobile | string | Customer's mobile number. Has to be a 10-digit mobile number without the country code. Example: 9876543210 |
bnpl_pay_code | string | Pay Later service provide code. Possible values:
LAZYPAY |
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:
|
acquirer_name | string | Name of the acquirer. Example: LAZYPAY_BNPL |
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 the why the error occured. Example: Transaction declined due to insufficient balance |
3. OTP Response Objects
Shown below are the sample responses through our OTP APIs.
{
"status": "SUCCESS"
}
{
"status": "SUCCESS",
"meta_data": {
"status": "SUCCESS",
"otp_type": "m-otp",
"attemptsRemaining": 1
}
}
The table below lists the various parameters returned in our OTP APIs response object.
Parameter | Type | Description |
---|---|---|
status | string | OTP Verification status. Possible values:
|
meta_data | object | An object that contains the metadata information. Learn more about the meta_data child object. |
Metadata [Child Object]
The table below lists the various parameters in the metadata
child object. This object is part of the OTP APIs response
object.
Parameter | Type | Description |
---|---|---|
status | string | Indicates the result of the OTP initiation. Example: success : means the operation was successful |
otp_type | string | Specifies the type of OTP used. Example: m-otp |
attemptsRemaining | integer | Indicates the number of OTP resend attempts remaining. Example: 1 Note: If the attempts are exhausted, you need to re-initiate the payment. |