feat: marcar pago manual en contratos con enlace Bold pendiente
Agrega endpoint POST /api/contratos/:id/marcar-pagado y botón (✓) en la tabla de contratos para confirmar el pago sin depender del webhook de Bold. Llama a MarcarContratoPagado (pago_confirmado=true, limpia enlace, renueva fecha vencimiento) y envía correo de confirmación. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
9305cd6eb2
commit
0218b93bb4
@@ -442,3 +442,21 @@ func VerificarPagoBold(c *fiber.Ctx) error {
|
||||
|
||||
return c.JSON(fiber.Map{"ok": true, "confirmado": true, "monto": monto, "mensaje": "¡Pago confirmado!"})
|
||||
}
|
||||
|
||||
// MarcarPagoManual confirma manualmente el pago de un contrato sin pasar por Bold.
|
||||
// POST /api/contratos/:id/marcar-pagado
|
||||
func MarcarPagoManual(c *fiber.Ctx) error {
|
||||
id, err := strconv.ParseUint(c.Params("id"), 10, 64)
|
||||
if err != nil {
|
||||
return c.Status(400).JSON(fiber.Map{"error": "ID inválido"})
|
||||
}
|
||||
ok, err := models.MarcarContratoPagado(uint(id))
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": err.Error()})
|
||||
}
|
||||
if !ok {
|
||||
return c.JSON(fiber.Map{"ok": true, "mensaje": "El pago ya estaba confirmado"})
|
||||
}
|
||||
go services.EnviarCorreoConfirmacionPago(uint(id), "manual")
|
||||
return c.JSON(fiber.Map{"ok": true, "mensaje": "Pago marcado como confirmado"})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user