> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://mpp.dev/api/mcp` to find what you need.

# Intents \[Payment patterns for MPP]

Intents define what kind of payment a server requests. Each intent specifies the shared request fields, Credential requirements, and settlement semantics that payment methods implement.

## Overview

When a server responds with `402` Payment Required, the `WWW-Authenticate` header includes an `intent` parameter. The intent tells the client whether the request is a one-time payment, recurring authorization, or another payment pattern.

```http
HTTP/1.1 402 Payment Required
WWW-Authenticate: Payment method="tempo", intent="charge", ...
```

Payment methods implement intents on top of a payment rail. For example, Tempo supports `charge`, `session`, and `subscription`, while Stripe currently supports `charge`.

## Available intents

[Charge](/intents/charge) — Collect a fixed one-time payment before returning the resource

[Session](/intents/session) — Meter high-frequency usage with reusable payment state

[Subscription](/intents/subscription) — Collect recurring fixed payments across billing periods

## Choose an intent

| Intent | Best for | Example methods |
|---|---|---|
| [`charge`](/intents/charge) | One request, one payment, known price | [Tempo charge](/payment-methods/tempo/charge), [Stripe charge](/payment-methods/stripe/charge), [Lightning charge](/payment-methods/lightning/charge) |
| [`session`](/intents/session) | High-frequency metered usage with costs calculated over time | [Tempo session](/payment-methods/tempo/session), [Lightning session](/payment-methods/lightning/session) |
| [`subscription`](/intents/subscription) | Fixed recurring access by billing period | [Tempo subscription](/payment-methods/tempo/subscription) |
