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.

EnvironmentHTTP MethodAPI
SandboxGEThttps://api-preprod.phonepe.com/apis/pg-sandbox/subscriptions/v2/order/{merchantOrderId}/status?details=true
ProductionGEThttps://api.phonepe.com/apis/pg/subscriptions/v2/order/{merchantOrderId}/status?details=true
Request Headers
Header NameHeader Value
Content-Typeapplication/json
AuthorizationO-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 NameDescription
merchantOrderIdMerchant-generated order ID that was shared during the Redemption Notify API call.
Sample Response
{
  "merchantId": "MER273",
  "merchantOrderId": "M2771",
  "orderId": "OMO2605310946557315335104V",
  "state": "COMPLETED",
  "currency": "INR",
  "amount": 100,
  "expireAt": 1780546615690,
  "paymentFlow": {
    "type": "SUBSCRIPTION_REDEMPTION",
    "merchantSubscriptionId": "MS0352112",
    "redemptionRetryStrategy": "CUSTOM",
    "autoDebit": false,
    "validAfter": 1780287416000,
    "validUpto": 1780546615000,
    "notifiedAt": 1780201016168
  },
  "paymentDetails": [
    {
      "transactionId": "OM2606011016390665335021V",
      "paymentMode": "UPI_AUTO_PAY",
      "timestamp": 1780289199068,
      "currency": "INR",
      "amount": 100,
      "payableCurrency": "INR",
      "payableAmount": 100,
      "feeCurrency": "INR",
      "feeAmount": 0,
      "state": "COMPLETED",
      "instrument": {
        "type": "ACCOUNT",
        "accountType": "SAVINGS",
        "bankId": "SBIN"
      },
      "rail": {
        "type": "UPI",
        "utr": "615217042734",
        "umn": "a8763683afef4719a8de4390f8cd3a51@axl"
      },
      "splitInstruments": [
        {
          "instrument": {
            "type": "ACCOUNT",
            "accountType": "SAVINGS",
            "bankId": "SBIN"
          },
          "rail": {
            "type": "UPI",
            "utr": "615217042734",
            "umn": "a8763683afef4719a8de4390f8cd3a51@axl"
          },
          "currency": "INR",
          "amount": 100
        }
      ]
    }
  ]
}
Response Parameters
Parameter NameData TypeDescription
merchantIdStringA unique ID assigned to the merchant by the PhonePe system during the onboarding process.
merchantOrderIdStringA unique orderId provided by the merchant when creating the order.
orderIdStringAn orderId generated by PhonePe.
stateStringPossible value:
COMPLETED
FAILED
PENDING
currencyStringRepresents the currency of the subscription amount (e.g., INR, USD).
amountLongThe amount provided by the merchant in Paise.
expireAtDateTimeRepresents the time in epoch (milliseconds).
paymentFlowArrayProvides the details of the subscription.
paymentFlow.typeStringSpecifies the type of payment flow to be executed.
Allowed Value: SUBSCRIPTION_REDEMPTION
paymentFlow.merchantSubscriptionIdStringUnique ID for the subscription, generated by the merchant.
paymentFlow.redemptionRetryStrategyStringSpecifies the type of payment flow to be executed.
paymentFlow.autoDebitBooleanIndicates whether automatic debit is enabled for the subscription.
paymentFlow.validAfterDateTimeThe start timestamp of the redemption window, provided in milliseconds.
paymentFlow.UptoDateTimeEnd time (in milliseconds) of the redemption window.
paymentFlow.notifiedAtDateTimeTimestamp (in milliseconds) when the customer was notified about the redemption.
paymentDetails.transactionIdStringUnique ID of the transaction generated by PhonePe.
paymentDetails.paymentModeStringMode used to process the payment.
paymentDetails.timestampLongepoch timestamp of when a payment event occurred.
paymentDetails.currencyStringRepresents the currency of the subscription amount (e.g., INR, USD).
paymentDetails.amountLongmonetary value of a payment transaction
paymentDetails.payableCurrencyStringRepresents the currency of the subscription amount (e.g., INR, USD).
paymentDetails.stateStringstatus of the payment transaction, Expected Values:
• PENDING
• FAILED
• COMPLETED
paymentDetails.instrumentObjectThe payment method or instrument used to complete the transaction(ACCOUNT)
paymentDetails.railObjectRepresents the payment rail details used in the split payment.
paymentDetails.splitInstrumentsArray of ObjectsRepresents the split payment details when a transaction is divided across multiple payment instruments.
headers
url params

You can also test this API request directly in Postman for a quick and easy integration check.

In next section, how the amount is executed and debited from the user’s bank account.

Is this article helpful?