49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
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
|
|
}
|