Invoice en la API).
Este flujo es apropiado para créditos, colegiaturas, membresías con importes definidos o cualquier cobro que debas programar desde tu sistema.
Antes de comenzar
Necesitas una API key, un endpoint HTTPS para recibir webhooks y un identificador estable de tu cliente. Guarda los IDs que devuelve Quentli junto con los IDs de tu sistema:customerIdpara el cliente.paymentMethodIdpara la tarjeta guardada, si usarás cobros automáticos.subscriptionIdpara el plan de pagos.invoiceIdpara cada adeudo.
1. Crea o identifica al cliente
Crea el cliente una vez y conserva la relación con el identificador externo de tu sistema.POST /v1/customers
2. Recopila una tarjeta para los cargos recurrentes
Si Quentli realizará cargos automáticos, primero pide al cliente que registre una tarjeta mediante una sesión de inscripción. Quentli recopilará los datos de la tarjeta en el Portal de Clientes; tu sistema nunca recibe ni envía los datos de tarjeta por API.POST /v1/setup-sessions
url de la respuesta. También puedes usar el modo iframe si necesitas conservarlo dentro de tu experiencia.
Obtén el paymentMethodId con el webhook PAYMENT_METHOD_CREATED o consulta los métodos de pago guardados:
3. Crea la suscripción y asocia la tarjeta
La suscripción agrupa el plan de pagos y define el método de cobranza. Asocia explícitamente elpaymentMethodId que recibiste en el paso anterior.
POST /v1/subscriptions
onlyAutomaticCollection: false si quieres que el cliente pueda pagar por efectivo o transferencia además del cargo automático. Si lo estableces en true, Quentli solo ofrecerá métodos automáticos.
4. Crea una factura por cada adeudo
Crea una factura por cada vencimiento que exista en tu sistema. El monto se expresa en centavos ydueDate usa formato ISO 8601 en UTC.
POST /v1/invoices
5. Recibe eventos
Configura webhooks para mantener tu sistema sincronizado. Para este flujo, consume sugerimos consumir los siguientes eventos:
Consulta la guía de Webhooks para ver los payloads y configurar tu endpoint.
6. Obtén referencias de efectivo y transferencia (opcional)
Solicita la instrucción del método que vas a mostrar al cliente. La llamada crea un pago pendiente o reutiliza uno existente del mismo tipo e importe.POST /v1/invoices/{invoiceId}/payments
payment.cashPaymentInstructions.reference y, cuando aplica, expiresAt:
Respuesta de efectivo
TRANSFER. La respuesta incluye la CLABE, el banco y la referencia en payment.transferInstruction:
POST /v1/invoices/{invoiceId}/payments
7. Informa pagos recibidos fuera de Quentli (opcional)
Si cobras una factura mediante un proveedor externo, informa a Quentli que ya fue liquidada para que no intente cobrar la tarjeta:Flujo completo
- Tu sistema crea o identifica al cliente.
- El cliente registra su tarjeta en una sesión de inscripción.
- Tu sistema recibe el método de pago y crea la suscripción.
- Tu sistema crea y sincroniza una factura por cada adeudo.
- Tu sistema configura el endpoint de webhooks para recibir actualizaciones del cobro.
- Tu sistema solicita la referencia de efectivo o transferencia que deba mostrar al cliente.
- Quentli cobra, concilia métodos alternativos y envía webhooks.
- Tu sistema procesa cada evento de forma idempotente y actualiza el estado comercial del adeudo.