From 148d9075daf209a2116f2b953ea67b8cf13a51b8 Mon Sep 17 00:00:00 2001
From: jordi fita mas <jordi@tandem.blog>
Date: Mon, 12 Feb 2024 05:21:30 +0100
Subject: [PATCH] Refactor base URL for the payment success, failure, and
 notification

---
 pkg/booking/public.go | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/pkg/booking/public.go b/pkg/booking/public.go
index 459cc55..ce0abb6 100644
--- a/pkg/booking/public.go
+++ b/pkg/booking/public.go
@@ -80,14 +80,15 @@ func makeReservation(w http.ResponseWriter, r *http.Request, user *auth.User, co
 
 	schema := httplib.Protocol(r)
 	authority := httplib.Host(r)
+	baseURL := fmt.Sprintf("%s://%s/%s/booking", schema, authority, user.Locale.Language)
 	request := &redsys.Request{
 		TransactionType:  redsys.TransactionTypeCharge,
 		Amount:           f.Cart.Total,
 		OrderNumber:      randomOrderNumber(),
 		Product:          "Test Booking",
-		SuccessURL:       fmt.Sprintf("%s://%s/%s/booking/success", schema, authority, user.Locale.Language),
-		FailureURL:       fmt.Sprintf("%s://%s/%s/booking/failure", schema, authority, user.Locale.Language),
-		NotificationURL:  fmt.Sprintf("%s://%s/%s/booking/notification", schema, authority, user.Locale.Language),
+		SuccessURL:       fmt.Sprintf("%s/success", baseURL),
+		FailureURL:       fmt.Sprintf("%s/failure", baseURL),
+		NotificationURL:  fmt.Sprintf("%s/notification", baseURL),
 		ConsumerLanguage: user.Locale.Language,
 	}
 	signed, err := redsys.SignRequest(r.Context(), conn, company, request)