From 9ae09879fef516ac50f52b86f75e608d57282a61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 6 Feb 2020 14:24:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E7=89=B9?= =?UTF-8?q?=E6=AE=8A=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/wxpayapi/wxpayapi.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/platformapi/wxpayapi/wxpayapi.go b/platformapi/wxpayapi/wxpayapi.go index d75d3a6d..fd867cff 100644 --- a/platformapi/wxpayapi/wxpayapi.go +++ b/platformapi/wxpayapi/wxpayapi.go @@ -54,6 +54,14 @@ const ( AccountTypeOpen = "PERSONAL_OPENID" ) +var ( + specialSignActions = map[string]string{ + "secapi/pay/multiprofitsharing": "secapi/pay/multiprofitsharing", + "pay/profitsharingaddreceiver": "pay/profitsharingaddreceiver", + "pay/profitsharingremovereceiver": "pay/profitsharingremovereceiver", + } +) + type API struct { appID string appKey string @@ -429,11 +437,14 @@ func (a *API) AccessAPI(action string, requestParam IRequestBase) (retVal map[st requestParam.SetMchID(action, a.mchID) requestParam.SetNonceStr(utils.GetUUID()) var sigType string - if action == specialAction { + if specialSignActions[action] != "" { sigType = sigTypeSha256 requestParam.SetSignType(sigType) + } else if action == specialAction { + sigType = sigTypeMd5 } else { sigType = sigTypeMd5 + requestParam.SetSignType(sigType) } signStr := a.signParam(sigType, utils.Struct2FlatMap(requestParam)) requestParam.SetSign(signStr)