Check Setup Order Status


This API allows you to check the status of a mandate after a subscription has been successfully set up. Once the mandate is created and the payment is debited, you can use this API to track the corresponding order status, including whether it is successful, pending, or failed.

EnvironmentHTTP MethodAPI
SandboxGEThttps://api-preprod.phonepe.com/apis/pg-sandbox/paylinks/v1/{merchantOrderId}/status?details=[false or true]
ProductionGEThttps://api.phonepe.com/apis/pg/paylinks/v1/{merchantOrderId}/status?details=[false or true]
Request Headers
Header NameHeader Value
Content-Typeapplication/json
AuthorizationO-Bearer <merchant-auth-token>
Path Parameters
Parameter NameDataTypeMandatoryDescription
merchantOrderIdStringYesUnique orderId generated by the merchant to track the transactions.
detailsBooleanNotrue → return all attempt details under paymentDetails list
false → return only latest attempt details under paymentDetails list
Sample Response
{
    "orderId": "OMO2605172306419764430200BW",
    "state": "COMPLETED",
    "currency": "INR",
    "amount": 47900,
    "expireAt": 1781631401790,
    "paymentFlow": {
        "type": "PAYLINK",
        "paylinkUrl": "https://stg.phon.pe/xf72uqe4"
    },
    "paymentDetails": [
        {
            "transactionId": "OM2605172309216534430299BW",
            "paymentMode": "UPI_QR",
            "timestamp": 1779039562040,
            "currency": "INR",
            "amount": 47900,
            "payableCurrency": "INR",
            "payableAmount": 47900,
            "feeCurrency": "INR",
            "feeAmount": 0,
            "state": "COMPLETED",
            "splitInstruments": [
                {
                    "instrument": null,
                    "rail": null,
                    "currency": null,
                    "amount": null
                }
            ]
        }
    ],
    "subscriptionDetails": {
        "merchantSubscriptionId": "MS10000000453",
        "subscriptionId": "OMS2605172309221824430273BW",
        "state": "ACTIVE",
        "productType": "UPI_MANDATE",
        "authInstrumentType": "UPI",
        "authWorkflowType": "TRANSACTION",
        "amountType": "VARIABLE",
        "currency": "INR",
        "maxAmount": 47900,
        "frequency": "ON_DEMAND",
        "expireAt": 2725810762190,
        "pauseStartDate": null,
        "pauseEndDate": null
    }
}
Response Parameters
Field NameData TypeDescription
orderIdStringUnique internal orderId generated by PhonePe Payment Gateway.
stateStringCurrent status of the order. Expected Values:
PENDING
FAILED
COMPLETED
Expire
amountLongTotal order amount in paise.
currencyStringSpecifies the Currency used (INR)
expireAtLongorder expiry time in epoch
paymentFlow.typeStringType of payment flow.
paymentFlow.paylinkUrlStringThe URL where the customer can access the payment page and complete the transaction.
paymentDetailsListContain list of details of each payment attempt made corresponding to this order.
paymentDetails.transactionIdStringinternal transaction id for given payment attempt
paymentDetails.paymentModeStringMode of payment. Expected Values:
UPI_INTENT
UPI_QR
paymentDetails.timestampLongTransaction attempt timestamp in epoch
paymentDetails.currencyStringRepresents the currency of the subscription amount.
paymentDetails.amountLongAmount in paisa, corresponding to payment attempt.
paymentDetails.payableCurrencyStringRepresents the currency of the payable amount.
paymentDetails.payableAmountLongPayable amount in Paise.
paymentDetails.feeCurrencyStringRepresents the currency of the payable fee amount.
paymentDetails.feeAmountLongPayable Fee amount in Paise.
paymentDetails.stateStringTransaction attempt state. Expected Values:
PENDING
COMPLETED
FAILED
subscriptionDetailsObjectContains all configuration details related to the subscription setup.
subscriptionDetails.merchantSubscriptionIdStringRepresents the unique identifier for the subscription assigned by the merchant.
subscriptionDetails.subscriptionIdStringRepresents the unique identifier for the subscription assigned by the payment system or platform.
subscriptionDetails.stateStringSpecifies the current state of the subscription (e.g., ACTIVE, PAUSED, CANCELLED, EXPIRED).
subscriptionDetails.productTypeStringRepresents the type of product or service linked to the subscription.
subscriptionDetails.authInstrumentTypeStringSpecifies the type of payment instrument used for subscription authorization (e.g., CARD, UPI).
subscriptionDetails.authWorkflowTypeStringRepresents the workflow type used for subscription authorization.
• For PENNY_DROP flow, the amount should be equal to 200 (In Paise)

• For TRANSACTION flow, the amount should be greater than or equal to 100 or the first debit amount(In Paise)
subscriptionDetails.amountTypeStringSpecifies whether the subscription amount is FIXED or VARIABLE.
subscriptionDetails.currencyStringRepresents the currency of the subscription amount.
subscriptionDetails.maxAmountIntegerSpecifies the maximum amount that can be charged for the subscription.
subscriptionDetails.frequencyStringRepresents the frequency of the subscription payments :
• DAILY
• WEEKLY
• MONTHLY
 FORTNIGHTLY
• BIMONTHLY
• QUARTERLY
• HALFYEARLY
• YEARLY
• ON_DEMAND
subscriptionDetails.expireAtDateTimeSpecifies the timestamp when the subscription will expire.
subscriptionDetails.pauseStartDateDateTimeRepresents the start date of the subscription pause period.
subscriptionDetails.pauseEndDateDateTimeRepresents the end date of the subscription pause period.

Is this article helpful?