You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.0 KiB
66 lines
2.0 KiB
3 years ago
|
# 支付
|
||
|
|
||
|
### 微信支付
|
||
|
|
||
|
```go
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"git.oa00.com/go/wxpay"
|
||
|
"github.com/wechatpay-apiv3/wechatpay-go/core"
|
||
|
"github.com/wechatpay-apiv3/wechatpay-go/services/payments/app"
|
||
|
"github.com/wechatpay-apiv3/wechatpay-go/services/payments/jsapi"
|
||
|
"log"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
// 初始化配置
|
||
|
if err := pay.InitWxpay(pay.Config{
|
||
|
MchID: "mchID", // 支付商户号
|
||
|
MchAPIv3Key: "mchAPIv3Key", // apiV3密钥
|
||
|
PrivateKey: "privateKey", // 私钥证书密钥
|
||
|
PrivateCert: "privateCert", // 私钥证书
|
||
|
}); err != nil {
|
||
|
log.Panicln("微信支付错误:", err)
|
||
|
}
|
||
|
|
||
|
// app支付
|
||
|
apiService := app.AppApiService{Client: pay.Wxpay.Client}
|
||
|
result, _, err := apiService.PrepayWithRequestPayment(context.Background(), app.PrepayRequest{
|
||
|
Appid: core.String("appid"),
|
||
|
Mchid: core.String("mchID"),
|
||
|
Description: core.String("subject"),
|
||
|
OutTradeNo: core.String("payNo"),
|
||
|
TimeExpire: core.Time(time.Now().Add(time.Minute * time.Duration(15))),
|
||
|
NotifyUrl: core.String("notifyURL"),
|
||
|
Amount: &app.Amount{
|
||
|
Total: core.Int64(int64(0.01 * 100)),
|
||
|
Currency: core.String("CNY"),
|
||
|
},
|
||
|
})
|
||
|
log.Println(result, err)
|
||
|
|
||
|
// 小程序/微信公众号支付
|
||
|
apiService := jsapi.JsapiApiService{Client: pay.Wxpay.Client}
|
||
|
result, _, err = apiService.PrepayWithRequestPayment(context.Background(), jsapi.PrepayRequest{
|
||
|
Appid: core.String("appid"),
|
||
|
Mchid: core.String("mchID"),
|
||
|
Description: core.String("subject"),
|
||
|
OutTradeNo: core.String("payNo"),
|
||
|
TimeExpire: core.Time(time.Now().Add(time.Minute * time.Duration(15))),
|
||
|
NotifyUrl: core.String("notifyURL"),
|
||
|
Amount: &jsapi.Amount{
|
||
|
Total: core.Int64(int64(0.01 * 100)),
|
||
|
Currency: core.String("CNY"),
|
||
|
},
|
||
|
Payer: &jsapi.Payer{
|
||
|
Openid: core.String("openId"),
|
||
|
},
|
||
|
})
|
||
|
log.Println(result, err)
|
||
|
|
||
|
// 详细使用文档见 https://github.com/wechatpay-apiv3/wechatpay-go
|
||
|
}
|
||
|
```
|