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.
Environment
| Environment | HTTP Method | API |
| Sandbox | GET | https://api-preprod.phonepe.com/apis/pg-sandbox/subscriptions/v2/order/{merchantOrderId}/status?details=true |
| Production | GET | https://api.phonepe.com/apis/pg/subscriptions/v2/order/{merchantOrderId}/status?details=true |
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": "MER273",
"merchantOrderId": "M2771",
"orderId": "OMO2605310946557315335104V",
"state": "COMPLETED",
"currency": "INR",
"amount": 100,
"expireAt": 1780546615690,
"paymentFlow": {
"type": "SUBSCRIPTION_REDEMPTION",
"merchantSubscriptionId": "MS0352112",
"redemptionRetryStrategy": "CUSTOM",
"autoDebit": false,
"validAfter": 1780287416000,
"validUpto": 1780546615000,
"notifiedAt": 1780201016168
},
"paymentDetails": [
{
"transactionId": "OM2606011016390665335021V",
"paymentMode": "UPI_AUTO_PAY",
"timestamp": 1780289199068,
"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": "615217042734",
"umn": "a8763683afef4719a8de4390f8cd3a51@axl"
},
"splitInstruments": [
{
"instrument": {
"type": "ACCOUNT",
"accountType": "SAVINGS",
"bankId": "SBIN"
},
"rail": {
"type": "UPI",
"utr": "615217042734",
"umn": "a8763683afef4719a8de4390f8cd3a51@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 the amount is executed and debited from the user’s bank account.