Redemption Order Status
This API provides the status of an Execute Redemption request. It returns whether the request was successful, failed, or still pending, along with relevant payment details.
API Endpoint
| Environment | HTTP Method | API |
Sandbox | GET | https://api-preprod.phonepe.com/apis/pg-sandbox/checkout/v2/order/{merchantOrderId}/status |
Production | GET | https://api.phonepe.com/apis/pg/checkout/v2/order/{merchantOrderId}/status |
Request
Request Headers
| Header Name | Header Value |
| Content-Type | application/json |
| Authorization | O-Bearer <merchant-auth-token> |
Path Parameters
| Parameter Name | Description |
merchantOrderId | Merchant-generated order ID that was shared during the Redemption Notify API call. |
Response
Sample Response
{
"merchantId": "Merchant1",
"merchantOrderId": "Tx1234",
"orderId": "OMO2602271707486703053678W",
"state": "COMPLETED",
"currency": "INR",
"amount": 100,
"expireAt": 1772537868652,
"paymentFlow": {
"type": "SUBSCRIPTION_REDEMPTION",
"merchantSubscriptionId": "Sub123",
"redemptionRetryStrategy": "STANDARD",
"autoDebit": false,
"validAfter": 1772278669000,
"validUpto": 1772537868000,
"notifiedAt": 1772192269095
},
"paymentDetails": [
{
"transactionId": "OM2603021020514773080857W",
"paymentMode": "UPI_AUTO_PAY",
"timestamp": 1772427051478,
"currency": "INR",
"amount": 100,
"payableCurrency": "INR",
"payableAmount": 100,
"feeCurrency": "INR",
"feeAmount": 0,
"state": "COMPLETED",
"instrument": {
"type": "ACCOUNT",
"accountType": "SAVINGS",
"bankId": "SBIN"
},
"rail": {
"type": "UPI",
"utr": "606132842672",
"umn": "d3aee1762f19469799bcc03e534c1e08@axl"
},
"splitInstruments": [
{
"instrument": {
"type": "ACCOUNT",
"accountType": "SAVINGS",
"bankId": "SBIN"
},
"rail": {
"type": "UPI",
"utr": "606132842672",
"umn": "d3aee1762f19469799bcc03e534c1e08@axl"
},
"currency": "INR",
"amount": 100
}
]
}
],
"metaInfo": {
"udf1": "some meta info of max length 256",
"udf2": "some meta info of max length 256",
"udf3": "some meta info of max length 256",
"udf4": "some meta info of max length 256",
"udf5": "some meta info of max length 256",
"udf6": "some meta info of max length 256",
"udf7": "some meta info of max length 256",
"udf8": "some meta info of max length 256",
"udf10": "some meta info of max length 256",
"udf11": "some meta info of max length 50",
"udf12": "some meta info of max length 50",
"udf13": "some meta info of max length 50",
"udf14": "some meta info of max length 50",
"udf15": "some meta info of max length 50"
}
}Response Parameters
| Parameter Name | Data Type | Description |
| merchantId | String | A unique ID assigned to the merchant by the PhonePe system during the onboarding process. |
| merchantOrderId | String | A unique orderId provided by the merchant when creating the order. |
| orderId | String | An orderId generated by PhonePe. |
| state | String | Possible value: • COMPLETED • FAILED • PENDING |
| amount | Long | Transaction amount in paise. |
| expireAt | DateTime | Expiry time represented as an epoch timestamp (milliseconds). |
| paymentFlow | Array | Contains details of the subscription and redemption configuration. |
| paymentFlow.type | String | Specifies the payment flow type for redemption actions. The type should be “SUBSCRIPTION_REDEMPTION“ for redemption-related actions. |
| paymentFlow.merchantSubscriptionId | String | A unique subscriptionId provided by the merchant to identify and manage the subscription request. |
| paymentFlow.redemptionRetryStrategy | String | Determines if PhonePe (Standard) handles failed debit retries automatically or if the merchant (Custom) manually manages up to 3 retries at 1.5-hour intervals within 48 hours. |
| paymentFlow.autoDebit | Boolean | If set to true, Indicates whether the redemption is processed automatically. |
| paymentFlow.validAfter | DateTime | Start time (in milliseconds) of the redemption window. |
| paymentFlow.validUpto | DateTime | End time (in milliseconds) of the redemption window. |
| paymentFlow.notifiedAt | DateTime | Timestamp (in milliseconds) when the customer was notified about the redemption. |
| errorcode | String | Error code returned if the transaction fails. |
| detailedErrorCode | String | Detailed error information provided when the transaction fails. |
| paymentDetails.amount | Long | Transaction amount in paise. |
| paymentDetails.paymentMode | String | Mode used to process the payment. |
| paymentDetails.transactionId | String | Unique ID of the transaction generated by PhonePe. |
| paymentDetails.state | String | Current status of the debit attempt. |
| paymentDetails.rail | Array | Details of the payment instrument used and UMRN associated with the transaction. |
| paymentDetails.instrument | Array | Details of the customer’s payment instrument (e.g., bank account). |
| paymentDetails.errorCode | String | Error code returned for a failed payment attempt. |
| paymentDetails.detailedErrorCode | String | Detailed error information for the failed attempt. |
| MetaInfo | Array | Additional metadata passed during order creation. |