---
url: /cashfree-acellemail/features/subscriptions.md
description: >-
  How the Cashfree Subscription gateway bills recurring AcelleMail plans through
  UPI AutoPay, eNACH and card mandates, using a mapping-based setup because
  Cashfree has no list-all-plans API.
---

# Subscriptions

The **Cashfree Subscription** gateway bills your recurring AcelleMail plans automatically. Instead of
charging a one-off amount, it sets up a **mandate** — the customer's standing authorization to be
debited each billing cycle — using **UPI AutoPay**, **eNACH** or a **card mandate**. Once the mandate
is authorized, Cashfree auto-debits every cycle and tells AcelleMail by webhook.

Use this gateway for anything that repeats. For a single invoice, use the
[Cashfree](/cashfree-acellemail/features/direct-payment) direct-payment gateway instead.

::: info Why you have to map plans
Cashfree has **no "list all plans" API**, so the plugin cannot discover your plans automatically. You
create each plan in Cashfree, then **map** it to the matching AcelleMail plan. This is a one-time
setup per plan.
:::

## Setting it up (overview)

Setting up a subscription plan takes three linked steps. The full walkthrough is in
[Set up subscriptions](/cashfree-acellemail/guides/set-up-subscriptions); here is the shape of it.

### 1. Create the plan in Cashfree

In **Cashfree Dashboard → Subscriptions → Plans**, create each plan and copy its `plan_id`.

### 2. Paste the plan IDs into the gateway

In **Admin → Payment Gateways → Cashfree Subscription → Edit**, paste your `plan_id`s **one per
line** into the **Cashfree Plan IDs** box.

### 3. Map local plans to Cashfree plans

In **Admin → Remote Plan Mappings**, map each local AcelleMail plan to its Cashfree `plan_id` — the
**same currency and amount** — and click **Map**.

![Mapping AcelleMail plans to Cashfree plan IDs](/cashfree-acellemail/img/cashfree-subscriptions-mapping.png)
*Admin → Remote Plan Mappings*

## What the customer sees

When a customer subscribes to a mapped plan, they are taken to Cashfree's hosted page to authorize
the recurring mandate — shown as **"Authorize ₹:amount recurring mandate"**. After they approve it,
Cashfree auto-debits each cycle and notifies the plugin by webhook, which advances the subscription
in AcelleMail.

::: warning The gateway only shows for a mapped INR plan
The Cashfree Subscription gateway appears **only** for a plan that is mapped and priced in INR. On an
unmapped or non-INR plan the customer sees **"Cashfree Subscription — Not available for this plan"**.
If you hit that, finish the mapping step above.
:::

## When recurring debits run

Cashfree follows NPCI's rules for recurring auto-debits. Debits are attempted **outside** the peak
windows of **10 AM–1 PM and 5 PM–9:30 PM IST**, so a renewal charge may settle a little before or
after those windows rather than the exact moment a cycle turns over. This is normal and expected.

## Related pages

* [Set up subscriptions](/cashfree-acellemail/guides/set-up-subscriptions) — the full walkthrough
* [Direct Payment](/cashfree-acellemail/features/direct-payment) — one-time invoice payments
* [Security](/cashfree-acellemail/features/security) — webhook and outcome verification
* [Configure webhooks](/cashfree-acellemail/guides/configure-webhooks) — add subscription events
* [Errors](/cashfree-acellemail/errors) · [Troubleshooting](/cashfree-acellemail/troubleshooting)
