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

# Session Types

> Compare one-time and recurring payment session types and what each supports

Payment Sessions has two top-level flows: one-time payments and recurring payments.

## One-time payments

A `one_time` session is a payment where the customer is present and completes payment in real time. It can optionally save the payment method for future customer-present use.

## Recurring payments

A recurring payment is split across two session types: one that establishes the mandate, and one for each subsequent charge against it. Collection can be merchant-controlled (you trigger each subsequent charge yourself) or automated by adding a subscription. See [Recurring Payments](/documentation/collect/payment-sessions/recurring-payments/overview) for how mandates, subscriptions, and payment methods work together.

* **`first_in_series`**: The first payment in a series, where the customer is present and authorises their payment method for future merchant-initiated payments. This authorisation is called a mandate, and is typically used to set up recurring payments such as subscriptions or instalment plans.
* **`next_in_series`**: A subsequent payment in a series, where the customer is not present. Fully programmatic, no customer interaction required.

<Note>
  A mandate is an authorisation that allows a merchant to initiate future
  payments when the customer is not present in the flow.
</Note>

## Comparing the Session Types

The following table summarises the differences:

|                                                                                     | **`one_time`**                                                 | **`first_in_series`**                                                                                                 | **`next_in_series`**                          |
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| **Primary Purpose**                                                                 | One-time payment by the customer.                              | First payment to set up future automatic payments.                                                                    | Next payment in a series.                     |
| **Customer Interaction**                                                            | Required (customer is present).                                | Required (customer is present).                                                                                       | Not required (customer is absent).            |
| **Saving Payment Method**                                                           | Optional (for customer present use).                           | Mandatory (for customer absent use).                                                                                  | Not applicable (uses saved method).           |
| **[Mandates](/documentation/collect/payment-sessions/mandates/overview)**           | No mandate created.                                            | Mandate created for future payments.                                                                                  | Relies on an existing mandate.                |
| **[Subscriptions](/documentation/collect/payment-sessions/subscriptions/overview)** | Not applicable.                                                | Optional. Provide `subscription_options` alongside `mandate_options` to automate recurring collections on a schedule. | Not applicable.                               |
| **Payment Flow**                                                                    | Customer completes via Checkout page.                          | Customer completes via Checkout page.                                                                                 | Payment processed programmatically.           |
| **Examples**                                                                        | One-off purchase with the option to save for future purchases. | Subscription setup or instalment plan.                                                                                | Monthly subscription payment or utility bill. |

### Cross-Cutting Flows

Authorisation and capture, payment method verification, and payment allocation aren't tied to a specific session type; they layer on top of any of the three.

|                                                                                                         | **`one_time`**                                                                                            | **`first_in_series`**                                                                                                 | **`next_in_series`**                                      |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| **[Authorisation and Capture](/documentation/collect/payment-sessions/authorisation-capture/overview)** | Supported via `capture_method: manual` for card payments.                                                 | Supported via `capture_method: manual` for card payments.                                                             | Supported via `capture_method: manual` for card payments. |
| **[Payment Method Verification](/documentation/collect/payment-sessions/payment-method-verification)**  | Supported with `amount: 0`. Verifies and saves the payment method for future customer-initiated payments. | Supported with `amount: 0`. Verifies the payment method and creates a mandate for future merchant-initiated payments. | Not applicable.                                           |
| **[Payment Allocation](/documentation/collect/payment-sessions/payment-allocation)**                    | Supported via `payment_allocation` on the session.                                                        | Supported via `payment_allocation` on the session.                                                                    | Supported via `payment_allocation` on the session.        |
