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

# Configuración de métodos de pago

> Lee los métodos de pago configurados (habilitados y deshabilitados) para el vendor asociado a tu API key. Úsalo para saber qué métodos de pago puede ofrecer tu integración.

Devuelve la configuración completa de métodos de pago para el vendor asociado a tu API key, enriquecida con datos del catálogo global (`uuid`, `name`, `description`).

El endpoint no acepta query params — `accountId` y `vendorId` se derivan de la API key. **Devuelve todos los métodos** (habilitados y deshabilitados) para que el cliente decida qué mostrar. Los métodos del JSONB sin match en el catálogo se excluyen.

## Autenticación

<ParamField header="x-api-key" type="string" required>
  Tu API key de Fire con scope `payment-methods:read`. La key **debe ser vendor-scoped** (binding account + vendor) — las keys sin `vendorId` se rechazan con `403`.
</ParamField>

## Petición

<RequestExample>
  ```http theme={null}
  GET https://api.fire.rest/api/v1/external/payment-methods/config
  x-api-key: <tu_api_key>
  ```
</RequestExample>

## Respuesta

<ResponseField name="accountId" type="string">UUID del account al que pertenece la API key.</ResponseField>

<ResponseField name="countries" type="object[]">
  <Expandable title="country">
    <ResponseField name="countryCode" type="string">ISO 3166-1 alpha-2 (ej. `BR`, `EC`, `CO`).</ResponseField>

    <ResponseField name="vendors" type="object[]">
      <Expandable title="vendor">
        <ResponseField name="vendorId" type="string">Identificador del vendor.</ResponseField>
        <ResponseField name="vendorName" type="string">Nombre legible del vendor.</ResponseField>

        <ResponseField name="paymentMethods" type="object[]">
          <Expandable title="paymentMethod">
            <ResponseField name="uuid" type="string">UUID del catálogo global de `payment_methods`.</ResponseField>
            <ResponseField name="code" type="string">Código del método (ej. `CASH`, `CREDIT_CARD`).</ResponseField>
            <ResponseField name="name" type="string">Nombre display.</ResponseField>
            <ResponseField name="description" type="string | null">Descripción opcional.</ResponseField>
            <ResponseField name="enabled" type="boolean">Si el método está activo para este vendor.</ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "accountId": "550e8400-e29b-41d4-a716-446655440000",
    "countries": [
      {
        "countryCode": "EC",
        "vendors": [
          {
            "vendorId": "100.1.10",
            "vendorName": "Sandbox Ecuador",
            "paymentMethods": [
              {
                "uuid": "9f3a-...-e1",
                "code": "CASH",
                "name": "Efectivo",
                "description": null,
                "enabled": true
              },
              {
                "uuid": "7e2b-...-c8",
                "code": "CREDIT_CARD",
                "name": "Tarjeta de crédito",
                "description": "Visa, Mastercard",
                "enabled": true
              },
              {
                "uuid": "abcf-...-2d",
                "code": "PlaceToPay",
                "name": "PlaceToPay",
                "description": null,
                "enabled": false
              }
            ]
          }
        ]
      }
    ]
  }
  ```

  ```json 401 — API key inválida theme={null}
  {
    "error": {
      "code": "unauthorized",
      "message": "Invalid or missing API key"
    }
  }
  ```

  ```json 403 — key no vendor-scoped theme={null}
  {
    "error": {
      "code": "forbidden",
      "message": "API key must be vendor-scoped to access this endpoint"
    }
  }
  ```
</ResponseExample>

## Notas

* `uuid` viene del catálogo global de `payment_methods`, no del JSONB por account.
* Los métodos deshabilitados se incluyen para que puedas renderizarlos con estado "no disponible" o esconderlos — es tu decisión.
* `countries` agrupa por código de país del JSONB.

## Relacionado

<CardGroup cols={2}>
  <Card title="Configuración de canales" icon="grid-2" href="/es/api-reference/channels-config">
    Endpoint companion para leer los canales de venta configurados.
  </Card>

  <Card title="Autenticación" icon="lock" href="/es/authentication">
    Cómo funcionan las API keys vendor-scoped y los scopes.
  </Card>
</CardGroup>
