> ## Documentation Index
> Fetch the complete documentation index at: https://docs.momentco.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Supported Payment Methods

> How mandate options apply across supported payment methods for recurring payments

Different payment methods interact with `mandate_options` and the recurring payment flow in different ways.

This page documents the behaviour for each supported payment method across `first_in_series` and `next_in_series` sessions.

### `first_in_series`

The customer is present. Consent is captured and a mandate is created.

|                                   | Cards                                                                                                           | Capitec VRP                                                                                                           |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Customer interaction**          | Yes, customer completes checkout flow                                                                           | Yes, customer approves consent in Capitec Pay App                                                                     |
| **Provider-side registration**    | Yes, for some card networks                                                                                     | Yes, VRP consent created at Capitec with explicit terms                                                               |
| **Mandate Type**                  | `scheduled`, `on_demand` {/* , or `installment` */}                                                             | `scheduled`                                                                                                           |
| **Recurrence**                    | Optional, some card providers use it as a consent hint for interval and duration. Enforcement varies by network | Required, used to set the consent interval. Without it, Capitec VRP is not offered at checkout                        |
| **Variable amount**               | Yes                                                                                                             | Yes, a variable amount can be collected, but `amount.max` sets the consent ceiling, fixed for the life of the consent |
| **Amount and period constraints** | Managed by Moment                                                                                               | Yes, `amount.max` sets the consent ceiling and cannot be updated. Other constraints managed by Moment                 |

<Note>
  Capitec Pay supports Variable Recurring Payments (VRP) for scheduled mandates only. When creating a `first_in_series` session for Capitec Pay, `mandate_options` must include:

  * `type` set to `scheduled`.
  * `recurrence` set to one of the following supported combinations of `type` and `interval_count`:

  | `type`    | `interval_count` |
  | --------- | ---------------- |
  | `daily`   | `1`              |
  | `weekly`  | `1`              |
  | `weekly`  | `2`              |
  | `monthly` | `1`              |
  | `monthly` | `6`              |
  | `yearly`  | `1`              |

  Any other combination is not supported by Capitec Pay, therefore Capitec Pay will not be visible on during Checkout.
</Note>

***

### `next_in_series`

The customer is not present. Payment is executed against an existing mandate.

|                                | Cards                                | Capitec VRP                                                                                          |
| ------------------------------ | ------------------------------------ | ---------------------------------------------------------------------------------------------------- |
| **Customer interaction**       | No                                   | No                                                                                                   |
| **Mechanism**                  | Payment collected against saved card | Payment collected against stored consent                                                             |
| **Variable amount**            | Yes                                  | Yes, a variable amount can be collected, but constrained within `amount.max` set at consent creation |
| **Automated via subscription** | Yes                                  | Yes                                                                                                  |
| **Pre-payment validation**     | Mandate active                       | Mandate active and consent status verified with Capitec before each collection                       |
