---
url: /relypay-whmcs/errors.md
description: >-
  Every RelyPay for WHMCS message a customer or admin might see — checkout
  errors, signature and verification outcomes, and update or license messages —
  with what it means and what to do.
---

# Error reference

Search this page for the exact text you saw. Each message is quoted verbatim, with a
plain-English explanation and the fix. Customer-facing messages appear at checkout;
verification and update messages appear in [Transactions](/relypay-whmcs/features/transactions)
or the WHMCS Activity Log. For step-by-step fixes, see
[Troubleshooting](/relypay-whmcs/troubleshooting).

## Checkout messages (shown to the customer)

| Message | What it means | What to do |
| --- | --- | --- |
| "Payment initiation failed. Please try again or contact support." | The provider could not start the payment. | Ask the customer to retry; check the provider's credentials and status on **Providers**. |
| "Payment initialization failed. Please refresh and try again." | The checkout script failed to start in the customer's browser. | Have the customer refresh and try again. |
| "Failed to load payment SDK. Please refresh and try again." | The provider's checkout script did not load — usually a network issue or an ad blocker. | Ask the customer to refresh, disable blockers, or try another network. |
| "Payment SDK is still loading. Please wait a moment and try again." | The customer clicked pay before the checkout script finished loading. | Wait a moment, then pay again. |
| "Payment could not be completed." | A generic provider decline or cancellation at checkout. | Retry; if it persists, check the attempt in **Transactions**. |
| "Payment failed or was cancelled. Please try again." | The customer cancelled, or the payment was declined (Zoho checkout). | Retry the payment. |
| "Payment processing failed" | RelyPay received the result but could not finalise it. | Check the attempt in [Transactions](/relypay-whmcs/features/transactions). |

## Signature and verification outcomes (admin only)

These appear in **Transactions** or the WHMCS Activity Log, never to the customer. They
almost always mean a webhook secret is wrong or missing. Duplicate callbacks are ignored,
so a payment is never processed twice.

| Message | What it means | What to do |
| --- | --- | --- |
| "Signature verification failed" | The callback signature did not match. | Re-check the webhook secret on **Providers** and the webhook set in the provider dashboard. |
| "Webhook signature mismatch" | The received signature does not match the expected value. | Confirm the correct webhook secret is saved for that provider. |
| "Missing webhook secret or signature" | No secret was configured, or the callback carried no signature. | Add the webhook secret on **Providers** and set the webhook in the provider dashboard. |
| "Webhook secret not configured — cannot verify signature. Configure webhook secret in RelyPay → Providers → Zoho." | The Zoho webhook secret is not set. | Enter the Zoho **Webhook Secret** under **Addons → RelyPay → Providers → Zoho**. |

## Update and license messages

Seen under **Global Settings → Update Status** and **License Information**.

| Message | What it means | What to do |
| --- | --- | --- |
| "Unable to check for updates. Could not reach the update server." | A network issue reaching the update server. | Retry; check outbound HTTPS from the server. |
| "Could not verify your license right now — the licensing server was unreachable. Please try again in a few minutes." | A transient licensing-server outage. | Wait a few minutes and retry; your current version keeps working. |
| "Your Support & Updates plan has expired or is not active. Renew it to install updates. Your current version continues to work normally." | A Lifetime license's update entitlement has lapsed. | Renew Support & Updates to install newer versions; the installed version still works. |
| "Version {X} is published but its download is not yet available — please contact support." | The release was announced before its installer finished publishing. | Wait, then retry; **Update Now** stays disabled until it is ready. |
| "Failed to download update from: {url}" | The release server could not be reached, or this build is not authorised. | Check outbound HTTPS and retry; contact support if it persists. |
| "Downloaded file is not a valid ZIP archive." | The downloaded update was corrupted. | Retry the update. |
| "Downloaded file is too small (…)." | The download was incomplete or corrupted. | Retry the update. |
| "ZIP does not contain relypay.php — invalid release package." | The downloaded package is not a valid RelyPay release. | Contact support. |
| "Backup verification failed — relypay.php not found in backup." | The pre-update backup could not be verified, so nothing was changed. | Ensure `modules/addons/` is writable and there is free disk space, then retry. |
| "Addon directory is not writable: {dir}" | RelyPay cannot write to its own directory. | Fix filesystem permissions on the addon directory. |
| "PHP ZipArchive extension is required but not available." | The PHP zip extension is missing. | Ask your host to enable the PHP `zip` extension. |
| "No update information available. Run "Check for Updates" first." | You clicked **Update Now** before checking. | Click **Check for Updates**, then **Update Now**. |

## ionCube loader error

| Message | What it means | What to do |
| --- | --- | --- |
| "This product requires the ionCube PHP Loader" | The server is missing or has an outdated ionCube Loader. RelyPay is an ionCube-encoded build and will not run without one. | Ask your host to enable **ionCube Loader 13.0.2 or newer** for your PHP version. See [Requirements](/relypay-whmcs/requirements). |
