Charge customers on active Cashfree Subscriptions from the dashboard, in bulk, or via the Charge Subscription API for automated recurring billing.
Collect payments for your subscriptions manually through the dashboard, in bulk, or using the Charge Subscription API. Cashfree processes each transaction and confirms payment collection from your customer.For periodic subscriptions, Cashfree automatically initiates payments on your behalf at each billing interval. For on-demand subscriptions, you will need to manually charge your customer as needed.
Cashfree Retry Policy: UPI Autopay charges follow a 1+3 retry mechanism.
If the initial attempt fails, the system retries up to three times at hourly
intervals. ENACH and Card payment methods do not support automatic retries.
Dashboard
API
You can either raise a single charge from a dashboard or you can raise multiple charges by uploading a file.
You can also create a new charge using the Charge Mandate API.Raising charges on multiple subscriptions at once is not supported via API currently.
Controlled charging is a two-step flow in which you send the pre-debit notification and trigger the debit. Cashfree does not automatically retry a failed attempt. You must trigger each attempt yourself.
By default, Cashfree handles the pre-debit notification and the debit for you in a
single Raise a Charge call.If you would rather control both steps (sending the notification yourself, then
triggering the debit at a time you choose, with your own retry logic), use the
controlled payment APIs instead. You send a pre-debit notification, then execute the
charge at least 24 hours later. Currently supported for UPI Autopay only.The two approaches are alternatives, not stages of the same flow. Pick one per charge cycle.
Controlled Subscription Payments
How the two-step flow works, the identifiers, retry limits and timing rules.
Depending on the payment method the charge you have created might be updated asynchronously. In some cases where customer’s bank account does not have sufficient funds the charge attempt will fail. Here are the states which a charge will go through:
Transaction state
Description
INITIALIZED
This state indicates that the transaction is initialized.
PENDING
Transaction is pending while being processed and sent to the appropriate bank for approval.
SUCCESS
Transaction is completed successfully. A success notification is received from the bank, and a success webhook is triggered to notify this.
FAILED
Transaction has failed. A failure notification is received from the bank, and a failed webhook is triggered to notify this.
CANCELLED
This state indicates that the on-demand transaction has been cancelled.