---
url: /cashfree-acellemail/troubleshooting.md
description: >-
  Fixes for common Cashfree gateway issues in AcelleMail — gateways not
  appearing, payments failing, authentication errors, webhook verification and
  subscription plan mapping.
---

# Troubleshooting

Most problems come down to the license not being Active, a credential/environment mismatch, or a
webhook that isn't configured on the Cashfree side. Work through the matching section below.

## Gateways not appearing after saving

If **Cashfree** and **Cashfree Subscription** don't show up in **Admin → Payment Gateways**:

* Check the license badge in **Admin → Plugins → Cashfree → Settings**. The gateways only appear when
  it reads **Active**. If it shows **Not configured** or **Invalid — payment gateway is disabled**,
  re-enter your license key and save.
* Make sure the server can reach **relyweb.co over port 443** — the license check runs as a local
  background check, and brief outages are tolerated, but a blocked connection keeps the badge invalid.
* Click **Save Settings** at least once with a valid license. Saving is what triggers the gateways to
  be created automatically.

See [Licensing](/cashfree-acellemail/licensing) for the badge states.

## Payments failing / "authentication Failed"

If checkout won't start or Cashfree returns **`authentication Failed`**, your credentials or
environment don't match:

* Confirm the **App ID** and **Secret Key** are copied exactly from **Cashfree Dashboard → Developers →
  API Keys**, with no stray spaces.
* Make sure the **Sandbox** checkbox matches your keys: **Test** keys (App ID begins with `TEST`) need
  Sandbox **ticked**; **Production** keys need it **unticked**. The environment is chosen by this
  checkbox, not by the key format.
* Check the AcelleMail log for the recorded error, then re-save Settings.

See the [Payment errors](/cashfree-acellemail/errors) reference for the exact messages.

## Webhook not verifying

If payments succeed on Cashfree but AcelleMail doesn't update, the webhook signature isn't verifying:

* In **Cashfree Dashboard → Developers → Webhooks**, confirm the endpoint
  `https://YOUR_DOMAIN/cashier/cashfree/webhooks` is added on **both** the Payment Gateway and
  Subscriptions tabs, using webhook version **2025-01-01**.
* If you set a **Webhook Secret** in Settings, it must match the endpoint's Secret Key in the Cashfree
  dashboard. Leave the field **blank** to verify with your Secret Key instead.
* Whitelist the Cashfree IPs on port 443. See [Configure webhooks](/cashfree-acellemail/guides/configure-webhooks).

## Subscription not available or plan\_id invalid

If the Subscription gateway shows **"Cashfree Subscription — Not available for this plan"**, or you get
**`plan_details.plan_id_invalid`**:

* The plan must be **mapped**. In **Admin → Payment Gateways → Cashfree Subscription → Edit**, paste
  the plan's `plan_id` in **Cashfree Plan IDs**, then map it in **Admin → Remote Plan Mappings**.
* The plan must be **INR-priced** at the same amount as the Cashfree plan. Non-INR plans are not
  eligible.

See [Set up subscriptions](/cashfree-acellemail/guides/set-up-subscriptions).

## ionCube missing

If installation shows **"ionCube Loader required"**, or you get a parse error or blank page, the
ionCube Loader isn't active. Install/enable **ionCube Loader 13.0.2 or newer** on your PHP version
(8.2–8.5) and confirm it with `php -m | grep -i ioncube`. See
[Requirements](/cashfree-acellemail/requirements).

## Related pages

* [Error reference](/cashfree-acellemail/errors) — exact messages and meanings
* [Licensing](/cashfree-acellemail/licensing) — license badges and gating
* [Configure webhooks](/cashfree-acellemail/guides/configure-webhooks) — endpoint, version, IPs
* [Set up subscriptions](/cashfree-acellemail/guides/set-up-subscriptions) — plan mapping
