// Copyright 2021 Tencent Inc. All rights reserved. // // 微信支付营销系统开放API // // 新增立减金api // // API version: 3.4.0 // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT. package cashcoupons_test import ( "context" "log" "git.nanodreamtech.com/sg/wechatpay-go/core" "git.nanodreamtech.com/sg/wechatpay-go/core/option" "git.nanodreamtech.com/sg/wechatpay-go/services/cashcoupons" "git.nanodreamtech.com/sg/wechatpay-go/utils" ) func ExampleStockApiService_CreateCouponStock() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.CreateCouponStock(ctx, cashcoupons.CreateCouponStockRequest{ StockName: core.String("微信支付代金券批次"), Comment: core.String("零售批次"), BelongMerchant: core.String("98568865"), AvailableBeginTime: core.String("2015-05-20T13:29:35.120+08:00"), AvailableEndTime: core.String("2015-05-20T13:29:35.120+08:00"), StockUseRule: &cashcoupons.StockRule{ MaxCoupons: core.Int64(100), MaxAmount: core.Int64(5000), MaxAmountByDay: core.Int64(400), MaxCouponsPerUser: core.Int64(3), NaturalPersonLimit: core.Bool(false), PreventApiAbuse: core.Bool(false), }, PatternInfo: &cashcoupons.PatternInfo{ Description: core.String("微信支付营销代金券"), MerchantLogo: core.String("CDN地址"), MerchantName: core.String("微信支付"), BackgroundColor: cashcoupons.BACKGROUNDCOLOR_COLOR010.Ptr(), CouponImage: core.String("图片cdn地址"), JumpTarget: cashcoupons.JUMPTARGET_PAYMENT_CODE.Ptr(), MiniProgramAppid: core.String("wx23232232323"), MiniProgramPath: core.String("/path/index/index"), }, CouponUseRule: &cashcoupons.CouponRule{ CouponAvailableTime: &cashcoupons.FavorAvailableTime{ FixAvailableTime: &cashcoupons.FixedAvailableTime{ AvailableWeekDay: []int64{int64(1)}, BeginTime: core.Int64(0), EndTime: core.Int64(3600), }, SecondDayAvailable: core.Bool(false), AvailableTimeAfterReceive: core.Int64(1440), }, FixedNormalCoupon: &cashcoupons.FixedValueStockMsg{ CouponAmount: core.Int64(100), TransactionMinimum: core.Int64(100), }, GoodsTag: []string{"123321"}, TradeType: []cashcoupons.TradeType{cashcoupons.TRADETYPE_MICROAPP}, CombineUse: core.Bool(false), AvailableItems: []string{"123321"}, UnavailableItems: []string{"789987"}, AvailableMerchants: []string{"9856000"}, LimitCard: &cashcoupons.CardLimitation{ Name: core.String("精粹白金"), Bin: []string{"62542688"}, }, LimitPay: []string{"BCZ_DEBIT"}, }, NoCash: core.Bool(false), StockType: core.String("NORMAL"), OutRequestNo: core.String("example_out_request_no"), ExtInfo: core.String("{'exinfo1':'1234','exinfo2':'3456'}"), }, ) if err != nil { // 处理错误 log.Printf("call CreateCouponStock err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_ListAvailableMerchants() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.ListAvailableMerchants(ctx, cashcoupons.ListAvailableMerchantsRequest{ Offset: core.Int64(10), Limit: core.Int64(10), StockCreatorMchid: core.String("9865000"), StockId: core.String("9865000"), }, ) if err != nil { // 处理错误 log.Printf("call ListAvailableMerchants err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_ListAvailableSingleitems() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.ListAvailableSingleitems(ctx, cashcoupons.ListAvailableSingleitemsRequest{ Offset: core.Int64(10), Limit: core.Int64(10), StockCreatorMchid: core.String("9865000"), StockId: core.String("9865000"), }, ) if err != nil { // 处理错误 log.Printf("call ListAvailableSingleitems err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_ListStocks() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.ListStocks(ctx, cashcoupons.ListStocksRequest{ Offset: core.Int64(1), Limit: core.Int64(8), StockCreatorMchid: core.String("9856888"), CreateStartTime: core.String("2015-05-20T13:29:35.120+08:00"), CreateEndTime: core.String("2015-05-20T13:29:35.120+08:00"), Status: core.String("paused"), }, ) if err != nil { // 处理错误 log.Printf("call ListStocks err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_PauseStock() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.PauseStock(ctx, cashcoupons.PauseStockRequest{ StockId: core.String("实例值"), StockCreatorMchid: core.String("8965000"), }, ) if err != nil { // 处理错误 log.Printf("call PauseStock err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_QueryStock() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.QueryStock(ctx, cashcoupons.QueryStockRequest{ StockId: core.String("9856888"), StockCreatorMchid: core.String("123456"), }, ) if err != nil { // 处理错误 log.Printf("call QueryStock err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_RefundFlow() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.RefundFlow(ctx, cashcoupons.RefundFlowRequest{ StockId: core.String("9865000"), }, ) if err != nil { // 处理错误 log.Printf("call RefundFlow err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_RestartStock() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.RestartStock(ctx, cashcoupons.RestartStockRequest{ StockId: core.String("8965000"), StockCreatorMchid: core.String("9865000"), }, ) if err != nil { // 处理错误 log.Printf("call RestartStock err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_StartStock() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.StartStock(ctx, cashcoupons.StartStockRequest{ StockId: core.String("9856000"), StockCreatorMchid: core.String("8956000"), }, ) if err != nil { // 处理错误 log.Printf("call StartStock err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_StopStock() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.StopStock(ctx, cashcoupons.StopStockRequest{ StockId: core.String("8695000"), StockCreatorMchid: core.String("9865000"), }, ) if err != nil { // 处理错误 log.Printf("call StopStock err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } } func ExampleStockApiService_UseFlow() { var ( mchID string = "190000****" // 商户号 mchCertificateSerialNumber string = "3775************************************" // 商户证书序列号 mchAPIv3Key string = "2ab9****************************" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem") if err != nil { log.Printf("load merchant private key error:%s", err) return } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Printf("new wechat pay client err:%s", err) return } svc := cashcoupons.StockApiService{Client: client} resp, result, err := svc.UseFlow(ctx, cashcoupons.UseFlowRequest{ StockId: core.String("9865000"), }, ) if err != nil { // 处理错误 log.Printf("call UseFlow err:%s", err) } else { // 处理返回结果 log.Printf("status=%d resp=%s", result.Response.StatusCode, resp) } }