Venflow API
V1Payment links

Listar todos los payment links

GET
/v1/payment-links
Api-Key<token>

Tu clave API privada (comienza con pvk_)

In: header

Organization<token>

Tu ID de organización

In: header

Query Parameters

limit?integer

Límite en el número de objetos a devolver. El límite puede estar entre 1 y 100, y el valor predeterminado es 10

Range1 <= value <= 100
starting_after?string

Un cursor para paginación. starting_after es el ID del último payment link de la página anterior: la respuesta empieza en el siguiente. Los payment links no se eliminan, así que este cursor es la única forma de llegar a los más antiguos cuando has_more es true

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.venflow.app/v1/payment-links"
{
  "data": [
    {
      "active": true,
      "allow_manual_payments": true,
      "apply_discount_to_additional_items": true,
      "collection_mode": "engine",
      "created": 0.1,
      "discount_id": "string",
      "expiration_hours": 0.1,
      "external_initial_charge": true,
      "id": "string",
      "items": [
        {
          "id": "string",
          "name": "string",
          "plan_id": "string",
          "price": 0.1,
          "product_id": "string",
          "quantity": 0.1
        }
      ],
      "livemode": true,
      "metadata": {
        "property1": "string",
        "property2": "string"
      },
      "object": "payment_link",
      "plan": "string",
      "redirect_url": "string",
      "trial_days": 0,
      "url": "string"
    }
  ],
  "has_more": true,
  "object": "list",
  "url": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}

Reabrir el cobro de una factura en revisión POST

Devuelve a la cola de cobro de Venflow una factura en revisión con el banco (`under_review: true`): la factura vuelve a `open` y Venflow la retoma en su próxima corrida de cobros. Mientras el cobro anterior siga sin confirmar, Venflow no hace un segundo débito sobre la misma factura: primero vuelve a consultar ese cobro con el banco. Úsalo cuando sepas que ese cobro no se hizo. Si tu cliente ya te pagó por otra vía, usa `mark_paid`: reabrir el cobro puede terminar debitándole otra vez. Solo es válido si la factura está en revisión. Sobre cualquier otra, incluida una `open` que no está en revisión, responde con un error de precondición. `reason` es obligatorio y queda en el historial de la factura. Al reabrirla se envía el webhook `INVOICE_UPDATE_EVENT` con `invoice.status` en `open`. Requiere el header `Idempotency-Key`. Repetir la llamada con la misma clave no vuelve a aplicar la acción: devuelve la factura como está en ese momento.

Crear un payment link POST

Crea un link de pago reutilizable: cada visita genera una sesión de checkout nueva, así que sirve para cobrarle a muchos clientes con un solo link. - Acepta planes recurrentes (cada visita crea una suscripción) y planes de pago único (cobra una sola vez, sin suscripción). - `items` admite **solo items de producto** (`type: "product"` con `product_id` y `plan_id`). Los items ad-hoc son una capacidad de las sesiones de checkout. - `discount_id` debe ser un descuento de tu organización; si no lo es, la respuesta es 404. - Con `active: false` el link nace apagado, útil para prepararlo antes de publicarlo. En un plan de **pago único** aplican además estas reglas, y el link se rechaza con 400 si no se cumplen: - Los items adicionales deben ser de planes de pago único: no se pueden mezclar con recurrentes. - No se admiten días de prueba (`trial_days` mayor que 0). - `allow_manual_payments` debe quedar en `true`: Débito Inmediato es el único medio de pago de un pago único. Crea un link de pago reutilizable: cada visita genera una sesión de checkout nueva, por lo que sirve para cobrarle a muchos clientes con un solo link. Acepta planes recurrentes (crea suscripciones) y planes de pago único (cobra una sola vez, sin suscripción).