Listar todos los payment links
Tu clave API privada (comienza con pvk_)
In: header
Tu ID de organización
In: header
Query Parameters
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
1 <= value <= 100Un 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
uuidResponse 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).