The UPI OTM Status Check API allows you to check the status of a UPI (Unified Payments Interface) OTM authorization/mandate. It provides details about the authorization status, authorized amount, and validity period.
Experience the end-to-end Merchant Hosted Checkout> UPI flow and instantly generate the complete code for seamless, zero-coding integration into your website.
HTTP Method: GET
Endpoint: /v1/transaction/upi_otm_status_check
Environment
| Production Environment | <https://info.payu.in> |
Notes and Best Practices:
- This API should be used to verify the status of a UPI mandate before attempting to process a transaction.
- The paymentStartDate and paymentEndDate fields indicate the validity period of the mandate.
- Always check the authRecordStatus field to ensure the mandate is "Active" before proceeding with any transaction.
Request headers
Request parameters
Query parameters
| Parameter | Required | Type | Description | Example |
|---|---|---|---|---|
payuId |
Yes |
|
The unique PayU ID for the authorization. |
25026596803 |
Response parameters
| Field | Type | Description |
|---|---|---|
message |
|
Response message indicating success or failure. |
status |
|
Status code (1 for success, 0 for failure). |
authRecordStatus |
|
Status of the authorization record (e.g., "Active", "inactive"). |
authpayuid |
|
The PayU ID associated with the authorization. |
amount |
|
The authorized amount. |
paymentStartDate |
|
The start date for the mandate validity (format: "YYYY-MM-DD HH:MM:SS"). |
paymentEndDate |
|
The end date for the mandate validity (format: "YYYY-MM-DD HH:MM:SS"). |
Status codes
| Status | Description |
|---|---|
| 1 | Success |
| 0 | Failure |
Sample request
curl --location 'https://info.payu.in/v1/transaction/upi_otm_status_check?payuId=25026596803' \
--header 'Content-Type: application/json' \
--header 'Date: {{date}}' \
--header 'Digest: {{digest}}' \
--header 'Authorization: {{authorization}}'For creating HMAC authorization headers, replace the {{date}}, {{digest}}, and {{authorization}} with values generated from the pre script added in the documentation.
Sample response
Success scenario
{
"message": "Success",
"status": 1,
"authRecordStatus": "inactive",
"authpayuid": "25026596803",
"amount": 15675.0,
"paymentStartDate": "2025-09-05 00:00:00",
"paymentEndDate": "2025-09-18 00:00:00"
}Failure scenario (Error)
{
"status": 0,
"message": "Failed"
}