Check Subscription Status
This API is used to check the current status of a subscription after it has been set up. It helps determine whether the subscription is Active (successfully set up and ongoing), Cancelled (manually cancelled by the user), or Revoked(withdrawn by the user).
Environment
| Environment | HTTP Method | API |
| Sandbox | GET | https://api-preprod.phonepe.com/apis/pg-sandbox/subscriptions/v2/{merchantSubscriptionId}/status?details=true |
| Production | GET | https://api.phonepe.com/apis/pg/subscriptions/v2/{merchantSubscriptionId}/status?details=true |
Request
Request Headers
| Header Name | Header Value |
| Content-Type | application/json |
| Authorization | O-Bearer <merchant-auth-token> |
Path Parameters
| Parameter Name | Description |
merchantSubscriptionId | The unique merchant subscription ID provided by the merchant when creating the subscription |
Response
Sample Response for State – Active/Cancelled/Revoked
{
"merchantSubscriptionId": "MS1708797962855",
"subscriptionId": "OMS2402242336054995042603",
"state": "ACTIVATION_IN_PROGRESS/ACTIVE/CANCELLED/REVOKED/FAILED",
"authWorkflowType": "TRANSACTION",
"amountType": "FIXED",
"maxAmount": 200,
"frequency": "ON_DEMAND",
"expireAt": 1737278524000,
"pauseStartDate": null,
"pauseEndDate": null
}For State – Paused
{
"merchantSubscriptionId": "MS1708797962855",
"subscriptionId": "OMS2402242336054995042603",
"state": "PAUSED",
"authWorkflowType": "TRANSACTION",
"amountType": "FIXED",
"maxAmount": 200,
"frequency": "ON_DEMAND",
"expireAt": 1737278524000,
"pauseStartDate": 1708798426196,
"pauseEndDate": 1708885799000
}Response Parameters
| Parameter Name | Data Type | Description |
| String | Unique merchant subscription Id passed by the merchant while creating the subscription. |
| String | The subscription ID generated by PhonePe. |
| String | The current status of the subscription. Possible values: • ACTIVATION_IN_PROGRESS • ACTIVE • EXPIRED • FAILED • CANCEL_IN_PROGRESS • CANCELLED • REVOKE_IN_PROGRESS • REVOKED • PAUSE_IN_PROGRESS • PAUSED • UNPAUSE_IN_PROGRESS |
| String | Type of Authorization |
| String | Type of amount: • Fixed • Variable |
| String | Maximum amount that can be charged. |
| String | Frequency type of subscription. |
| DateTime | Subscription Expiry Time in Epoch (in milliseconds) |
| DateTime | The start date of the subscription pause, applicable only when the subscription is in the “PAUSED” state. Otherwise, the value will be null. The date is provided in epoch (milliseconds). |
| DateTime | The end date of the subscription pause, applicable only when the subscription is in the “PAUSED” state. Otherwise, the value will be null. The date is provided in epoch (milliseconds). |
Try it yourself!
headers
url params
What’s Next?
After retrieving the subscription order status, the next step is to collect the redemption amount according to the selected subscription cycle.