Golang超好用的WeChat类库( 二 )

退款
// 根据微信订单号退款r, err := wxmch.Refund().RefundByTransactionID(transactionID, refundData)if err != nil {    // 错误处理...}if r["result_code"] != mch.ResultSuccess {    // 失败处理...}// 成功逻辑处理...// 根据商户订单号退款r, err := wxmch.Refund().RefundByOutTradeNO(outTradeNO, refundData)if err != nil {    // 错误处理...}if r["result_code"] != mch.ResultSuccess {    // 失败处理...}// 成功逻辑处理... 
小程序登录授权
import (    "github.com/iiinsomnia/gochat"    "github.com/iiinsomnia/gochat/mp"    "github.com/iiinsomnia/gochat/utils")// 初始化小程序实例wxmp := gochat.NewWXMP(appid, appsecret)// 授权 session, err := wxmp.Sns().Code2Session(code)// 数据校验解密// 数据签名校验if signature != utils.SHA1(rawData+sessionKey) {  return errors.New("签名校验失败")}// 数据解密bizDataCrypt := wxmp.BizDataCrypt(encryptedData, sessionKey, iv)if err := bizDataCrypt.Decrypt(); err != nil {  return err}// 解密后取用户信息bizData, err := bizDataCrypt.GetUserData()if err != nil {  return err}获取access_token
accessToken, err := wxmp.CgiBin().GetAccessToken()if err != nil {    return err}// TODO: 存储 access_token ...

因 access_token 每日获取次数有限且含有效期,故服务端应妥善保存 access_token 并定时刷新
公众号// 获取公众号实例pub := gochat.NewWXPub(accountid, appid, appsecret, signToken, encodingAESKey) 
整个包看下来还是蛮简单,使用方便 。想要了解更多内容可以去查看作者的源码和使用说明 。
地址: https://github.com/shenghui0779/gochat/wiki

【Golang超好用的WeChat类库】


推荐阅读