---
url: /relypay-whmcs/features/recurring-mandates.md
description: >-
  Charge international cards on a schedule using PayGlocal Standing
  Instructions. Learn the three recurring modes, the SI settings and defaults,
  the mandate lifecycle, and how to manage mandates.
---

# Recurring payments

RelyPay can charge a customer's card automatically for future invoices, so recurring
services keep billing without the customer re-entering their card each time. Recurring runs
through **PayGlocal Standing Instructions (SI)** on **international card** transactions —
PayGlocal is the provider that supports card-on-file mandates. You configure it under
**Addons → RelyPay → Recurring**.

![The RelyPay recurring settings screen](/relypay-whmcs/img/relypay-recurring-settings.png)
*Addons → RelyPay → Recurring*

## How it works

When a customer pays an invoice with an international card and recurring is enabled, RelyPay
sets up a **mandate** — the customer's agreement, held with PayGlocal, that lets you charge
their card again later within agreed limits. From then on, the daily WHMCS cron finds
upcoming invoices for that customer and charges them automatically, so you do not have to
chase each renewal.

## The three recurring modes

**Recurring Mode** is a radio setting that decides when a mandate is created:

* **Flex** — the customer sees an **opt-in checkbox** below the Pay Now button. A mandate
  is created only if they choose to enable automatic future payments. This is the friendly,
  consent-first option.
* **Strict** — **every** international card payment creates a mandate. Use this when
  recurring billing is a condition of the service.
* **Off** — the default. Cards are charged as a standard one-time payment and no mandate is
  created.

## SI settings and defaults

Alongside the mode, a few settings shape each mandate:

* **SI Max Amount Multiplier** — a select from **1x** to **5x**, default **3x**. This caps
  any future auto-charge as a multiple of the first invoice amount. A 3x cap means no single
  automatic charge can exceed three times what the customer first paid — a safeguard for the
  customer.
* **Days Before Due to Charge** — a select from **1** to **5** days, default **2**. This is
  how many days before an invoice's due date the daily cron attempts the auto-charge, giving
  time to retry before the due date if needed.
* **Recurring Payment Gateway** — a select listing only providers that support international
  cards with SI, default **PayGlocal**.

::: info Why international cards?
Standing Instructions are a card-network feature for saving a card for future charges.
RelyPay uses PayGlocal's SI support, which applies to international card payments — so
recurring is available on that path.
:::

## The mandate lifecycle

1. **Created.** A mandate is created during the customer's **first card payment**, within
   the limits set by the SI settings above (including the max-amount multiplier).
2. **Charged.** The **daily WHMCS cron** charges upcoming invoices automatically,
   attempting each charge the configured number of **Days Before Due to Charge**.
3. **Active.** While active, the mandate can be used for future auto-charges within its
   limits.
4. **Revoked.** A revoked mandate is cancelled with the provider and can no longer be used
   for auto-charges.

::: tip Keep the cron running
Automatic charges depend on the WHMCS daily cron. If your cron is not running, upcoming
invoices will not be charged automatically. Confirm the WHMCS system cron is scheduled and
healthy.
:::

## The Mandates screen

Review and manage every mandate under **Addons → RelyPay → Mandates**.

![The RelyPay mandates screen](/relypay-whmcs/img/relypay-recurring-mandates.png)
*Addons → RelyPay → Mandates*

The table has these columns: **ID, Client, Mandate ID, Max Amount, Status, Created,
Updated, Actions**. You can narrow the list with the **status filter** and the **search
box** (placeholder *"Client name, email, or mandate ID"*).

Each row offers two actions:

* **Sync** — checks the mandate's live status with the provider and updates the local
  record if it has changed. Use this if a mandate's status looks out of date.
* **Revoke** — cancels the mandate with the provider and marks it revoked locally. A
  revoked mandate cannot be used for future auto-charges. You are asked to confirm before it
  is revoked.

## Related pages

* [PayGlocal configuration](/relypay-whmcs/configuration) — the provider that powers
  recurring; set up its keys before enabling SI
* [Routing](/relypay-whmcs/features/routing) — the non-INR fallback that carries
  international cards
* [Transactions](/relypay-whmcs/features/transactions) — see each recurring charge as it
  happens
