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 for Redemption
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. |
Sample Request in CURL
curl --location 'https://api-preprod.phonepe.com/apis/pg-sandbox/subscriptions/v2/order/MO1709025691805/status?details=true' \
--header 'Accept: application/json' \
--header 'Authorization: O-Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHBpcmVzT24iOjE3MTIyNTM2MjU2NDQsIm1lcmNoYW50SWQiOiJWMlNVQlVBVCJ9.7aVzYI_f_77-bBicEcRNuYx093b2wCsgl_WFNkKqAPY'Response for Redemption
Sample Response when Subscription state is Notified
{
"merchantId": "Mer01",
"merchantOrderId": "M277",
"orderId": "OMO2604141127165135825782V",
"state": "NOTIFIED",
"currency": "INR",
"amount": 100,
"expireAt": 1776491836478,
"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"
},
"paymentFlow": {
"type": "SUBSCRIPTION_REDEMPTION",
"merchantSubscriptionId": "MS27",
"redemptionRetryStrategy": "CUSTOM",
"autoDebit": false,
"validAfter": 1776232636000,
"validUpto": 1776491836000,
"notifiedAt": 1776146236879
},
"paymentDetails": []
}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: • NOTIFICATION_IN_PROGRESS • NOTIFIED |
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. |
| String | The type should be “SUBSCRIPTION_REDEMPTION“ for redemption-related actions. |
MetaInfo | Array | Contains metadata provided by the merchant. |
paymentFlow.merchantSubscriptionId | String | A unique subscriptionId provided by the merchant to identify and manage the subscription request. |
| String | STANDARD |
paymentFlow.maxAmount | Boolean | If true, PhonePe will handle the execution process. |
| DateTime | The start timestamp of the redemption window, provided in milliseconds. |
paymentFlow.subscriptionId | DateTime | The end timestamp of the redemption window, provided in milliseconds. |
paymentDetails | DateTime | The timestamp in milliseconds indicating when the user was notified about the scheduled redemption. |
Sample Response when Subscription state is Redeemed
{
"merchantId": "SWIGGY8",
"merchantOrderId": "MO1232",
"orderId": "OMO12344",
"state": "COMPLETED",
"amount": 100,
"expireAt": 1620891733101,
"metaInfo": {
"udf1":
"udf2":
"udf3":
"udf4":
"udf5":
"udf6":
"udf7":
"udf8":
"udf9":
"udf10":
"udf11":
"udf12":
"udf13":
"udf14":
"udf15":
},
"paymentFlow": {
"type": "SUBSCRIPTION_REDEMPTION",
"merchantSubscriptionId": "MS121312",
"redemptionRetryStrategy": "CUSTOM",
"autoDebit": true,
"validAfter": 1628229131000,
"validUpto": 1628574731000,
"notifiedAt": 1622539751586
},
"errorCode":
"detailedErrorCode":
"paymentDetails": [
{
"amount": 100
"paymentMode": "UPI_MANDATE",
"timestamp": 1620891733101
"transactionId": "OM124",
"state": "COMPLETED", // FAILED, PENDING
"rail": {
"type": "UPI",
"utr": "2",
"vpa": "****@ybl", //add success@ybl/failure@ybl/pending@ybl here.
"umn": "544fcc8819d04cb08e26faa1fb07eee7@ybl"
},
"instrument": {
"type": "ACCOUNT",
"maskedAccountNumber": "XXX2312",
"ifsc": "VISA",
"accountHolderName": "Harshad",
"accountType": "SAVINGS"
},
"errorCode":
"detailedErrorCode":
}
]
}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 | The amount provided by the merchant in Paise. |
expireAt | DateTime | Represents the time in epoch (milliseconds). |
| Array | Provides the details of the subscription. |
MetaInfo | Array | Contains metadata provided by the merchant. |
| DateTime | Time (in milliseconds) when the user got the notification about the redemption. |
| String | Error code shown if the status is FAILED. |
detailedErrorCode | String | A detailed explanation of the error code, shown only when the status is FAILED. |
paymentMode | String | The method used to collect payment for the subscription. |
transactionId | String | Unique transaction ID generated by PhonePe. |
state | String | The current status of the debit. |
rail | Array | Details of the payment instrument used and UMRN associated with the transaction. |
instrument | Array | Details of the user’s bank account. |
errorCode | String | Error code provided when the payment attempt fails. |
detailedErrorCode | String | An error code description will appear if the attempt fails. |
The metaInfo object contains additional parameters, which are explained in the table below.
Request Parameters of metoInfo Object:
| Parameter Name | Data Type | Description | Mandatory (Yes/No) | Constraints |
metaInfo.udf1-15 | String | Optional details you can add for more information | No | • Maximum length for Udf1-10 = 256 characters • Maximum length for Udf11-15 = 50 characters |
The paymentFlow object contains additional parameters, which are explained in the table below.
Request Parameters of paymentFlow Object:
| Parameter Name | Data Type | Description |
| String | 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. |
| Boolean | If set to true, PhonePe will handle the redemption execution automatically. |
| DateTime | The time (in milliseconds) when the redemption window starts. |
| DateTime | The time (in milliseconds) when the redemption window ends. |
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.