package mtunionapi import ( "encoding/json" "git.rosy.net.cn/baseapi/utils" "io/ioutil" "net/http" "strings" ) type CallBack struct { Errcode string `json:"errcode"` Errmsg string `json:"errmsg"` } type CallBackResult struct { Smstitle string `json:"smstitle"` Quantity string `json:"quantity"` Orderid string `json:"orderid"` Dealid string `json:"dealid"` Paytime string `json:"paytime"` Type string `json:"type"` Ordertime string `json:"ordertime"` Sid string `json:"sid"` UID string `json:"uid"` Status string `json:"status"` Total string `json:"total"` Direct string `json:"direct"` Ratio string `json:"ratio"` Sign string `json:"sign"` } func (a *API) GetCallbackMsg(request *http.Request) (call *CallBackResult, err error) { data, err := ioutil.ReadAll(request.Body) if err != nil { return nil, err } values, err := utils.HTTPBody2Values(data, false) if err != nil { return nil, err } mapData := utils.URLValues2Map(values) for k, _ := range mapData { k = strings.ReplaceAll(k, "&", "") json.Unmarshal([]byte(k), &call) } return call, err }