Notify Redemption


Once the subscription is set up, the next step is to collect the redemption amount based on the selected subscription frequency.

Redemption involves two steps:

  • Notify: Inform the user about the upcoming payment.
  • Execute: Debits the redemption amount from the user. This step is required only when auto-debit is set to false; if set to true, the debit is processed automatically by PhonePe Payment Gateway.

⚠️ Validate Subscription State Before Notify!


Always verify that the subscription is in the ACTIVE state using the Subscription Status API before calling the Notify API, to prevent avoidable failures.

⚠️ Validate Subscription State Before Notify!


  • When paymentFlow.redemptionRetryStrategy is set to CUSTOM:
    • Merchants must retry until a terminal status (COMPLETED or FAILED) is reached.
    • You are limited to one initial attempt and three retries over a maximum of 48 hours.
    • Retries must be executed only during the non peak periods – 9:31 PM to 9:59 AM and 1:01 PM to 4:59 PM
  • When paymentFlow.redemptionRetryStrategy is set to STANDARD:
    • PhonePe will automatically handle all internal redemption retries for you.
    • Retries are managed internally by PhonePe, with a maximum time window of 48 hours to achieve a terminal status.
    • Retries must be executed only during the non peak periods – 9:31 PM to 9:59 AM and 1:01 PM to 4:59 PM
    • No action or changes are required from the merchant.
  • Default Value: STANDARD.
EnvironmentHTTP MethodAPI
SandboxPOSThttps://api-preprod.phonepe.com/apis/pg-sandbox/checkout/v2/subscriptions/notify
ProductionPOSThttps://api.phonepe.com/apis/pg/checkout/v2/subscriptions/notify
Request Headers
Header NameHeader Value
Content-Typeapplication/json
AuthorizationO-Bearer <merchant-auth-token>
Sample Request
{
    "merchantOrderId": "Tx1234",
    "amount":100,
    "paymentFlow": {
        "type": "SUBSCRIPTION_CHECKOUT_REDEMPTION",
        "merchantSubscriptionId": "Sub123",
        "redemptionRetryStrategy": "STANDARD",
        "autoDebit": false
    }
}
Request Parameters
Parameter NameData TypeDescriptionMandatoryConstraints
merchantOrderIdStringUnique merchant order id generated by merchantYesMax Length: 63 charactersNo Special characters allowed except underscore “_” and hyphen “-“
amountLongTransaction amount in paise.YesMin Value: 100 paise (₹ 1)
paymentFlowObjectContains additional configuration required to process the selected payment flow.Yes
paymentFlow.typeStringSpecifies the type of payment flow to be executed.YesPossible Value: SUBSCRIPTION_CHECKOUT_REDEMPTION
paymentFlow.merchantSubscriptionIdStringUnique ID for the subscription associated with the payment flow.Yes
paymentFlow.redemptionRetryStrategyStringDefines the retry behavior in case a debit attempt fails.No
paymentFlow.autoDebitbooleanIndicates whether automatic debit is enabled for the subscription.No
Sample Response
{
  "orderId": "OMO2604141043461445825945V",
  "state": "NOTIFICATION_IN_PROGRESS",
  "expireAt": 1776489226123,
  "nativeOtpEnabled": false
}
Response Parameters
Parameter NameDescription
orderIdUnique internal orderId generated by PhonePe Payment Gateway.
stateCurrent status of the order.
expireAtExpiry time of the order in epoch format (milliseconds).
Is this article helpful?