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) }