up
This commit is contained in:
@@ -12,11 +12,13 @@ import (
|
||||
func PasarelasPage(c *fiber.Ctx) error {
|
||||
boldCfg, _ := models.GetBoldConfig()
|
||||
dlocalCfg, _ := models.GetLastActiveDlocalApi()
|
||||
paypalCfg, _ := models.GetPaypalConfig()
|
||||
|
||||
data := fiber.Map{
|
||||
"Title": "Pasarelas de Pago",
|
||||
"Bold": boldCfg,
|
||||
"Dlocal": dlocalCfg,
|
||||
"Paypal": paypalCfg,
|
||||
"user": c.Locals("user"),
|
||||
"modules": c.Locals("userModules"),
|
||||
}
|
||||
@@ -543,3 +545,56 @@ func ValidarBoldLog(c *fiber.Ctx) error {
|
||||
"data": entry,
|
||||
})
|
||||
}
|
||||
|
||||
// ─── PayPal ───────────────────────────────────────────────────────────────────
|
||||
|
||||
// GetPaypalConfigAPI devuelve la configuración activa de PayPal.
|
||||
func GetPaypalConfigAPI(c *fiber.Ctx) error {
|
||||
cfg, err := models.GetPaypalConfig()
|
||||
if err != nil {
|
||||
return c.JSON(fiber.Map{"data": nil})
|
||||
}
|
||||
return c.JSON(fiber.Map{"data": cfg})
|
||||
}
|
||||
|
||||
// SavePaypalConfigWeb guarda o actualiza la configuración de PayPal.
|
||||
func SavePaypalConfigWeb(c *fiber.Ctx) error {
|
||||
type body struct {
|
||||
ID uint `json:"id" form:"id"`
|
||||
ClientIDSandbox string `json:"client_id_sandbox" form:"client_id_sandbox"`
|
||||
ClientSecretSandbox string `json:"client_secret_sandbox" form:"client_secret_sandbox"`
|
||||
ClientIDProd string `json:"client_id_prod" form:"client_id_prod"`
|
||||
ClientSecretProd string `json:"client_secret_prod" form:"client_secret_prod"`
|
||||
Modo string `json:"modo" form:"modo"`
|
||||
WebhookID string `json:"webhook_id" form:"webhook_id"`
|
||||
ReturnURL string `json:"return_url" form:"return_url"`
|
||||
CancelURL string `json:"cancel_url" form:"cancel_url"`
|
||||
Nota string `json:"nota" form:"nota"`
|
||||
}
|
||||
var b body
|
||||
if err := c.BodyParser(&b); err != nil {
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "body inválido"})
|
||||
}
|
||||
if b.Modo == "" {
|
||||
b.Modo = "sandbox"
|
||||
}
|
||||
|
||||
cfg := models.PaypalConfig{
|
||||
ClientIDSandbox: b.ClientIDSandbox,
|
||||
ClientSecretSandbox: b.ClientSecretSandbox,
|
||||
ClientIDProd: b.ClientIDProd,
|
||||
ClientSecretProd: b.ClientSecretProd,
|
||||
Modo: b.Modo,
|
||||
WebhookID: b.WebhookID,
|
||||
ReturnURL: b.ReturnURL,
|
||||
CancelURL: b.CancelURL,
|
||||
Nota: b.Nota,
|
||||
}
|
||||
cfg.ID = b.ID
|
||||
|
||||
if err := models.SavePaypalConfig(cfg); err != nil {
|
||||
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": err.Error()})
|
||||
}
|
||||
return c.JSON(fiber.Map{"message": "Configuración PayPal guardada"})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user