Check Order Status


EnvironmentHTTP MethodAPI
SandboxGEThttps://api-preprod.phonepe.com/apis/pg-sandbox/subscriptions/v2/order/{merchantOrderId}/status
ProductionGEThttps://api.phonepe.com/apis/pg/subscriptions/v2/order/{merchantOrderId}/status
Request Headers
Header NameHeader Value
Content-Typeapplication/json
AuthorizationO-Bearer <merchant-auth-token>
Path Parameters
Parameter NameDescription
merchantOrderIdThe unique merchant order ID provided by the merchant when creating the subscription
Sample Debit Card Transaction Response
{
    "merchantId": "TX12345",
    "merchantOrderId": "MO1774243061089",
    "orderId": "OMO2603231047412984235557BW",
    "state": "PENDING",
    "currency": "INR",
    "amount": 200,
    "expireAt": 1774243961270,
    "metaInfo": {
        "udf1": "udf1",
        "udf2": "udf2"
    },
    "paymentFlow": {
        "type": "SUBSCRIPTION_SETUP",
        "merchantSubscriptionId": "MS1774243061089",
        "authWorkflowType": "ZERO",
        "amountType": "FIXED",
        "maxAmount": 20000000,
        "frequency": "MONTHLY",
        "expireAt": 1774643045000,
        "subscriptionId": "OMS2603231047412704235838BW",
        "productType": "ENACH_MANDATE",
        "authInstrumentType": "DEBIT_CARD"
    },
    "paymentDetails": []
}
Sample NetBanking Transaction Response
{
    "merchantId": "TX12345",
    "merchantOrderId": "MO1774243061089",
    "orderId": "OMO2603231047412984235557BW",
    "state": "PENDING",
    "currency": "INR",
    "amount": 200,
    "expireAt": 1774243961270,
    "metaInfo": {
        "udf1": "udf1",
        "udf2": "udf2"
    },
    "paymentFlow": {
        "type": "SUBSCRIPTION_SETUP",
        "merchantSubscriptionId": "MS1774243061089",
        "authWorkflowType": "ZERO",
        "amountType": "FIXED",
        "maxAmount": 20000000,
        "frequency": "MONTHLY",
        "expireAt": 1774643045000,
        "subscriptionId": "OMS2603231047412704235838BW",
        "productType": "ENACH_MANDATE",
        "authInstrumentType": "NET_BANKING"
    },
    "paymentDetails": []
}
Response Parameter
Parameter NameData TypeMandatoryDescription
merchantIdStringYesMerchant identifier
merchantOrderIdStringYesMerchant’s unique identifier for the setup order
orderIdStringYesPG generated internal order ID for the setup
stateStringYesFinal state of the setup order (e.g., COMPLETED, PENDING, FAILED)
currencyStringYesCurrency code (e.g., INR)
amountLongYesInitial setup order amount in paisa
expireAtLongYesOrder expiry timestamp in epoch
metaInfo.udf1StringNoUser Defined Field 1
metaInfo.udf2StringNoUser Defined Field 2
paymentFlow.typeStringYesType of flow (e.g., SUBSCRIPTION_SETUP)
paymentFlow.merchantSubscriptionIdStringYesMerchant’s unique identifier for the subscription
paymentFlow.authWorkflowTypeStringYesAuthentication method (e.g., ZERO)
paymentFlow.amountTypeStringYesType of recurring charge (e.g., VARIABLE or FIXED)
paymentFlow.maxAmountLongYesMaximum limit for recurring debits in paisa
paymentFlow.frequencyStringYesFrequency of debit (e.g., DAILY, MONTHLY)
paymentFlow.expireAtLongYesMandate expiry timestamp in epoch
paymentFlow.subscriptionIdStringYesPG internal ID for the subscription
paymentFlow.productTypeStringYesInstrument category (e.g., ENACH_MANDATE)
paymentFlow.authInstrumentTypeStringYesAuth channel used (e.g., NET_BANKING/DEBIT_CARD)
paymentDetailsListNoContains list of details of each payment attempt (empty if no direct payment attempt was required for ZERO auth)
Is this article helpful?