Execute Redemption
The Redemption API is used to debit the payment from the user’s bank account as part of a recurring payment. By calling this API, the merchant requests the system to initiate the payment transfer to process the required amount from the user’s account.
The targetDate must be set for a minimum of tomorrow and up to three days following the day the merchant requests redemption. For example, if the request is made on April 22nd, the target date can be the 23rd, 24th, or 25th, but not the 26th or a previous date
Environment
| Environment | HTTP Method | API |
| Sandbox | POST | https://api-preprod.phonepe.com/apis/pg-sandbox/subscriptions/v2/redeem |
| Production | POST | https://api.phonepe.com/apis/pg/subscriptions/v2/redeem |
Request
| Header Name | Header Value | Description |
| Content-Type | application/json | |
| Authorization | O-Bearer <access_token> | Pass access_token received in Authorization call |
Request Parameter
| Parameter Name | Data Type | Description |
merchantOrderId | String | Merchant’s unique reference for this specific debit attempt |
amount | Long | Amount to be debited in paisa |
currency | String | Currency code (e.g., INR) |
paymentFlow.type | String | Flow type (e.g., SUBSCRIPTION_REDEMPTION) |
paymentFlow.merchantSubscriptionId | String | The ID of the Active mandate to be debited |
paymentFlow.targetDate | String | Scheduled date for the debit (YYYY-MM-DD) |
Sample Request
{
"merchantOrderId":"MO17223195610091279",
"amount": 20000000,
"currency": "INR",
"paymentFlow": {
"type": "SUBSCRIPTION_REDEMPTION",
"merchantSubscriptionId": "MS1769569283073",
"targetDate": "2026-01-29"
}
}Response
Sample Response
{
"transactionId": "OM2602020856372873970400",
"state": "PENDING"
}Response Parameter
| Parameter Name | Data Type | Description |
| transactionId | String | PG internal transaction reference |
| state | String | Immediate state of the request (e.g., PENDING) |