Skip to main content
POST
Create Controlled Execution
This API supports UPI mandates only. eNACH and Physical NACH (PNACH) mandates are not supported. Card support is planned for a future release.
The debit amount cannot change after the pre-debit notification (PDN) is initiated. If the executed debit amount differs from the amount notified in the PDN, the transaction is declined by the issuing bank due to the amount-match logic enforced at the issuing bank.

Authorizations

x-client-id
string
header
required

Client app ID. You can find your app id in the Merchant Dashboard.

x-client-secret
string
header
required

Client secret key. You can find your secret key in the Merchant Dashboard.

Headers

x-api-version
string
default:2025-01-01
required

API version to be used.

x-request-id
string

Request ID for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.

x-idempotency-key
string<UUID>

An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.

Body

application/json

Request parameters to create a controlled charge execution for a subscription mandate.

execution_id
string
required

A unique ID passed by the merchant to identify the controlled execution attempt.

payment_id
string
required

Base Payment ID for which the controlled execution is being raised.

Response

Success response for creating a controlled payment execution.

cf_execution_id
string

Cashfree-generated identifier for the controlled execution.

cf_payment_id
string

Cashfree subscription payment reference number.

execution_id
string

Merchant-provided identifier for the controlled execution.

execution_initiated_time
string<ISO8601>

The timestamp when the controlled execution was initiated. Timestamps are in IST.

Example:

"2025-06-01T22:14:58+05:30"

execution_status
string

Status of the controlled execution.

payment_amount
number<float64>

Amount associated with the controlled execution.

payment_id
string

Base Payment ID associated with the controlled execution.

payment_status
string

Current status of the parent payment entity.

subscription_id
string

Subscription ID associated with the controlled execution.