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).
API Endpoint
| Environment | HTTP Method | API |
| Sandbox | GET | https://api-preprod.phonepe.com/apis/pg-sandbox/checkout/v2/subscriptions/{merchantSubscriptionId}/status |
| Production | GET | https://api.phonepe.com/apis/pg/checkout/v2/subscriptions/{merchantSubscriptionId}/status |
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
{
"merchantSubscriptionId": "Sub123",
"subscriptionId": "OMS2604141037458806131949V",
"state": "ACTIVE",
"productType": null,
"authInstrumentType": null,
"authWorkflowType": "TRANSACTION",
"amountType": "FIXED",
"currency": "INR",
"maxAmount": 100,
"frequency": "ON_DEMAND",
"expireAt": 1779689282000,
"pauseStartDate": null,
"pauseEndDate": null
}Response Parameters
| Parameter Name | Data Type | Description |
merchantSubscriptionId | String | Unique ID for the subscription associated with the payment flow. |
subscriptionId | String | A unique subscriptionId provided by the merchant to identify and manage the subscription request. |
state | String | 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 |
| ProductType | String | Defines the type of Product used: UPI_MANDATE |
| authInstrumentType | String | Defines the type of Instruments used. Possible values: • UPI • NET_BANKING • DEBIT_CARD. |
authWorkflowType | String | Verification workflow used for the subscription (e.g., TRANSACTION, PENNY_DROP). |
amountType | String | Specifies whether the debit amount is FIXED or VARIABLE. |
currency | String | Currency in which the subscription is processed (e.g., INR). |
maxAmount | Long | Maximum amount allowed for the mandate (in paise). |
frequency | String | Frequency at which the subscription amount is debited(e.g., DAILY, MONTHLY). |
expireAt | epoch | Expiry time of the subscription represented as an epoch timestamp. |
pauseStartDate | Long | The epoch timestamp indicating when the subscription was paused. |
pauseEndDate | Long | The epoch timestamp indicating when the subscription transitions from the paused state back to the active state. |