You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1 KiB

package wxpay
import (
"recook/tools"
"strconv"
"strings"
"time"
)
type AppCreateOrderResult struct {
AppID string `xml:"appid" json:"appid"`
PartnerID string `xml:"partnerid" json:"partnerid"`
PrepayID string `xml:"prepayid" json:"prepayid"`
Package string `xml:"package" json:"package"`
NonceStr string `xml:"noncestr" json:"noncestr"`
Timestamp string `xml:"timestamp" json:"timestamp"`
Sign string `xml:"sign" json:"sign"`
}
func (*AppCreateOrderResult) GetSignResult(d *CreateOrderResult) *AppCreateOrderResult {
timestamp := strconv.FormatInt(time.Now().Unix(), 10)
signStr := "appid=" + AppID
signStr = signStr + "&" + "noncestr=" + d.NonceStr
signStr = signStr + "&" + "package=" + "Sign=WXPay"
signStr = signStr + "&" + "partnerid=" + MchID
signStr = signStr + "&" + "prepayid=" + d.PrepayID
signStr = signStr + "&" + "timestamp=" + timestamp
signStr = signStr + "&key=" + APIKey
r := &AppCreateOrderResult{
AppID: AppID,
PartnerID: MchID,
PrepayID: d.PrepayID,
Package: "Sign=WXPay",
NonceStr: d.NonceStr,
Timestamp: timestamp,
Sign: strings.ToUpper(tools.MD5(signStr)),
}
return r
}