Skip to main content
POST
/
subscriptions
/
pay
/
controlled
/
execute-mandate
Create Controlled Execution
curl --request POST \
  --url https://sandbox.cashfree.com/pg/subscriptions/pay/controlled/execute-mandate \
  --header 'Content-Type: application/json' \
  --header 'x-api-version: <x-api-version>' \
  --header 'x-client-id: <api-key>' \
  --header 'x-client-secret: <api-key>' \
  --data '
{
  "execution_id": "basePay123-exec1",
  "payment_id": "basePay123"
}
'
{
  "cf_execution_id": "3333",
  "cf_payment_id": "123456",
  "execution_id": "basePay123-exec1",
  "execution_initiated_time": "2025-06-01T22:14:58+05:30",
  "execution_status": "INITIALIZED",
  "payment_amount": 10,
  "payment_id": "basePay123",
  "payment_status": "PENDING",
  "subscription_id": "abcd"
}

Documentation Index

Fetch the complete documentation index at: https://www.cashfree.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

This API supports UPI mandates only. eNACH mandates are not supported. Card support is planned for a future release.

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 execution.

Response returned when 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.