Ver código fonte

rpn process simplified

master
patrick 5 anos atrás
pai
commit
ce59502e68
1 arquivos alterados com 60 adições e 46 exclusões
  1. +60
    -46
      purchase.go

+ 60
- 46
purchase.go Ver arquivo

@@ -2,55 +2,11 @@ package main

import (
"fmt"
"log"
"net/http"
"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
}

//debugStartLeanworkCallBack(row)
askForPaymentSelection(w, row)
return

// m := RpnOut{}
// 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 LeanworkIn) {
t := template.Must(template.ParseFiles("PG/StartPay.html"))
//tmpl.ExecuteTemplate(w, "StartPay", row)
t.Execute(w, row)
}

func askForPaymentInfo(w http.ResponseWriter, row LeanworkIn, rpn_type string) {
var data struct {
Id int64
@@ -61,7 +17,11 @@ func askForPaymentInfo(w http.ResponseWriter, row LeanworkIn, rpn_type string) {
data.Sign = row.Sign
data.RpnType = rpn_type
//tmpl.ExecuteTemplate(w, "rpnAskNameAndCard", data)
t := template.Must(template.ParseFiles("PG/rpnAskNameAndCard.html"))
fname := "PG/rpnAskNameAndCardP2P.html"
if rpn_type == "rpnfat" {
fname = "PG/rpnAskNameAndCardFAT.html"
}
t := template.Must(template.ParseFiles(fname))
t.Execute(w, data)
}

@@ -88,3 +48,57 @@ func choosePayment(w http.ResponseWriter, r *http.Request) {
//show redirect, and start payment
askForPaymentInfo(w, row, rpn_type)
}

//leanwork in for alipay
func leanworkInFAT(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
errPage(w, http.StatusMethodNotAllowed, "invalid method")
return
}
r.ParseForm()

row, err := db.addRequest(r, Config.LeanWork.MD5FAT)
if err != nil {
errPage(w, http.StatusInternalServerError, "Cannot initiate database transaction for incoming request")
return
}

if !isLeanworkFormValid(r.Form, Config.LeanWork.MD5FAT) {
// w.WriteHeader(http.StatusMethodNotAllowed)
// fmt.Fprintf(w, "invalid request")
errPage(w, http.StatusBadRequest, "validation of FAT input parameters failed")
return
}

//show redirect, and start payment
askForPaymentInfo(w, row, "rpnfat")

return
}

func leanworkInP2P(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
errPage(w, http.StatusMethodNotAllowed, "invalid method")
return
}
r.ParseForm()

row, err := db.addRequest(r, Config.LeanWork.MD5P2P)
if err != nil {
errPage(w, http.StatusInternalServerError, "Cannot initiate database transaction for incoming request")
log.Printf("ERROR: cannot initiate LeanworkIn for adding database: %+v \n", r.Form)
return
}

if !isLeanworkFormValid(r.Form, Config.LeanWork.MD5P2P) {
// w.WriteHeader(http.StatusMethodNotAllowed)
// fmt.Fprintf(w, "invalid request")
errPage(w, http.StatusBadRequest, "validation of P2P input parameters failed")
return
}

//show redirect, and start payment
askForPaymentInfo(w, row, "rpnp2p")

return
}

Carregando…
Cancelar
Salvar