Integración API · botón de pago
CONTENIDO
1. Flujo de integración
2. Autenticación
3. Consultar deuda
4. Notificar pago
5. Botón de pago
6. Conciliación
7. Consideraciones
Resumen de la integración
La integración es bidireccional: tu plataforma expone endpoints para consultar deudas y recibir notificaciones de pago; Neat entrega una URL de redirección que inicia el flujo de pago.
Cada endpoint del proveedor debe controlar el acceso. Recomendamos el header Authorization con un bearer token compartido entre tu plataforma y Neat. Coordina con tu contacto de Neat el secret y la rotación.
Authorization
Authorization: Bearer <tu_token_compartido>
Neat consume estos endpoints para obtener la deuda del usuario y para notificar pagos completados en tiempo real.
GET
/consulta_deuda?bill_id={bill_id}
POST
/notificacion
1 · Consultar deuda
Neat llama este endpoint cuando el usuario aterriza en el checkout para obtener los datos de la deuda asociada al bill_id que enviaste en el redirect.
Respuesta exitosa
2 · Notificar pago
Cuando un usuario completa un pago en Neat, llamamos este endpoint en tiempo real para que actualices la cuenta en tu sistema. Las URLs de retorno post-pago se coordinan con Neat al momento de integrar.
Payload de notificación
Botón de pago Neat
El botón de pago habilita el flujo desde el entorno del proveedor y redirige al usuario a nuestra pasarela. Puede incorporarse como un método de pago más dentro de tu checkout.
URL de redirección
Archivo de conciliación
Además de la notificación en línea, todos los días enviamos un archivo .csv con los pagos del periodo. Incluye id, bill_id, payment_id, payment_date, transfer_date, user_rut, user_email y amount_paid.
Consideraciones importantes
Los fondos se reciben en 48 horas bancarias. Cada pago se deposita de manera independiente, los pagos completados no pueden ser cancelados por el usuario y /notificacion debe ser idempotente sobre payment_id para evitar duplicar abonos.
La documentación fue importada desde el HTML adjunto y organizada como bloques editables dentro de Framer.