---
url: /razorpay-acellemail/features/subscriptions.md
description: >-
  Bill recurring AcelleMail plans through Razorpay Subscriptions —
  mapping-based, INR-only, with mandate authorization, automatic renewal and
  signature-verified webhooks.
---

# Subscriptions

The **Razorpay Subscription** gateway is the recurring side of this plugin. Instead of charging a
customer once, it sets up an ongoing subscription in **Razorpay Subscriptions** so each billing cycle
is charged automatically — no manual invoicing, no chasing renewals. Use it for any AcelleMail plan
that should renew on its own.

::: info What "mapping" means
A **plan mapping** links one of your local AcelleMail plans to the matching plan you've created in
Razorpay. Razorpay drives the recurring schedule, so it needs its own plan to bill against — the
mapping tells the plugin which Razorpay plan corresponds to which AcelleMail plan.
:::

## Map a plan first

Unlike the direct **Razorpay** gateway, the Subscription gateway needs a mapping before it can be used.
Open **Admin → Remote Plan Mappings** and connect each local plan to its Razorpay counterpart:

1. Find your local AcelleMail plan in the list.
2. Choose the Razorpay plan with the **same currency and amount**.
3. Click **Map**.

![Mapping a local plan to its Razorpay plan](/razorpay-acellemail/img/razorpay-subscriptions-mapping.png)
*Admin → Remote Plan Mappings*

The **Razorpay Subscription** gateway only appears for a plan that is **mapped and priced in INR**. If
a plan isn't eligible you'll see **"Razorpay Subscription — Not available for this plan"** — map the
plan (and confirm it's in INR) to make it available. The direct **Razorpay** gateway needs no mapping
at all.

## What happens when a customer subscribes

Once a plan is mapped, subscribing is fully hands-off after the first step:

1. **Authorize the mandate.** On subscribing, the customer authorizes a recurring **mandate** on
   Razorpay — their approval for Razorpay to charge future cycles.
2. **Automatic renewal.** Razorpay **auto-charges** the customer at each billing cycle. You never
   raise a renewal invoice by hand.
3. **The plugin is notified.** Razorpay sends each result to the plugin by **webhook**, and every
   subscription callback and webhook is **signature-verified** before it's acted on.

This keeps your AcelleMail records in step with Razorpay automatically — a successful charge extends the
subscription; a failed or cancelled one is reflected too.

## Currency

Razorpay Subscriptions are **INR-only** here, so only INR-priced, mapped plans are eligible.

::: tip Set it up end to end
For the full walkthrough — creating the Razorpay plan, mapping it, and confirming webhooks — follow
[Set up subscriptions](/razorpay-acellemail/guides/set-up-subscriptions).
:::

## Related pages

* [Set up subscriptions](/razorpay-acellemail/guides/set-up-subscriptions) — the full walkthrough
* [Direct Payment](/razorpay-acellemail/features/direct-payment) — one-time payments
* [Security](/razorpay-acellemail/features/security) — mandate and webhook verification
* [Configure webhooks](/razorpay-acellemail/guides/configure-webhooks) — so renewals are received
* [Errors](/razorpay-acellemail/errors) — subscription message reference
