https://github.com/zanjs/wechat-sdk-go
https://github.com/zanjs/wechat-sdk-go
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/zanjs/wechat-sdk-go
- Owner: zanjs
- License: apache-2.0
- Created: 2018-08-14T08:51:06.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-26T02:51:36.000Z (about 7 years ago)
- Last Synced: 2025-02-10T14:27:09.804Z (11 months ago)
- Language: Go
- Size: 16.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wechat-sdk-go
最全最好用的微信SDK,支持APP,小程序,H5,Web登录支付,企业付款等功能
## 快速开始
以下是APP和小程序支付简单例子
```go
import "github.com/zanjs/wechat-sdk-go/pay"
wePay := &WePay{
AppId: "xxx",
MchId: "xxx",
PayKey: "xxx",
NotifyUrl: "xxx",
TradeType: "xxx", // APP支付填写`APP`,小程序支付填写`JSAPI`
Body: "xxx",
OutTradeNo: "xxx123", // 商家订单号
SpBillCreateIP: "12", // 用户端实际ip
}
# APP支付
results, outTradeNo, err := wePay.AppPay(100) // 金额,以分为单位
# 小程序支付
results, outTradeNo, err := wePay.WaxPay(100, "open_id") // 金额,以分为单位;open_id为获取的用户的open_id
```
## 使用
### 小程序支付通知
```go
waxNotify := pay.WaxPayNotifyReq{}
ctx.ReadXML(&waxNotify)
verifyParams := pay.WaxVerifyParams(waxNotify)
valid := pay.WaxpayVerifySign(verifyParams, appKey, waxNotify.Sign) //appKey 为自己在微信支付后台设置的API密钥
resp := new(pay.WaxPayNotifyResp)
if valid {
// 业务处理逻辑···
resp.ReturnCode = "SUCCESS"
resp.ReturnMsg = "OK"
} else {
// 错误处理逻辑···
resp.ReturnCode = "FAIL"
resp.ReturnMsg = "Verify Failed"
}
```
### 发送普通红包
```go
wx := &WePay{
AppID: "xx",
PayKey: "xx",
MchID: "xx",
TradeType: "xx",
CertFile: "xx", // 证书路径
keyFile: "xx", // 证书秘钥路径
RootCaFile: "xx", // 根证书路径
}
billNO, redPackResp, err := wx.SendRedPack(totalAmount, openID, sendName, wishing, actName, remark)
```
#### APP支付
##### APP简单使用
## 支持功能
- [x] APP支付
- [x] APP登录
- [x] H5登录
- [x] 小程序登录
- [x] 小程序支付
- [ ] Web登录
- [ ] 公众号支付
- [ ] 扫码支付
- [ ] 刷卡支付
- [ ] 企业付款
- [x] 现金红包
- [x] 发送红包
- [ ] 裂变红包