---
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 issues stem from inactive licenses, environment/credential mismatches, or missing webhook configurations. Identify your scenario below, or consult the [Error reference](/cashfree-acellemail/errors) for specific messages.

## Gateways not appearing after saving

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

1. **Check the license badge:** Ensure status shows **Active** in **Admin → Plugins → Cashfree → Settings**. If **Not configured** or **Invalid — payment gateway is disabled**, re-enter your key and save.
2. **Verify outbound HTTPS:** Ensure the server connects to relyweb.co on port 443. Outages are tolerated temporarily via local caching, but persistent network blocks disable the badge.
3. **Save settings:** Click **Save Settings** with an Active license to trigger gateway auto-creation.

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

## Payments failing / *"authentication Failed"*

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

1. **Verify API keys:** Ensure App ID and Secret Key match **Cashfree Dashboard → Developers → API Keys** without trailing spaces.
2. **Match Sandbox toggle:** Pair **Test** keys (`TEST...`) with Sandbox **ticked**; pair **Production** keys with Sandbox **unticked**.
3. **Inspect AcelleMail logs:** Review system logs for detailed error codes, then re-save settings.

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

## Webhook not verifying

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

1. **Confirm endpoint registration:** Verify `https://YOUR_DOMAIN/cashier/cashfree/webhooks` is active on both Payment Gateway and Subscriptions tabs (version **2025-01-01**).
2. **Match Webhook Secret:** Align with the dashboard Secret Key, or leave the field **blank** to verify via primary Secret Key.
3. **Whitelist Cashfree IPs:** Ensure port 443 allows Cashfree webhook IPs. See [Configure webhooks](/cashfree-acellemail/guides/configure-webhooks).

## Subscription not offered, or `plan_details.plan_id_invalid`

If the Subscription gateway isn't offered for a plan, or you get *"plan\_details.plan\_id\_invalid"*:

1. **Map the plan:** In **Admin → Payment Gateways → Cashfree Subscription → Edit**, add the `plan_id` to **Cashfree Plan IDs**, then map it in **Admin → Remote Plan Mappings**.
2. **Check currency and amount:** Ensure the AcelleMail plan is priced in **INR** with the exact amount matching the Cashfree plan.

An unmapped or non-INR plan is simply not offered the Cashfree Subscription option at checkout. See [Set up subscriptions](/cashfree-acellemail/guides/set-up-subscriptions).

## *"ionCube Loader required"*

If installation shows *"ionCube Loader required"*, or you get a parse error or blank page, the ionCube Loader isn't active. Enable **ionCube Loader 13.0.2 or newer** on your PHP version (8.2–8.5) and confirm:

```
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
