Skip to main content
POST
/
subscriptions
/
pay
/
controlled
/
notify-mandate
Create Controlled Notification
curl --request POST \
  --url https://sandbox.cashfree.com/pg/subscriptions/pay/controlled/notify-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 '
{
  "notification_id": "basePay123-pdn1",
  "payment_amount": 10,
  "payment_id": "basePay123",
  "payment_remarks": "remarks",
  "subscription_id": "abcd"
}
'
{
  "cf_notification_id": "3333",
  "cf_payment_id": "123456",
  "notification_id": "basePay123-pdn1",
  "notification_initiated_time": "2025-06-01T22:14:58+05:30",
  "notification_status": "INITIALIZED",
  "payment_amount": 10,
  "payment_id": "basePay123",
  "payment_status": "INITIALIZED",
  "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 payment notification for a subscription mandate.

notification_id
string
required

A unique ID passed by the merchant for identifying the controlled notification attempt.

payment_amount
number<float64>
required

The amount for which the payment notification is being raised.

payment_id
string
required

Base Payment ID for the controlled payment notification.

subscription_id
string
required

A unique ID passed by the merchant for identifying the subscription.

payment_remarks
string

Remarks for the controlled payment notification.

Response

Success response for creating a controlled payment notification.

Response returned when creating a controlled payment notification.

cf_notification_id
string

Cashfree-generated identifier for the controlled notification.

cf_payment_id
string

Cashfree subscription payment reference number.

notification_id
string

Merchant-provided identifier for the controlled notification.

notification_initiated_time
string<ISO8601>

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

Example:

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

notification_status
string

Status of the controlled payment notification.

payment_amount
number<float64>

Amount associated with the controlled payment notification.

payment_id
string

Base Payment ID associated with the controlled payment notification.

payment_status
string

Current status of the parent payment entity.

subscription_id
string

Subscription ID associated with the controlled payment notification.