---
url: /razorpay-acellemail/requirements.md
description: >-
  What your server needs before installing the Razorpay gateway for AcelleMail —
  AcelleMail 4.0+, PHP 8.2+, the ionCube Loader, a Razorpay account, outbound
  HTTPS, and an active license.
---

# Requirements

Before you install the Razorpay gateway, take a minute to confirm your server and accounts are ready.
Everything here is standard for a modern AcelleMail install, so if you are already running AcelleMail
4.0 and billing customers online you are almost certainly set — but it is worth checking so the two
gateways appear and process payments the first time you save your settings.

::: info INR-only
Razorpay here settles in **Indian Rupees**. Only INR-priced plans are eligible, and the direct and
subscription gateways both charge in INR.
:::

## Server and software

| Requirement | Details |
| --- | --- |
| **AcelleMail** | 4.0.0 or newer |
| **PHP** | 8.2 or newer (runs on 8.2, 8.3, 8.4 and 8.5) |
| **ionCube Loader** | 13.0.2 or newer (see below) |
| **A Razorpay account** | With an API key pair (Key ID + Key Secret) from the Razorpay dashboard |
| **Outbound HTTPS** | To Razorpay and to relyweb.co for licensing (port 443) |
| **License** | An active Razorpay gateway license |

## The ionCube Loader

The Razorpay gateway ships as an ionCube-encoded build, so your server needs the **ionCube Loader** —
a small, standard PHP extension that runs protected commercial software. It is the *same* Loader
AcelleMail itself requires, so a server already running AcelleMail almost always has it and you rarely
need to install anything new.

You need **ionCube Loader 13.0.2 or newer**. One encoded archive covers every supported PHP version
from 8.2 to 8.5, and newer 14.x and 15.x Loaders are backward-compatible — so there is nothing to
match up.

::: danger Razorpay will not run without ionCube
If the Loader is missing or too old, the plugin shows **"ionCube Loader required"** — or you see a
parse error when you install. Confirm the Loader is active with `php -m | grep -i ioncube` on PHP
8.2–8.5 (it is also visible under **Admin → Info**), then install or update it for your PHP version
and try again.
:::

## Why a Razorpay account and a license

You need a **Razorpay account** so the gateways have credentials to charge with: a **Key ID** and
**Key Secret** from the Razorpay dashboard, plus an optional **Webhook Secret** to verify incoming
events. Both gateways share one set of keys, entered once in Plugin Settings. See
[Get your API keys](/razorpay-acellemail/guides/get-api-keys).

The **license** gates the gateways themselves. Until a valid key is **Active**, neither **Razorpay**
nor **Razorpay Subscription** appears in **Admin → Payment Gateways** and payment processing stays
disabled. Enter your license first and both gateways appear automatically when you save. See
[Licensing](/razorpay-acellemail/licensing) for how the check works and where to manage your key.

## How to check

* **AcelleMail version** — your admin footer shows the running version; confirm it is 4.0.0 or newer.
* **PHP version** — run `php -v` on the server, or check your hosting panel.
* **ionCube Loader** — `php -m | grep -i ioncube` should list `ionCube Loader`; it is also visible
  under **Admin → Info**. If it is missing, install it for your PHP version.
* **Razorpay account** — confirm you can log in to the Razorpay dashboard and generate an API key pair.
* **Outbound HTTPS** — confirm the server can reach Razorpay and relyweb.co on port 443.

## Related pages

* [Installation](/razorpay-acellemail/installation)
* [Configuration](/razorpay-acellemail/configuration)
* [Licensing](/razorpay-acellemail/licensing)
* [Troubleshooting](/razorpay-acellemail/troubleshooting)
