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

# Overview

The **Payment Sessions API** provides a single, uniform interface for merchants to accept payments from their customers, including one-time charges, subscription setup payments, and repeat payments using previously saved details.

👉 [See Product Guide](/documentation/collect/payment-sessions)

<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 gap-6">
  <Card title="Quickstart: One-Time Payments" icon="bolt" href="/api-reference/collect/payment_sessions/quickstart-one-time">
    Create a payment session, launch checkout, and handle the completion webhook.
  </Card>

  <Card title="Quickstart: Recurring Payments" icon="bolt" href="/api-reference/collect/payment_sessions/quickstart-recurring">
    Set up a mandate and collect future payments without customer interaction.
  </Card>
</div>

## **Webhooks**

The **Payment Sessions API** supports webhook events that allow you to track the lifecycle and state changes of a payment session in real time.

These webhooks can be used to automate internal processes, trigger notifications, or initiate subsequent payment flows.

### **Available Events**

* **`payment_session.created`**\
  Triggered when a Payment Session is successfully created and ready to be used for payment.\
  👉 [See `payment_session.created` Event](/api-reference/collect/payment_sessions/webhook/created)

* **`payment_session.updated`**\
  Triggered when a Payment Session is updated.\
  👉 [See `payment_session.updated` Event](/api-reference/collect/payment_sessions/webhook/updated)

* **`payment_session.completed`**\
  Triggered when a Payment Session has been completed successfully.\
  👉 [See `payment_session.completed` Event](/api-reference/collect/payment_sessions/webhook/completed)

The event payload includes a `payment_session` object, which contains fields like `created_at`, `updated_at`, and `payment_id`.

Where applicable, it also includes a `customer_id` and `payment_method_id`, which can be used for subsequent **next-in-series** payments.

### Error Codes

👉 [See Common Error Codes](/api-reference/getting-started/errors)
