Explorar o código

update README.md

Jerry %!s(int64=7) %!d(string=hai) anos
pai
achega
13715e1bd3
Modificáronse 1 ficheiros con 40 adicións e 0 borrados
  1. 40 0
      README.md

+ 40 - 0
README.md

@@ -41,12 +41,52 @@ $ go get -u github.com/iGoogle-ink/gopay
 
 
 参考文档:[微信支付文档](https://pay.weixin.qq.com/wiki/doc/api/index.html)
 参考文档:[微信支付文档](https://pay.weixin.qq.com/wiki/doc/api/index.html)
 
 
+### 获取微信用户OpenId、UnionId、SessionKey
+
+```go
+userIdRsp, err := gopay.GetWeChatUserId(appID, secretKey, "")
+if err != nil {
+	fmt.Println("Error:", err)
+	return
+}
+fmt.Println("OpenID:", userIdRsp.Openid)
+fmt.Println("UnionID:", userIdRsp.Unionid)
+fmt.Println("SessionKey:", userIdRsp.SessionKey)
+```
+
+### 微信小程序支付,需要进一步获取小程序支付所需要的参数
+
+* 小程序支付所需要的参数,最好由后端计算后给出
+    * timeStamp
+    * nonceStr
+    * package 
+    * signType
+    * paySign
+
+> 官方文档说明[微信小程序支付API](https://developers.weixin.qq.com/miniprogram/dev/api/wx.requestPayment.html)
+```go
+timeStamp := strconv.FormatInt(time.Now().Unix(), 10)
+packages := "prepay_id=" + wxRsp.PrepayId   //此处的 wxRsp.PrepayId ,统一下单成功后得到
+paySign := gopay.GetMiniPaySign("wxd678efh567hg6787", wxRsp.NonceStr, packages, gopay.SignType_MD5, timeStamp, "192006250b4c09247ec02edce69f6a2d")
+
+//微信小程序支付需要的参数信息
+payRsp := new(vm.WeChatPayRsp)
+fmt.Println("timeStamp:", timeStamp)
+fmt.Println("nonceStr:", wxRsp.NonceStr)
+fmt.Println("package:", packages)
+fmt.Println("signType:", gopay.SignType_MD5)
+fmt.Println("paySign:", paySign)
+```
+
 ### 付款结果回调,需回复微信平台是否成功
 ### 付款结果回调,需回复微信平台是否成功
+
+> 代码中return写法,由于本人用的[Echo Web框架](https://github.com/labstack/echo),有兴趣的可以尝试一下
 ```go
 ```go
 rsp := new(gopay.WeChatNotifyResponse) //回复微信的数据
 rsp := new(gopay.WeChatNotifyResponse) //回复微信的数据
 
 
 rsp.ReturnCode = "SUCCESS"
 rsp.ReturnCode = "SUCCESS"
 rsp.ReturnMsg = "OK"
 rsp.ReturnMsg = "OK"
+
 return c.String(http.StatusOK, rsp.ToXmlString())
 return c.String(http.StatusOK, rsp.ToXmlString())
 ```
 ```