|
@@ -29,8 +29,9 @@
|
|
|
* gopay.GetMiniPaySign() => 获取微信小程序支付所需要的paySign
|
|
* gopay.GetMiniPaySign() => 获取微信小程序支付所需要的paySign
|
|
|
* gopay.GetH5PaySign() => 获取微信内H5支付所需要的paySign
|
|
* gopay.GetH5PaySign() => 获取微信内H5支付所需要的paySign
|
|
|
* gopay.GetAppPaySign() => 获取APP支付所需要的paySign
|
|
* gopay.GetAppPaySign() => 获取APP支付所需要的paySign
|
|
|
-* gopay.ParseNotifyResult() => 解析并返回微信支付异步通知的参数
|
|
|
|
|
-* gopay.VerifyPayResultSign() => 微信支付异步通知的签名验证和返回参数验签后的Sign
|
|
|
|
|
|
|
+* gopay.ParseWeChatNotifyParamAndVerifySign() => 解析并返回微信支付异步通知的参数,并验证Sign值
|
|
|
|
|
+* gopay.ParseNotifyResult() => 解析并返回微信支付异步通知的参数(已废弃)
|
|
|
|
|
+* gopay.VerifyPayResultSign() => 微信支付异步通知的签名验证和返回参数验签后的Sign(已废弃)
|
|
|
* gopay.Code2Session() => 登录凭证校验:获取微信用户OpenId、UnionId、SessionKey
|
|
* gopay.Code2Session() => 登录凭证校验:获取微信用户OpenId、UnionId、SessionKey
|
|
|
* gopay.GetAccessToken() => 获取小程序全局唯一后台接口调用凭据
|
|
* gopay.GetAccessToken() => 获取小程序全局唯一后台接口调用凭据
|
|
|
* gopay.GetPaidUnionId() => 用户支付完成后,获取该用户的 UnionId,无需用户授权
|
|
* gopay.GetPaidUnionId() => 用户支付完成后,获取该用户的 UnionId,无需用户授权
|
|
@@ -178,28 +179,27 @@ paySign := gopay.GetAppPaySign(appid, partnerid, wxRsp.NonceStr, prepayid, gopay
|
|
|
fmt.Println("paySign:", paySign)
|
|
fmt.Println("paySign:", paySign)
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-### 1、支付结果异步通知参数解析;2、参数解析和Sign值的验证
|
|
|
|
|
|
|
+### 解析并返回微信支付异步通知的参数,并验证Sign值
|
|
|
|
|
|
|
|
> 微信支付后的异步通知文档:[支付结果通知](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8)
|
|
> 微信支付后的异步通知文档:[支付结果通知](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8)
|
|
|
|
|
|
|
|
```go
|
|
```go
|
|
|
-//解析支付完成后的异步通知参数信息
|
|
|
|
|
-//此处 c.Request() 为 *http.Request
|
|
|
|
|
-notifyRsp, err := gopay.ParseNotifyResult(c.Request())
|
|
|
|
|
-if err != nil {
|
|
|
|
|
- fmt.Println("err:", err)
|
|
|
|
|
-}
|
|
|
|
|
-fmt.Println("notifyRsp:", notifyRsp)
|
|
|
|
|
-
|
|
|
|
|
-//支付通知的签名验证和参数签名后的Sign
|
|
|
|
|
|
|
+//解析并返回微信支付异步通知的参数,并验证Sign值
|
|
|
|
|
+// req:*http.Request
|
|
|
// apiKey:API秘钥值
|
|
// apiKey:API秘钥值
|
|
|
// signType:签名类型 MD5 或 HMAC-SHA256(默认请填写 MD5)
|
|
// signType:签名类型 MD5 或 HMAC-SHA256(默认请填写 MD5)
|
|
|
-// notifyRsp:利用 gopay.ParseNotifyResult() 得到的结构体
|
|
|
|
|
|
|
+// 返回参数bm:Notify请求的参数
|
|
|
// 返回参数ok:是否验证通过
|
|
// 返回参数ok:是否验证通过
|
|
|
// 返回参数sign:根据参数计算的sign值,非微信返回参数中的Sign
|
|
// 返回参数sign:根据参数计算的sign值,非微信返回参数中的Sign
|
|
|
-ok, sign := gopay.VerifyPayResultSign("192006250b4c09247ec02edce69f6a2d", "MD5", notifyRsp)
|
|
|
|
|
-log.Println("ok:", ok)
|
|
|
|
|
-log.Println("sign:", sign)
|
|
|
|
|
|
|
+// 返回参数err:错误信息
|
|
|
|
|
+bm, ok, sign, err := gopay.ParseWeChatNotifyParamAndVerifySign(c.Request(), "192006250b4c09247ec02edce69f6a2d", gopay.SignType_MD5)
|
|
|
|
|
+if err != nil {
|
|
|
|
|
+ fmt.Println("err:", err)
|
|
|
|
|
+ return
|
|
|
|
|
+}
|
|
|
|
|
+fmt.Println("bm:", bm)
|
|
|
|
|
+fmt.Println("ok:", ok)
|
|
|
|
|
+fmt.Println("sign:", sign)
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
### 加密数据,解密到指定结构体
|
|
### 加密数据,解密到指定结构体
|