> ## 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.

# Examples

> Common mandate configurations

The examples below show `mandate_options` configuration fragments for common billing patterns. They are passed as part of a `first_in_series` payment session request. See [Quickstart: Recurring Payments](/api-reference/collect/payment_sessions/quickstart-recurring) for the full end-to-end flow.

***

### Common Examples

#### Daily billing

A mandate authorising a fixed daily payment:

```json theme={"system"}
{
  "mandate_options": {
    "type": "scheduled",
    "amount": 500,
    "validity_period": {
      "start_date": "2026-01-01",
      "end_date": "2026-12-31"
    },
    "recurrence": {
      "type": "daily",
      "interval_count": 1
    }
  }
}
```

#### Weekly billing

A mandate authorising one payment per week:

```json theme={"system"}
{
  "mandate_options": {
    "type": "scheduled",
    "amount": 1000,
    "validity_period": {
      "start_date": "2026-01-01",
      "end_date": "2026-12-31"
    },
    "recurrence": {
      "type": "weekly",
      "interval_count": 1
    }
  }
}
```

#### Monthly billing

A mandate authorising one payment per month:

```json theme={"system"}
{
  "mandate_options": {
    "type": "scheduled",
    "amount": 2000,
    "validity_period": {
      "start_date": "2026-01-01",
      "end_date": "2026-12-31"
    },
    "recurrence": {
      "type": "monthly",
      "interval_count": 1
    }
  }
}
```

#### Quarterly billing

A mandate authorising one payment per quarter:

```json theme={"system"}
{
  "mandate_options": {
    "type": "scheduled",
    "amount": 6000,
    "validity_period": {
      "start_date": "2026-01-01",
      "end_date": "2026-12-31"
    },
    "recurrence": {
      "type": "monthly",
      "interval_count": 3
    }
  }
}
```

#### Annual billing

A mandate authorising one payment per year:

```json theme={"system"}
{
  "mandate_options": {
    "type": "scheduled",
    "amount": 24000,
    "validity_period": {
      "start_date": "2026-01-01",
      "end_date": "2028-12-31"
    },
    "recurrence": {
      "type": "yearly",
      "interval_count": 1
    }
  }
}
```

#### On-demand (VRP / top-up)

A mandate authorising merchant-initiated collections of up to 50.00 ZAR:

```json theme={"system"}
{
  "mandate_options": {
    "type": "on_demand",
    "amount": {
      "max": 5000
    },
    "validity_period": {
      "start_date": "2026-01-01",
      "end_date": "2026-12-31"
    }
  }
}
```

{/*
#### Installment (periodic)

A mandate for 4 equal monthly payments of 250.00 ZAR, totalling 1000.00 ZAR:

```json
{
"mandate_options": {
  "type": "installment",
  "total_amount": 100000,
  "terms": {
    "type": "periodic",
    "recurrence": {
      "type": "monthly",
      "interval_count": 1,
      "on": {
        "type": "day_of_month",
        "days": [1],
        "adjustment": "nearest_weekday"
      }
    },
    "max_occurrences": 4,
    "amount": 25000
  },
  "validity_period": {
    "start_date": "2026-04-01",
    "end_date": "2026-07-31"
  },
  "timezone": "Africa/Johannesburg",
  "retry_policy": {
    "max_retries": 2,
    "min_days_between_retries": 3,
    "max_days_since_failure": 14
  }
}
}
```

#### Installment (fixed)

A mandate for 3 payments on specific dates with a larger final payment, totalling 1000.00 ZAR:

```json
{
"mandate_options": {
  "type": "installment",
  "total_amount": 100000,
  "terms": {
    "type": "fixed",
    "adjustment": "nearest_weekday",
    "items": [
      { "amount": 30000, "due_date": "2026-04-01" },
      { "amount": 30000, "due_date": "2026-05-01" },
      { "amount": 40000, "due_date": "2026-06-01" }
    ]
  },
  "validity_period": {
    "start_date": "2026-04-01",
    "end_date": "2026-06-30"
  },
  "timezone": "Africa/Johannesburg",
  "retry_policy": {
    "max_retries": 2,
    "min_days_between_retries": 3,
    "max_days_since_failure": 14
  }
}
}
```

<Note>
Some providers require a declared collection interval as part of consent registration. For `fixed` terms, add a `recurrence` hint to `terms` to satisfy this requirement. It has no scheduling role: payment dates are still defined by `items`. The platform derives `amount.max` for provider registration from the largest amount across the installment items.

```json
{
  "mandate_options": {
    "type": "installment",
    "total_amount": 100000,
    "terms": {
      "type": "fixed",
      "recurrence": {
        "type": "monthly",
        "interval_count": 1
      },
      "adjustment": "nearest_weekday",
      "items": [
        { "amount": 30000, "due_date": "2026-04-01" },
        { "amount": 30000, "due_date": "2026-05-01" },
        { "amount": 40000, "due_date": "2026-06-01" }
      ]
    }
  }
}
```
</Note>

<br />

*/}

### Complete Example

A mandate for a monthly subscription capped at 12 payments over one year:

```json theme={"system"}
{
  "mandate_options": {
    "type": "scheduled",
    "amount": 2000,
    "validity_period": {
      "start_date": "2026-01-01",
      "end_date": "2026-12-31"
    },
    "max_occurrences": 12,
    "recurrence": {
      "type": "monthly",
      "interval_count": 1
    }
  }
}
```
