ip
This commit is contained in:
@@ -320,13 +320,14 @@ func DlocalWebhook(c *fiber.Ctx) error {
|
||||
if orderID != "" {
|
||||
var contratoID uint
|
||||
if _, err := fmt.Sscanf(orderID, "contrato-%d", &contratoID); err == nil && contratoID > 0 {
|
||||
if err := models.MarcarContratoPagado(contratoID); err != nil {
|
||||
log.Printf("[DLOCAL] Webhook: error marcando contrato %d como pagado: %v", contratoID, err)
|
||||
} else {
|
||||
log.Printf("[DLOCAL] Webhook: contrato %d marcado como pagado", contratoID)
|
||||
// Notificar SaaS externos + enviar correo de confirmación (goroutine, no bloquea respuesta)
|
||||
go services.DispatchSaasPaymentNotification(contratoID, payerEmail, "dlocal", monto, moneda)
|
||||
go services.EnviarCorreoConfirmacionPago(contratoID, "dlocal")
|
||||
if ok, err := models.MarcarContratoPagado(contratoID); err != nil {
|
||||
log.Printf("[DLOCAL] Webhook: error marcando contrato %d como pagado: %v", contratoID, err)
|
||||
} else {
|
||||
log.Printf("[DLOCAL] Webhook: contrato %d marcado como pagado (nuevo=%v)", contratoID, ok)
|
||||
if ok {
|
||||
go services.DispatchSaasPaymentNotification(contratoID, payerEmail, "dlocal", monto, moneda)
|
||||
go services.EnviarCorreoConfirmacionPago(contratoID, "dlocal")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -405,8 +406,8 @@ func DlocalRegistrarPago(c *fiber.Ctx) error {
|
||||
if b.Estado == "PAID" && referencia != "" {
|
||||
var contratoID uint
|
||||
if _, err := fmt.Sscanf(referencia, "contrato-%d", &contratoID); err == nil && contratoID > 0 {
|
||||
if err := models.MarcarContratoPagado(contratoID); err != nil {
|
||||
log.Printf("[DLOCAL] Registro manual: error marcando contrato %d: %v", contratoID, err)
|
||||
if _, markErr := models.MarcarContratoPagado(contratoID); markErr != nil {
|
||||
log.Printf("[DLOCAL] Registro manual: error marcando contrato %d: %v", contratoID, markErr)
|
||||
} else {
|
||||
log.Printf("[DLOCAL] Registro manual: contrato %d marcado como pagado", contratoID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user