# Enumera todos los métodos de pago.

Enumere todos los métodos de pago asociados con su cuenta.

Endpoint: GET /payment_methods
Version: 1.0.0
Security: ApiKeyAuth, ApiKeySecret

## Query parameters:

  - `page` (integer)
    Un número de página dentro del conjunto de resultados paginados.
    Example: 1

  - `limit` (integer)
    Indica cuántos resultados devolver por página. Por defecto, devolvemos 20 resultados por página.

ℹ️ El número mínimo de resultados devueltos por página es 1 y el máximo es 100. Si introduces un valor mayor que 100, nuestra API usará por defecto el valor máximo (100).
    Example: 15

  - `search` (string)
    Devuelve resultados que coincidan con la reference que buscaste.

Nota:
Este filtro admite consultas de búsqueda tanto completas como parciales. Por ejemplo, buscar trai puede coincidir con los siguientes valores (extraídos del campo reference):

  - Awesome training sneakers
  - Training equipment
    Example: "trai"

  - `customer_id` (string)
    El identificador único creado por Belvo utilizado para referenciar al cliente.
    Example: "0d1a377b-b4c5-4a94-9e2e-83e59d1f6a9c"

  - `type` (string)
    El tipo de cuenta. Puede ser:

  - bank_account
    Usado para la mayoría de las cuentas bancarias.
    Enum: "bank_account"

## Response 200 fields (application/json):

  - `items` (array)
    Una matriz de objetos de métodos de pago de clientes.

  - `items.id` (string)
    El identificador único creado por Belvo utilizado para referenciar el método de pago.
    Example: "3118128a-6792-4b06-bd61-4acf6f6ad6b5"

  - `items.createdDate` (string,null)
    La marca de tiempo ISO-8601 cuando el cliente fue creado en la base de datos de Belvo.
    Example: "2022-02-09T08:45:50.406032Z"

  - `items.lastUpdatedDate` (string,null)
    La marca de tiempo ISO-8601 cuando se actualizó por última vez la información sobre el cliente.
    Example: "2022-02-09T08:45:50.406032Z"

  - `items.status` (string)
    El estado del método de pago. Puede ser:

- pending_agreement_acceptance
  El método necesita ser aceptado por el propietario de la cuenta bancaria. Esto se puede hacer enviando un Enlace de Configuración al propietario o utilizando nuestro recurso API de Acuerdos.
- waiting_for_activation_response
  El propietario ha aceptado el método de pago. Los archivos de registro y de cargo han sido generados.
  La institución financiera ahora necesita enviar una respuesta sobre la información de la cuenta bancaria (OK o No OK).
- active
  La institución financiera ha confirmado exitosamente el registro de la cuenta bancaria. El método de pago ahora puede ser utilizado para solicitudes de pago.
  Nota: El estado puede cambiar a inactive si el propietario cancela o elimina el método de pago en la institución financiera.
- error
  La institución financiera no pudo confirmar el registro de la cuenta bancaria (generalmente debido a que el propietario proporcionó información incorrecta de la cuenta bancaria o un error en la institución financiera).
- inactive
  El método de pago no puede ser utilizado. Esto generalmente se debe a que el propietario canceló su cuenta y la institución financiera nos informó que el método ya no es válido.
    Enum: "pending_agreement_acceptance", "waiting_for_activation_response", "active", "error", "inactive"

  - `items.type` (string)
    El tipo de cuenta. Para México, este valor se establece en bank_account.
    Enum: same as `type` (1 values)

  - `items.customer` (object)
    Detalles relacionados con el cliente asociado con el método de pago.

  - `items.customer.id` (string)
    El identificador único creado por Belvo utilizado para referenciar al cliente actual.
    Example: "3118128a-6792-4b06-bd61-4acf6f6ad6b5"

  - `items.customer.firstname` (string)
    El primer nombre del cliente.
    Example: "Carlos"

  - `items.customer.lastname` (string)
    El apellido del cliente.
    Example: "Vives"

  - `items.customer.email` (string)
    El correo electrónico del cliente.
    Example: "carlos-vives@musica.mx"

  - `items.customer.phone` (string)
    El número de teléfono del cliente (incluido el código de país).
    Example: "+523001234567"

  - `items.details` (object)
    Detalles relacionados con la cuenta bancaria asociada con el método de pago.

  - `items.details.accountNumber` (string)
    El número de cuenta bancaria.
    Example: "445566790"

  - `items.details.accountType` (string)
    El tipo de cuenta bancaria. Puede ser:
  - savings
  - checking
  - debit_card
    Enum: "savings", "checking", "debit_card"

  - `items.details.bank` (string)
    El nombre del banco mexicano donde se mantiene la cuenta.

Para ver una lista completa de instituciones, por favor visita nuestra página dedicada de Instituciones de Pago.

  - `metadata` (object)
    Metadatos adicionales sobre el conjunto de resultados paginados.

  - `metadata.totalItems` (integer)
    El número total de elementos en el conjunto de resultados paginados.
    Example: 100

  - `metadata.itemCount` (integer)
    El número de elementos en la página actual.
    Example: 10

  - `metadata.itemsPerPage` (integer)
    El número de elementos solicitados por página.
    Example: 10

  - `metadata.totalPages` (integer)
    El número total de páginas en el conjunto de resultados paginados.
    Example: 10

  - `metadata.currentPage` (integer)
    El número de página actual.
    Example: 1

  - `links` (object)
    Enlaces para navegar por el conjunto de resultados paginados.

  - `links.first` (string)
    La URL a la primera página del conjunto de resultados paginados.
    Example: "/{resource}?limit=20"

  - `links.last` (string)
    La URL a la última página del conjunto de resultados paginados.
    Example: "/{resource}?page=4&limit=20"

  - `links.next` (string)
    La URL a la siguiente página del conjunto de resultados paginados.
    Example: "/{resource}?page=3&limit=20"

  - `links.previous` (string)
    La URL a la página anterior del conjunto de resultados paginados.
    Example: "/{resource}?page=2&limit=20"

## Response 400 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 400

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Bad Request"

  - `message` (any)
    Una breve descripción del error, indicando qué está mal con la solicitud.
> Nota: Devolvemos una cadena o un arreglo de cadenas, dependiendo del/los error(es) de validación.

La descripción puede ser (entre otras):

  - id must be a UUID
  - Not enough balance
  - amount is not a valid decimal number.
  - currency must be one of the following values: cop, mxn, usd
  - reference must be a string
  - Customer not found for merchant
  - documentType is a required field
    Example: "id must be a UUID"

## Response 401 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 401

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Unauthorized"

  - `message` (string)
    Una breve descripción del error, indicando qué está mal con la solicitud. En el caso de un error 401 Unauthorized, el mensaje es:

  - Unauthorized credentials
    Example: "Unauthorized credentials"


