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> |
⚠️ For Partner Integrations!
It is mandatory to include the X-MERCHANT-ID header with the MerchantID of the end merchant.
Path Parameters
| Parameter Name | Description |
merchantOrderId | Merchant-generated order ID that was shared during the Redemption Notify API call. |
Response
Sample Response
{
"merchantId": "MER123",
"merchantOrderId": "merchantOrderId00",
"orderId": "OMO2602271707486703053678W",
"state": "COMPLETED",
"currency": "INR",
"amount": 100,
"expireAt": 1772537868652,
"paymentFlow": {
"type": "SUBSCRIPTION_REDEMPTION",
"merchantSubscriptionId": "merchantSubId0",
"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
}
]
}
]
}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 |
currency | String | Represents the currency of the subscription amount (e.g., INR, USD). |
amount | Long | The amount provided by the merchant in Paise. |
expireAt | DateTime | Represents the time in epoch (milliseconds). |
| Array | Provides the details of the subscription. |
paymentFlow.type | String | Specifies the type of payment flow to be executed. Allowed Value: SUBSCRIPTION_REDEMPTION |
paymentFlow.merchantSubscriptionId | String | Unique ID for the subscription, generated by the merchant. |
paymentFlow.redemptionRetryStrategy | String | Specifies the type of payment flow to be executed. |
paymentFlow.autoDebit | Boolean | Indicates whether automatic debit is enabled for the subscription. |
paymentFlow.validAfter | DateTime | The start timestamp of the redemption window, provided in milliseconds. |
paymentFlow.Upto | DateTime | End time (in milliseconds) of the redemption window. |
paymentFlow.notifiedAt | DateTime | Timestamp (in milliseconds) when the customer was notified about the redemption. |
paymentDetails.transactionId | String | Unique ID of the transaction generated by PhonePe. |
paymentDetails.paymentMode | String | Mode used to process the payment. |
paymentDetails.timestamp | Long | epoch timestamp of when a payment event occurred. |
paymentDetails.currency | String | Represents the currency of the subscription amount (e.g., INR, USD). |
paymentDetails.amount | Long | monetary value of a payment transaction |
paymentDetails.payableCurrency | String | Represents the currency of the subscription amount (e.g., INR, USD). |
paymentDetails.state | String | status of the payment transaction, Expected Values: • PENDING • FAILED • COMPLETED |
paymentDetails.instrument | Object | The payment method or instrument used to complete the transaction(ACCOUNT) |
paymentDetails.rail | Object | Represents the payment rail details used in the split payment. |
paymentDetails.splitInstruments | Array of Objects | Represents the split payment details when a transaction is divided across multiple payment instruments. |
Check Redemption Order status !
headers
url params
What’s Next?
In next section, how to deactivate an active subscription that is no longer required.