From 9e037a9c25c4651800360a9702481f0d57ed3eb2 Mon Sep 17 00:00:00 2001 From: ParkSuMin Date: Sun, 16 Feb 2025 20:55:56 +0300 Subject: [PATCH] Ready pay backend --- frontend/style/app/pay/pay.go | 32 +++++++++++++++-------------- frontend/style/app/pay/urls_pay.db | Bin 24576 -> 24576 bytes 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/frontend/style/app/pay/pay.go b/frontend/style/app/pay/pay.go index 54be3f85..8302c690 100644 --- a/frontend/style/app/pay/pay.go +++ b/frontend/style/app/pay/pay.go @@ -9,6 +9,7 @@ import ( "net/http" "os" "strconv" + "time" "github.com/google/uuid" "github.com/gorilla/handlers" @@ -109,8 +110,9 @@ func payHandler(w http.ResponseWriter, r *http.Request) { // Set uuid cookie cookie = &http.Cookie{ - Name: "uuid", - Value: newUUID, + Name: "uuid", + Value: newUUID, + Expires: time.Now().Add(30 * time.Minute), } http.SetCookie(w, cookie) // Отправляем ответ в виде простого текста @@ -120,17 +122,22 @@ func payHandler(w http.ResponseWriter, r *http.Request) { } func checkPayHandler(w http.ResponseWriter, r *http.Request) { - // Извлекаем uuid из запроса (например, из query-параметра) - uuid := r.URL.Query().Get("uuid") + // Извлекаем uuid из cookie + cookie, err := r.Cookie("uuid") + if err != nil { + http.Error(w, "Не найден cookie с uuid", http.StatusBadRequest) + return + } + uuid := cookie.Value if uuid == "" { - http.Error(w, "Не указан uuid", http.StatusBadRequest) + http.Error(w, "Пустое значение uuid", http.StatusBadRequest) return } // Проверяем существование uuid в базе данных var exists bool - querySQL := `SELECT EXISTS(SELECT 1 FROM pay_urls WHERE id = ?)` - err := db.QueryRow(querySQL, uuid).Scan(&exists) + querySQL := `SELECT EXISTS(SELECT 1 FROM pay_urls WHERE uuid = ?)` + err = db.QueryRow(querySQL, uuid).Scan(&exists) if err != nil { http.Error(w, "Ошибка при проверке uuid в базе данных", http.StatusInternalServerError) return @@ -174,9 +181,9 @@ func checkPayHandler(w http.ResponseWriter, r *http.Request) { // Формируем ответ клиенту в зависимости от полученного результата var response string if checkResponse.Mes == "OK" { - response = "Успешная оплата" + response = "OK" } else { - response = "Ошибка при оплате" + response = "GTHO" } // Отправляем ответ в виде простого текста @@ -185,10 +192,6 @@ func checkPayHandler(w http.ResponseWriter, r *http.Request) { w.Write([]byte(response)) } -func TestHandler(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("Hello, World!")) -} - func main() { initDB() @@ -201,9 +204,8 @@ func main() { ) // Register handlers - http.HandleFunc("/", TestHandler) http.HandleFunc("/api/pay", payHandler) - http.HandleFunc("api/check_pay", checkPayHandler) + http.HandleFunc("/api/check_pay", checkPayHandler) // Start server with CORS middleware port := os.Getenv("PORT") diff --git a/frontend/style/app/pay/urls_pay.db b/frontend/style/app/pay/urls_pay.db index e21dde63b72a406aa745b5af0621cd1e1ecfd35d..9787b2ba119e4505b534b938f769cd0d7651af86 100644 GIT binary patch delta 1520 zcma)+J5N+W6vuZ3a$#Zb#6}WyRT7ORIy&!1OxA+0ATd-r_Z5gHCK?JVSU-V;(%4X1 z7zu@m6@{OH51@?}6k2GZh5vKeP_DAf-kCY)p7T4e-8t&+9Ccq^><)G>t;`HMcOESr zRBzaI_PfKf<4$(WezNcELH;3M>aX?1!n65zy_4SUxhJ!4vu_8Z_u24#cWUv<#?y`T zVtsRq{j0MOyW_yitA9iMp~&%E%uf#-`m#OYWkD5(LzV3 zoyAf*;AFJJQ#pxmt38&}-qEddc+V+kAhWFu??Q%aEurb0baFJz38nF(QjvUX6S*m? z$YT_dC+VHYe9;(X!WoN#SJSc(2|N)Ao*wt0!_(tT&j`N}(o<$bG(-X>)iThH1qbXo zH5&GbC8SC;UI}g+skw=!;z3Ktr7^nBBFsX5#?r=S8`uGQYZFl+ZiGkiAw!^R_ZB`V zi(YHodr*NFHv(s+6{tv`o=$^hfmo_gIU^gzeTWUQ7+z@Sxv82YvtVLjogK3v26`JT zAb~A-!iu;vh>xlhutO!`1%lQWF}JJDODls2RfRMnha?rF;XJX#x-ik}n#-h0ZkiBy zGDYA@)j?;C^tFif84Da}fg0&k|FB0kL4{0F&H^FeLph6}f;M&nnR9JT6>>tAYfreN zu2Rm8hCN~t!6*v_UJGftNhMmhC?i@o3ZGR;L|K++EM$rLg}On*W+2ELPD{j0fd6c@~CfKB#Fyo3;q{Fqr{<&M7PG_dyV}Cj<-{`Pk><2qxU)dLSpRMPg z*oFLge!_Oy$NY7^akzYSCEuQ%TAXWtMQ%>5cK_#>gOTFIxgL*oPKpzU4jI{|q3e_8 z#E}?J!~!W!?ALL-&XeNAW*Ya>!yai)EcLk3bENo>O0