| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package router
- import (
- "context"
- "demo/configs"
- "github.com/wechatpay-apiv3/wechatpay-go/core"
- "github.com/wechatpay-apiv3/wechatpay-go/core/option"
- "github.com/wechatpay-apiv3/wechatpay-go/services/payments/native"
- "log"
- )
- func main() {
- ctx := context.Background()
- // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力
- opts := []core.ClientOption{
- option.WithWechatPayAutoAuthCipher(configs.WxPay.MchID, configs.WxPay.MchCertificateSerialNumber, configs.WxPay.PrivateKey, configs.WxPay.MchAPIv3Key),
- }
- client, err := core.NewClient(ctx, opts...)
- if err != nil {
- log.Fatalf("new wechat pay client err:%s", err)
- }
- // 以 Native 支付为例
- svc := native.NativeApiService{Client: client}
- // 发送请求
- resp, result, err := svc.Prepay(ctx,
- native.PrepayRequest{
- Appid: core.String("wxd678efh567hg6787"),
- Mchid: core.String("1900009191"),
- Description: core.String("Image形象店-深圳腾大-QQ公仔"),
- OutTradeNo: core.String("1217752501201407033233368018"),
- Attach: core.String("自定义数据说明"),
- NotifyUrl: core.String("https://www.weixin.qq.com/wxpay/pay.php"),
- Amount: &native.Amount{
- Total: core.Int64(100),
- },
- },
- )
- // 使用微信扫描 resp.code_url 对应的二维码,即可体验Native支付
- log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
- }
|