Ir al contenido

API

En esta página

Listar

Recorre tus canales de pago de más nuevo a más antiguo con paginación por cursor y filtra por proyecto, estado o tu propio identificador externo.

GET/v1/payment-channels

Clave de API: Payment

Devuelve los canales visibles para esta credencial, de más nuevo a más antiguo. Úsalo para conciliar tus registros de clientes con los nuestros, o para localizar un canal por el external_id que le asignaste.

Parámetros de consulta

Parámetro Tipo Por defecto Descripción
limit integer 20 Tamaño de página, de 1 a 100.
cursor string Cursor opaco: el next_cursor de la página anterior.
status string active, blocked o provisioning. Se puede repetir; los duplicados se rechazan.
external_id string Coincidencia exacta con el identificador que diste al crear el canal.
project_id string Limita a un solo proyecto (prj_…).

Cualquier otro parámetro se rechaza. No existe external_order_id ni created_from / created_to: eso es de facturas y retiros, no de canales.

Ejemplo

GET /v1/payment-channels?limit=50&status=active&status=provisioning HTTP/1.1
Host: api.paymos.io
Authorization: HMAC-SHA256 pk_live_…:…
X-Request-Timestamp: 1767225660

Respuesta (200 OK)

{
  "items": [
    {
      "id": "pc_2QhKZv6mRt9WdA3nYpLbXf",
      "project_id": "prj_xFukZuAJZR06pLVBh3uwzv",
      "external_id": "customer-42",
      "status": "active",
      "is_accepting_payments": true,
      "is_fully_provisioned": false,
      "is_test": false,
      "applied_fee_percent": 1.0,
      "customer_fee_percent": 0,
      "networks": [
        {
          "network": "TRC20",
          "status": "active",
          "address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
          "tokens": [
            { "symbol": "USDT", "minimum_deposit": "1.00" },
            { "symbol": "USDC", "minimum_deposit": "1.00" }
          ]
        },
        {
          "network": "ERC20",
          "status": "active",
          "address": "0x9f2a6c1b4e8d7350ab11c9e5f0d2743b86ce41d9",
          "tokens": [
            { "symbol": "USDT", "minimum_deposit": "12.00" },
            { "symbol": "USDC", "minimum_deposit": "12.00" }
          ]
        },
        {
          "network": "SOL",
          "status": "provisioning",
          "tokens": [
            { "symbol": "USDC", "minimum_deposit": null }
          ]
        }
      ],
      "created_at": 1767225600,
      "updated_at": 1767225780
    },
    {
      "id": "pc_6BwTyH4nPl8QmZ2vKrJdSc",
      "project_id": "prj_xFukZuAJZR06pLVBh3uwzv",
      "external_id": "customer-41",
      "status": "provisioning",
      "is_accepting_payments": false,
      "is_fully_provisioned": false,
      "is_test": false,
      "applied_fee_percent": 1.0,
      "customer_fee_percent": 0,
      "networks": [
        {
          "network": "TRC20",
          "status": "provisioning",
          "tokens": [
            { "symbol": "USDT", "minimum_deposit": null },
            { "symbol": "USDC", "minimum_deposit": null }
          ]
        },
        {
          "network": "ERC20",
          "status": "provisioning",
          "tokens": [
            { "symbol": "USDT", "minimum_deposit": null },
            { "symbol": "USDC", "minimum_deposit": null }
          ]
        },
        {
          "network": "SOL",
          "status": "provisioning",
          "tokens": [
            { "symbol": "USDC", "minimum_deposit": null }
          ]
        }
      ],
      "created_at": 1767225540,
      "updated_at": 1767225540
    }
  ],
  "next_cursor": "CfDJ8JvN…"
}

Paginación

El orden es created_at y, a igualdad, el id del canal, los dos descendentes, así que la secuencia se mantiene estable mientras paginas.

  • next_cursor vale null en la última página. Esa es la señal para parar.
  • Un cursor queda ligado a los filtros que lo generaron. Si cambias status, external_id o project_id y reutilizas el cursor antiguo, recibes 400 pagination_cursor_invalid: la alternativa sería saltarse en silencio filas que nunca llegaste a ver.
  • Los cursores caducan 24 horas después de emitirse. Pasado ese plazo, arranca otra vez por la primera página.
  • Un project_id fuera del alcance de tu credencial devuelve una página vacía en lugar de un 404, así que la API nunca confirma si existe un proyecto que no puedes ver.

Errores

Code HTTP Cuándo
payment_channels_disabled 503 Los canales de pago no están activados para tu cuenta en este entorno.
payment_key_required 403 La petición se firmó con una clave Payout (rk_).
pagination_cursor_invalid 400 El cursor está mal formado, ha caducado o está ligado a otros filtros.
field_invalid_enum 400 Un valor de status desconocido.
field_invalid_format 400 project_id no es un identificador prj_ válido, o status se repitió dos veces con el mismo valor.
payment_channel_external_id_invalid 400 external_id supera los 128 caracteres.
field_out_of_range 400 limit queda fuera de 1–100.
query_parameter_unknown 400 Un parámetro que no está en la tabla de arriba.

Consulta Códigos de error para el catálogo completo.