Overview of the UPI payment response object.
Shown below is a sample response of a Create Payments API through payment method as UPI
.
{
"data": {
"order_id": "v1-240820090251-aa-xwuI7J",
"merchant_order_reference": "8200c7f7-4490-4970-b6bb-40ffa05d47e5",
"type": "CHARGE",
"status": "PENDING",
"challenge_url": "upi://pay?mode=04&pa=pinelabs.24092@hdfcbank&pn=Pine%20Test&mc=6012&cu=INR&am=1.00&tr=68706&tn=Payment%20for%20v1",
"merchant_id": "110047",
"order_amount": {
"value": 100,
"currency": "INR"
},
"pre_auth": false,
"purchase_details": {
"customer": {
"email_id": "[email protected]",
"first_name": "Kevin",
"last_name": "Bob",
"customer_id": "192212",
"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": "",
"address3": "",
"pincode": "144001123",
"city": "CHANDIGARH",
"state": "PUNJAB",
"country": "INDIA"
}
},
"merchant_metadata": {
"key1": "DD",
"key2": "XOF"
}
},
"payments": [
{
"id": "v1-240820090251-aa-xwuI7J-up-6",
"status": "PENDING",
"payment_amount": {
"value": 100,
"currency": "INR"
},
"payment_method": "UPI",
"payment_option": {
"upi_details": {
"txn_mode": "COLLECT",
"payer": {
"vpa": "kevinbob@example"
}
},
"acquirer_data": {
"approval_code": "",
"acquirer_reference": "",
"rrn": ""
},
"created_at": "2024-08-20T09:02:51.265554Z",
"updated_at": "2024-08-20T09:03:01.208440Z"
}
}
],
"created_at": "2024-08-20T09:02:51.265548Z",
"updated_at": "2024-08-20T09:03:01.208437Z"
}
}
{
"data": {
"order_id": "v1-240820090251-aa-xwuI7J",
"merchant_order_reference": "8200c7f7-4490-4970-b6bb-40ffa05d47e5",
"type": "CHARGE",
"status": "PENDING",
"challenge_url": "upi://pay?mode=04&pa=pinelabs.24092@hdfcbank&pn=Pine%20Test&mc=6012&cu=INR&am=1.00&tr=68706&tn=Payment%20for%20v1",
"merchant_id": "110047",
"order_amount": {
"value": 100,
"currency": "INR"
},
"pre_auth": false,
"purchase_details": {
"customer": {
"email_id": "[email protected]",
"first_name": "Kevin",
"last_name": "Bob",
"customer_id": "192212",
"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": "",
"address3": "",
"pincode": "144001123",
"city": "CHANDIGARH",
"state": "PUNJAB",
"country": "INDIA"
}
},
"merchant_metadata": {
"key1": "DD",
"key2": "XOF"
}
},
"payments": [
{
"id": "v1-240820090251-aa-xwuI7J-up-6",
"status": "PENDING",
"payment_amount": {
"value": 100,
"currency": "INR"
},
"payment_method": "UPI",
"payment_option": {
"upi_details": {
"txn_mode": "INTENT"
}
},
"acquirer_data": {
"approval_code": "",
"acquirer_reference": "",
"rrn": ""
},
"created_at": "2024-08-20T09:02:51.265548Z",
"updated_at": "2024-08-20T09:03:01.208437Z"
}
],
"created_at": "2024-08-20T09:02:51.265548Z",
"updated_at": "2024-08-20T09:03:01.208437Z"
}
}
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-5757575757-aa-hU1rUd |
merchant_order_reference | string | Unique identifier entered while creating a order.
82d57572-057c-4826-5775-385a52150554 |
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 the checkout page. |
merchant_id | string | Unique identifier of the merchant in Plural 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:
false Learn more about our pre-authorization. |
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-07-09T07:57:08.022056Z |
updated_at | string | The ISO 8601 UTC Timestamp, when the order response object is updated. Example: 2024-07-09T07:57:08.022065Z |
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. |
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 |
mobile_number | string | Customer's mobile number.
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 |
---|---|---|
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-5206071124-aa-mpLhF3-cc-l |
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:
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. |
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. |
created_at | string | The ISO 8601 UTC Timestamp, when the create order request was received by Plural. Example: 2024-08-20T09:02:51.265554Z |
updated_at | string | The ISO 8601 UTC Timestamp, when the order response object is updated. Example: 2024-08-20T09:03:01.208440Z |
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 |
---|---|---|
upi_details | object | An object that contains the upi details. Learn more about our upi_details child object. |
UPI Details [Child Object]
The table below lists the various parameters in the upi_details
child object. This object is part of the payment_option
object.
Parameter | Type | Description |
---|---|---|
txn_mode | string | Type of UPI transaction. Accepted values:
COLLECT |
payer | object | An object that contains the payer details. Learn more about our payer child object.Note: Mandatory for UPI collect only. |
Payer [Child Object]
The table below lists the various parameters in the payer
child object. This object is part of the upi_details
object.
Parameter | Type | Description |
---|---|---|
vpa | string | VPA handle of your customer from whom you want to accept payment.
kevinbob@example Supported characters:
|
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 |
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 |
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 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.
100 |
currency | string | Type of currency. Example: INR |