Check Transaction Status
Use this API to check the status of a specific payment attempt by its transactionId. It returns the associated order data alongside the details of that single transaction.
Note: Unlike the Order Status API, this endpoint does not support the details or settlementDetails query parameters.
API Endpoint
| Environment | HTTP Method | API |
Sandbox | GET | https://api-preprod.phonepe.com/apis/pg-sandbox/payments/v2/transaction/{transactionId}/status |
Production | GET | https://api.phonepe.com/apis/pg/payments/v2/transaction/{transactionId}/status |
Request
Request Header
| Header Name | Header Value |
Content-Type | application/x-www-form-urlencoded |
Authorization | O-Bearer <merchant-auth-token> |
Path Parameter
| Parameter | Type | Required | Description |
transactionId | String | Yes | The PhonePe PG generated transaction ID (from order status response or pay response) |
Query Parameter
| Parameter | Type | Default | Description |
errorContext | boolean | false | If true, includes detailed error context |
Response
Sample Response
{
"merchantId": "M_001",
"merchantOrderId": "ORDER_123456",
"orderId": "OMO2506...",
"state": "PENDING",
"currency": "INR",
"amount": 10000,
"expireAt": 1750000000000,
"paymentDetails": [
{
"transactionId": "OMT2506...",
"paymentMode": "UPI_INTENT",
"state": "AUTHORIZED",
"amount": 0,
"currency": "INR",
"authAmount": 10000,
"authCurrency": "INR",
"timestamp": 1749999000000,
"instrument": {
"type": "ACCOUNT",
"processingRail": "UPI"
},
"rail": {
"type": "UPI"
}
}
]
}| Parameter Name | Type | Description |
orderId | String | Payment Gateway generated internal order ID. |
state | String | Transaction state after capture request. |