Saltar al contenido principal

Commissions

CampoValor
Handleradmin/handlers/commissions.go
Ruta base/admin/commissions
Modelocommissions, payouts
EstadoImplementado

Descripción

El módulo de comisiones gestiona el cálculo, registro y pago de comisiones sobre transacciones. Soporta múltiples planes de comisión, cálculo automático por porcentaje, y gestión de payouts a vendedores/marketplace partners.


Endpoints

Comisiones

MétodoRutaAcción
GET/admin/commissionsListar comisiones cobradas
GET/admin/commissions?tab=payoutsListar payouts
GET/admin/commissions/summaryResumen total
GET/admin/commissions/exportExportar CSV

Payouts

MétodoRutaAcción
POST/admin/commissions/payoutsCrear payout
GET/admin/commissions/payouts/:idDetalle de payout
POST/admin/commissions/payouts/:id/approveAprobar payout
POST/admin/commissions/payouts/:id/rejectRechazar payout

Campos

Commission

CampoTipoDescripción
idUUIDIdentificador único
tenant_idUUIDTenant propietario
payment_idUUIDPago asociado
planstringPlan de comisión
amountint64Monto de la venta (céntimos)
commission_amountint64Monto de comisión (céntimos)
commission_pctfloat64Porcentaje aplicado
created_attimestampFecha de cálculo

Payout

CampoTipoDescripción
idUUIDIdentificador único
tenant_idUUIDTenant propietario
recipient_idUUIDDestinatario
amountint64Monto total (céntimos)
statusenumpending, approved, rejected, paid
period_startdateInicio del período
period_enddateFin del período
approved_attimestampFecha de aprobación
paid_attimestampFecha de pago

Cálculo de Comisiones

commission_amount = (payment_amount * commission_pct) / 100
  • El porcentaje se almacena como decimal (ej: 0.05 = 5%)
  • Los montos se muestran formateados: $125.00 (dividido por 100)
  • El resumen total usa SumByTenant() para el acumulado

Notas

  • Las comisiones se calculan automáticamente al procesar un pago
  • El export CSV incluye todas las comisiones del tenant
  • Los payouts requieren aprobación manual antes del pago
  • El tab payouts muestra el historial de pagos realizados