Sistema de Comisiones
El sistema de comisiones determina cuánto retiene Floutic de cada pago como comisión de plataforma antes de transferir el neto al experto.
Arquitectura
La lógica de comisiones está en app.services.commission_service.CommissionService. Las tasas se almacenan en la base de datos mediante el modelo CommissionConfig, lo que permite ajustes sin cambios en el código.
Modelo de Datos
CommissionConfig
| Campo | Tipo | Descripción |
|---|---|---|
level | String (PK) | Nivel del experto (Global, Pro, Enterprise) |
rate | Numeric(5,4) | Tasa de comisión (ej. 0.0500 = 5%) |
updated_at | DateTime | Última actualización |
Campos en Payment
| Campo | Tipo | Descripción |
|---|---|---|
commission_amount | Numeric(10,2) | Comisión calculada al liberar |
expert_amount | Numeric(10,2) | Monto neto para el experto |
expert_level_used | String | Nivel del experto capturado al momento del pago |
Flujo de Cálculo
- Al liberar un pago (
release_paymentorelease_and_charge_next), el sistema consulta la tasa de comisión según el nivel actual del experto. - Se calculan los montos:
commission_amount = amount × rateexpert_amount = amount - commission_amount
- Se almacenan ambos valores en el registro de Payment.
- La transferencia a la cuenta Connect del experto es por
expert_amount.
[!IMPORTANT] La comisión se captura como diferencia entre el monto capturado del PaymentIntent y el monto transferido al experto. No se usa Application Fee de Stripe.
Endpoints de Administración
| Método | Path | Descripción | Auth |
|---|---|---|---|
GET | /api/admin/commission-config | Listar todas las configuraciones | Admin |
PUT | /api/admin/commission-config/bulk | Actualizar configuraciones en lote | Admin |
GET | /api/admin/commission-config/{level} | Obtener configuración por nivel | Admin |
PUT | /api/admin/commission-config/{level} | Actualizar configuración por nivel | Admin |
Niveles de Experto
| Nivel | Descripción | Tasa típica |
|---|---|---|
Global | Tasa por defecto para todos los expertos | 5% |
Pro | Expertos con nivel Pro | Configurable |
Enterprise | Expertos con nivel Enterprise | Configurable |
[!TIP] Las tasas se pueden modificar desde el panel de administración sin necesidad de reiniciar el servicio.
Relación con el Flujo de Pagos
Para más detalles sobre cómo las comisiones se integran en el flujo de pagos completo, consulta Pagos.
Para la configuración de Stripe Connect, consulta Configuración de Stripe.