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

# Payment Methods

> Saved payment methods pay for flight bookings — cards are funded from your balance

A **payment method** is a real card on file (held securely by Stripe). It is used for exactly one thing: **paying for flight bookings**. A flight never mints a virtual card — the fare (plus the service fee) is charged to your saved payment method when the booking is placed.

Payment methods do **not** fund virtual cards or your balance. Virtual cards draw on your **balance**, topped up with Apple Pay or Google Pay via `add_funds` (CLI: `agent-cards fund`) — see the [Quickstart](/personal/quickstart).

## How flight payment works

When you book a flight, AgentCard places a hold on your default payment method for the fare + service fee, books the ticket, then captures the hold. If you have no saved payment method, the booking is refused with `payment_method_required` before any money moves.

## Manage your methods

<Tabs>
  <Tab title="CLI">
    ```bash theme={null}
    agent-cards payment-method setup        # save a method via Stripe
    agent-cards payment-method list         # list methods, marks the default
    agent-cards payment-method default <id> # set the default
    agent-cards payment-method remove --id <id>
    ```
  </Tab>

  <Tab title="MCP">
    * `setup_payment_method` — returns a Stripe URL to save a card.
    * `list_payment_methods` — list methods and the current default.
    * `set_default_payment_method` — choose which method is charged for flight bookings.
    * `remove_payment_method` — remove a saved method.
  </Tab>
</Tabs>

The **default** payment method is the one charged when you book a flight. See the CLI details in [Payment Methods (CLI)](/personal/cli/payment-methods).

## Common error

If a flight booking returns **`payment_method_required`**, you have no saved method yet — run `setup_payment_method` (or `agent-cards payment-method setup`) first. Card creation never needs a payment method — if `create_card` reports a shortfall, add to your balance instead (`add_funds`).
