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

# Payment Method

> A payment method configuration with its capabilities and availability

## Properties

| Property       | Type   | Required | Description                                        |
| -------------- | ------ | -------- | -------------------------------------------------- |
| `type`         | string | Yes      | Payment method type (e.g., `apple_pay`)            |
| `capabilities` | object | Yes      | What this payment method supports                  |
| `availability` | object | Yes      | Whether this payment method is currently available |

## Capabilities

| Property                    | Type      | Required | Description                                           |
| --------------------------- | --------- | -------- | ----------------------------------------------------- |
| `supportedCurrencies`       | string\[] | Yes      | Currencies supported (e.g., `["USD", "EUR"]`)         |
| `supportedTransactionTypes` | string\[] | Yes      | Transaction types supported (e.g., `["buy", "sell"]`) |

## Availability

| Property            | Type    | Required | Description                                       |
| ------------------- | ------- | -------- | ------------------------------------------------- |
| `active`            | boolean | Yes      | Whether the payment method is currently available |
| `unavailableReason` | string  | No       | Reason for unavailability, if applicable          |

## Payment Method Types

| Type        | Description |
| ----------- | ----------- |
| `apple_pay` | Apple Pay   |

## Example

```json theme={null}
{
  "type": "apple_pay",
  "capabilities": {
    "supportedCurrencies": ["USD", "EUR", "GBP"],
    "supportedTransactionTypes": ["buy"]
  },
  "availability": {
    "active": true
  }
}
```

## Checking Availability

Always check `availability.active` before offering a payment method to users. If `active` is `false`, check `unavailableReason` for details:

```json theme={null}
{
  "type": "apple_pay",
  "capabilities": {
    "supportedCurrencies": ["USD"],
    "supportedTransactionTypes": ["buy"]
  },
  "availability": {
    "active": false,
    "unavailableReason": "Payment method is in maintenance"
  }
}
```
