From f68f9d6f5edf086185e6cdddb97f26bf3c5b74e3 Mon Sep 17 00:00:00 2001 From: ciel yu Date: Mon, 14 Oct 2019 19:28:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=20=E6=96=B0=E5=A2=9E=20Bridg?= =?UTF-8?q?eConfig=20=E6=96=B9=E6=B3=95=EF=BC=8C=E5=8F=AF=E8=8E=B7?= =?UTF-8?q?=E5=BE=97=20prepay=20ID=EF=BC=8C=E5=8F=8Ajs=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E6=97=B6=E6=89=80=E9=9C=80=E8=A6=81=E7=9A=84=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 统一下单 新增非必传参数 --- pay/pay.go | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/pay/pay.go b/pay/pay.go index 1aa8062..f4655c1 100644 --- a/pay/pay.go +++ b/pay/pay.go @@ -110,9 +110,6 @@ func (pcf *Pay) BridgeConfig(p *Params) (cfg Config, err error) { if err != nil { return } - if p.SignType == "" { - p.SignType = "MD5" - } buffer.WriteString("appId=") buffer.WriteString(order.AppID) buffer.WriteString("&nonceStr=") @@ -144,6 +141,15 @@ func (pcf *Pay) BridgeConfig(p *Params) (cfg Config, err error) { // PrePayOrder return data for invoke wechat payment func (pcf *Pay) PrePayOrder(p *Params) (payOrder PreOrder, err error) { nonceStr := util.RandomStr(32) + notifyURL := pcf.PayNotifyURL + // 签名类型 + if p.SignType == "" { + p.SignType = "MD5" + } + // 通知地址 + if p.NotifyURL != "" { + notifyURL = p.NotifyURL + } param := make(map[string]interface{}) param["appid"] = pcf.AppID param["body"] = p.Body @@ -153,19 +159,11 @@ func (pcf *Pay) PrePayOrder(p *Params) (payOrder PreOrder, err error) { param["spbill_create_ip"] = p.CreateIP param["total_fee"] = p.TotalFee param["trade_type"] = p.TradeType - param["openid"] = p.OpenIDÒ + param["openid"] = p.OpenID param["detail"] = p.Detail param["attach"] = p.Attach param["goods_tag"] = p.GoodsTag - param["notify_url"] = pcf.PayNotifyURL - // 签名类型 - if p.SignType != "" { - param["sign_type"] = p.SignType - } - // 通知地址 - if p.NotifyURL != "" { - param["notify_url"] = p.NotifyURL - } + param["notify_url"] = notifyURL bizKey := "&key=" + pcf.PayKey str := orderParam(param, bizKey) @@ -179,9 +177,13 @@ func (pcf *Pay) PrePayOrder(p *Params) (payOrder PreOrder, err error) { OutTradeNo: p.OutTradeNo, TotalFee: p.TotalFee, SpbillCreateIP: p.CreateIP, - NotifyURL: pcf.PayNotifyURL, + NotifyURL: notifyURL, TradeType: p.TradeType, OpenID: p.OpenID, + SignType: p.SignType, + Detail: p.Detail, + Attach: p.Attach, + GoodsTag: p.GoodsTag, } rawRet, err := util.PostXML(payGateway, request) if err != nil {