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

# Listar Métodos de Pago

> Listar todas las entidades de método de pago con filtrado y paginación — en el modelo de entidades gu1 para tarjetas, cuentas y billeteras.

## Descripción General

Recupera una lista de entidades de método de pago con filtrado opcional por propietario, tipo u otros criterios.

## Endpoint

```
GET http://api.gu1.ai/entities?entityType=payment_method
```

## Autenticación

Requiere una clave API válida en el encabezado de Autorización:

```bash theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Parámetros de Consulta

<ParamField query="entityType" type="string" required>
  Debe ser `"payment_method"` para filtrar métodos de pago
</ParamField>

<ParamField query="relationshipWith" type="string">
  Filtrar por relación con otra entidad (ej. UUID del propietario persona o empresa)
</ParamField>

<ParamField query="limit" type="number">
  Número de resultados a devolver (predeterminado: 50, máx: 100)
</ParamField>

<ParamField query="offset" type="number">
  Número de resultados a omitir para paginación (predeterminado: 0)
</ParamField>

<ParamField query="sortBy" type="string">
  Campo por el que ordenar: `createdAt`, `updatedAt`, `riskScore`
</ParamField>

<ParamField query="sortOrder" type="string">
  Orden de clasificación: `asc` o `desc` (predeterminado: `desc`)
</ParamField>

## Ejemplos de Solicitudes

### Listar Todos los Métodos de Pago

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "http://api.gu1.ai/entities?entityType=payment_method" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'http://api.gu1.ai/entities?entityType=payment_method',
    {
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );

  const { entities, pagination } = await response.json();
  console.log(`Se encontraron ${entities.length} métodos de pago`);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'http://api.gu1.ai/entities',
      headers={
          'Authorization': 'Bearer YOUR_API_KEY'
      },
      params={
          'entityType': 'payment_method'
      }
  )

  data = response.json()
  print(f"Se encontraron {len(data['entities'])} métodos de pago")
  ```
</CodeGroup>

### Listar Métodos de Pago para una Persona

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "http://api.gu1.ai/entities?entityType=payment_method&relationshipWith=person-uuid-123" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const personId = 'person-uuid-123';

  const response = await fetch(
    `http://api.gu1.ai/entities?entityType=payment_method&relationshipWith=${personId}`,
    {
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );

  const { entities } = await response.json();

  console.log(`La persona tiene ${entities.length} métodos de pago`);

  entities.forEach(pm => {
    const type = pm.entityData.paymentMethod.type;
    const last4 = pm.entityData.paymentMethod.last4;
    console.log(`  - ${type} terminando en ${last4}`);
  });
  ```

  ```python Python theme={null}
  person_id = 'person-uuid-123'

  response = requests.get(
      'http://api.gu1.ai/entities',
      headers={'Authorization': 'Bearer YOUR_API_KEY'},
      params={
          'entityType': 'payment_method',
          'relationshipWith': person_id
      }
  )

  entities = response.json()['entities']

  print(f"La persona tiene {len(entities)} métodos de pago")
  for pm in entities:
      pm_type = pm['entityData']['paymentMethod']['type']
      last4 = pm['entityData']['paymentMethod'].get('last4', 'N/A')
      print(f"  - {pm_type} terminando en {last4}")
  ```
</CodeGroup>

## Respuesta

<ResponseField name="success" type="boolean">
  Si la solicitud fue exitosa
</ResponseField>

<ResponseField name="entities" type="array">
  Array de entidades de método de pago
</ResponseField>

<ResponseField name="pagination" type="object">
  Información de paginación
</ResponseField>

## Ejemplo de Respuesta

```json theme={null}
{
  "success": true,
  "entities": [
    {
      "id": "payment-method-uuid-123",
      "entityType": "payment_method",
      "entityData": {
        "paymentMethod": {
          "type": "credit_card",
          "last4": "4242",
          "brand": "visa",
          "holderName": "John Doe"
        }
      },
      "riskScore": 15,
      "createdAt": "2024-01-15T10:00:00.000Z"
    }
  ],
  "pagination": {
    "total": 1,
    "limit": 50,
    "offset": 0,
    "hasMore": false
  }
}
```

## Ver También

* [Crear Método de Pago](/es/api-reference/payment-methods/create)
* [Obtener Método de Pago](/es/api-reference/payment-methods/get)
* [Actualizar Método de Pago](/es/api-reference/payment-methods/update)
