package main import ( "fmt" "net/http" "os" "text/template" ) func StartPay(w http.ResponseWriter, r *http.Request) { if r.Method != "POST" { w.WriteHeader(http.StatusMethodNotAllowed) fmt.Fprintf(w, "invalid method") return } r.ParseForm() row, err := db.addRequest(r) if err != nil { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte("Cannot initiate database transaction")) return } if !isLeanworkFormValid(r.Form) { w.WriteHeader(http.StatusMethodNotAllowed) fmt.Fprintf(w, "invalid request") return } askForPaymentSelection(w, row) return // m := RpnReq{} // resp, err := m.SendReq(r.Form) // if err != nil { // fmt.Fprintf(w, "invalid response from RPN") // } // w.Header().Set("Content-Type", resp.Header.Get("Content-Type")) // w.Header().Set("Content-Length", resp.Header.Get("Content-Length")) // io.Copy(w, resp.Body) //fmt.Fprintf(w, "my md5=%s", sign) } func askForPaymentSelection(w http.ResponseWriter, row LeanworkRequest) { tmpl.ExecuteTemplate(w, "StartPay", row) } func askForPaymentInfo(w http.ResponseWriter, r *http.Request) { t := template.Must(template.New("askForPaymentInfo").ParseGlob("form/*.tmpl")) t.ExecuteTemplate(os.Stdout, "rpnAskNameAndCard", r.Form) t.ExecuteTemplate(w, "rpnAskNameAndCard", r.Form) }