所有URI均基于微信支付 API 地址: https://api.mch.weixin.qq.com
方法名 | HTTP 请求 | 描述 |
---|---|---|
AddActivityMerchant | Post /v3/marketing/paygiftactivity/activities/{activity_id}/merchants/add | 新增活动发券商户号 |
CreateFullSendAct | Post /v3/marketing/paygiftactivity/unique-threshold-activity | 创建全场满额送活动 |
DeleteActivityMerchant | Post /v3/marketing/paygiftactivity/activities/{activity_id}/merchants/delete | 删除活动发券商户号 |
GetActDetail | Get /v3/marketing/paygiftactivity/activities/{activity_id} | 获取活动详情接口 |
ListActivities | Get /v3/marketing/paygiftactivity/activities | 获取支付有礼活动列表 |
ListActivityMerchant | Get /v3/marketing/paygiftactivity/activities/{activity_id}/merchants | 获取活动发券商户号 |
ListActivitySku | Get /v3/marketing/paygiftactivity/activities/{activity_id}/goods | 获取活动指定商品列表 |
TerminateActivity | Post /v3/marketing/paygiftactivity/activities/{activity_id}/terminate | 终止活动 |
AddActivityMerchantResponse AddActivityMerchant(AddActivityMerchantRequest)
新增活动发券商户号
package main
import (
"context"
"log"
"git.nanodreamtech.com/sg/wechatpay-go/core"
"git.nanodreamtech.com/sg/wechatpay-go/services/giftactivity"
"git.nanodreamtech.com/sg/wechatpay-go/utils"
)
func main() {
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 := giftactivity.ActivityApiService{Client: client}
resp, result, err := svc.AddActivityMerchant(ctx,
giftactivity.AddActivityMerchantRequest{
ActivityId: core.String("126002309"),
MerchantIdList: []string{"100123456"},
AddRequestNo: core.String("100002322019090134234sfdf"),
},
)
if err != nil {
// 处理错误
log.Printf("call AddActivityMerchant err:%s", err)
} else {
// 处理返回结果
log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
}
}
参数名 | 参数类型 | 参数描述 |
---|---|---|
ctx | context.Context | Golang 上下文,可用于日志、请求取消、请求跟踪等功能 |
req | AddActivityMerchantRequest | API giftactivity 所定义的本接口需要的所有参数,包括Path /Query /Body 3类参数 |
Name | Type | Description |
---|---|---|
resp | *AddActivityMerchantResponse | 结构化的接口返回结果 |
result | *core.APIResult | 本次 API 访问的请求与应答信息 |
err | error | 本次 API 访问中发生的错误,当且仅当 API 失败时存在 |
[返回顶部] [返回接口列表] [返回类型列表] [返回服务README]
CreateFullSendActResponse CreateFullSendAct(CreateFullSendActRequest)
创建全场满额送活动
package main
import (
"context"
"log"
"git.nanodreamtech.com/sg/wechatpay-go/core"
"git.nanodreamtech.com/sg/wechatpay-go/services/giftactivity"
"git.nanodreamtech.com/sg/wechatpay-go/utils"
)
func main() {
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 := giftactivity.ActivityApiService{Client: client}
resp, result, err := svc.CreateFullSendAct(ctx,
giftactivity.CreateFullSendActRequest{
ActivityBaseInfo: &giftactivity.ActBaseInfo{
ActivityName: core.String("良品铺子回馈活动"),
ActivitySecondTitle: core.String("海飞丝的券"),
MerchantLogoUrl: core.String("https://tool.oschina.net/regex.jpg"),
BackgroundColor: core.String("Color010"),
BeginTime: core.String("2015-05-20T13:29:35.120+08:00"),
EndTime: core.String("2015-05-20T13:29:35.120+08:00"),
AvailablePeriods: &giftactivity.AvailablePeriod{
AvailableTime: []giftactivity.AvailableTime{giftactivity.AvailableTime{
BeginTime: core.String("2015-05-20T00:00:00.000+08:00"),
EndTime: core.String("2015-05-20T23:59:59.000+08:00"),
}},
AvailableDayTime: []giftactivity.AvailableDayTime{giftactivity.AvailableDayTime{
BeginDayTime: core.String("110000"),
EndDayTime: core.String("135959"),
}},
},
OutRequestNo: core.String("100002322019090134234sfdf"),
DeliveryPurpose: giftactivity.DELIVERYPURPOSECATEGORY_OFF_LINE_PAY.Ptr(),
MiniProgramsAppid: core.String("wx23232232323"),
MiniProgramsPath: core.String("/path/index/index"),
},
AwardSendRule: &giftactivity.FullSendRule{
TransactionAmountMinimum: core.Int64(100),
SendContent: giftactivity.SENDCONTENTCATEGORY_SINGLE_COUPON.Ptr(),
AwardType: giftactivity.AWARDTYPE_BUSIFAVOR.Ptr(),
AwardList: []giftactivity.AwardBaseInfo{giftactivity.AwardBaseInfo{
StockId: core.String("98065001"),
OriginalImageUrl: core.String("https://tool.oschina.net/regex.jpg"),
ThumbnailUrl: core.String("https://tool.oschina.net/regex.jpg"),
}},
MerchantOption: giftactivity.SENDMERCHANTOPTION_IN_SEVICE_COUPON_MERCHANT.Ptr(),
MerchantIdList: []string{"10000022"},
},
AdvancedSetting: &giftactivity.ActAdvancedSetting{
DeliveryUserCategory: giftactivity.DELIVERYUSERCATEGORY_DELIVERY_ALL_PERSON.Ptr(),
MerchantMemberAppid: core.String("34567890"),
PaymentMode: &giftactivity.PaymentMode{
PaymentSceneList: []giftactivity.PaymentScene{giftactivity.PAYMENTSCENE_APP_SCENE},
},
PaymentMethodInformation: &giftactivity.PaymentMethodInfo{
PaymentMethod: giftactivity.PAYMENTMETHODCATEGORY_CFT.Ptr(),
BankAbbreviation: core.String("AHRCUB_CREDIT"),
},
GoodsTags: []string{"xxx"},
},
},
)
if err != nil {
// 处理错误
log.Printf("call CreateFullSendAct err:%s", err)
} else {
// 处理返回结果
log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
}
}
参数名 | 参数类型 | 参数描述 |
---|---|---|
ctx | context.Context | Golang 上下文,可用于日志、请求取消、请求跟踪等功能 |
req | CreateFullSendActRequest | API giftactivity 所定义的本接口需要的所有参数,包括Path /Query /Body 3类参数 |
Name | Type | Description |
---|---|---|
resp | *CreateFullSendActResponse | 结构化的接口返回结果 |
result | *core.APIResult | 本次 API 访问的请求与应答信息 |
err | error | 本次 API 访问中发生的错误,当且仅当 API 失败时存在 |
[返回顶部] [返回接口列表] [返回类型列表] [返回服务README]
DeleteActivityMerchantResponse DeleteActivityMerchant(DeleteActivityMerchantRequest)
删除活动发券商户号
package main
import (
"context"
"log"
"git.nanodreamtech.com/sg/wechatpay-go/core"
"git.nanodreamtech.com/sg/wechatpay-go/services/giftactivity"
"git.nanodreamtech.com/sg/wechatpay-go/utils"
)
func main() {
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 := giftactivity.ActivityApiService{Client: client}
resp, result, err := svc.DeleteActivityMerchant(ctx,
giftactivity.DeleteActivityMerchantRequest{
ActivityId: core.String("126002309"),
MerchantIdList: []string{"100123456"},
DeleteRequestNo: core.String("100002322019090134234sfdf"),
},
)
if err != nil {
// 处理错误
log.Printf("call DeleteActivityMerchant err:%s", err)
} else {
// 处理返回结果
log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
}
}
参数名 | 参数类型 | 参数描述 |
---|---|---|
ctx | context.Context | Golang 上下文,可用于日志、请求取消、请求跟踪等功能 |
req | DeleteActivityMerchantRequest | API giftactivity 所定义的本接口需要的所有参数,包括Path /Query /Body 3类参数 |
Name | Type | Description |
---|---|---|
resp | *DeleteActivityMerchantResponse | 结构化的接口返回结果 |
result | *core.APIResult | 本次 API 访问的请求与应答信息 |
err | error | 本次 API 访问中发生的错误,当且仅当 API 失败时存在 |
[返回顶部] [返回接口列表] [返回类型列表] [返回服务README]
GetActDetailResponse GetActDetail(GetActDetailRequest)
获取活动详情接口
package main
import (
"context"
"log"
"git.nanodreamtech.com/sg/wechatpay-go/core"
"git.nanodreamtech.com/sg/wechatpay-go/services/giftactivity"
"git.nanodreamtech.com/sg/wechatpay-go/utils"
)
func main() {
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 := giftactivity.ActivityApiService{Client: client}
resp, result, err := svc.GetActDetail(ctx,
giftactivity.GetActDetailRequest{
ActivityId: core.String("10028001"),
},
)
if err != nil {
// 处理错误
log.Printf("call GetActDetail err:%s", err)
} else {
// 处理返回结果
log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
}
}
参数名 | 参数类型 | 参数描述 |
---|---|---|
ctx | context.Context | Golang 上下文,可用于日志、请求取消、请求跟踪等功能 |
req | GetActDetailRequest | API giftactivity 所定义的本接口需要的所有参数,包括Path /Query /Body 3类参数 |
Name | Type | Description |
---|---|---|
resp | *GetActDetailResponse | 结构化的接口返回结果 |
result | *core.APIResult | 本次 API 访问的请求与应答信息 |
err | error | 本次 API 访问中发生的错误,当且仅当 API 失败时存在 |
[返回顶部] [返回接口列表] [返回类型列表] [返回服务README]
ListActivitiesResponse ListActivities(ListActivitiesRequest)
获取支付有礼活动列表
package main
import (
"context"
"log"
"git.nanodreamtech.com/sg/wechatpay-go/core"
"git.nanodreamtech.com/sg/wechatpay-go/services/giftactivity"
"git.nanodreamtech.com/sg/wechatpay-go/utils"
)
func main() {
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 := giftactivity.ActivityApiService{Client: client}
resp, result, err := svc.ListActivities(ctx,
giftactivity.ListActivitiesRequest{
Offset: core.Int64(1),
Limit: core.Int64(20),
ActivityName: core.String("良品铺子回馈活动"),
ActivityStatus: giftactivity.ACTSTATUS_ACT_STATUS_UNKNOWN.Ptr(),
AwardType: giftactivity.AWARDTYPE_BUSIFAVOR.Ptr(),
},
)
if err != nil {
// 处理错误
log.Printf("call ListActivities err:%s", err)
} else {
// 处理返回结果
log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
}
}
参数名 | 参数类型 | 参数描述 |
---|---|---|
ctx | context.Context | Golang 上下文,可用于日志、请求取消、请求跟踪等功能 |
req | ListActivitiesRequest | API giftactivity 所定义的本接口需要的所有参数,包括Path /Query /Body 3类参数 |
Name | Type | Description |
---|---|---|
resp | *ListActivitiesResponse | 结构化的接口返回结果 |
result | *core.APIResult | 本次 API 访问的请求与应答信息 |
err | error | 本次 API 访问中发生的错误,当且仅当 API 失败时存在 |
[返回顶部] [返回接口列表] [返回类型列表] [返回服务README]
ListActMchResponse ListActivityMerchant(ListActivityMerchantRequest)
获取活动发券商户号
package main
import (
"context"
"log"
"git.nanodreamtech.com/sg/wechatpay-go/core"
"git.nanodreamtech.com/sg/wechatpay-go/services/giftactivity"
"git.nanodreamtech.com/sg/wechatpay-go/utils"
)
func main() {
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 := giftactivity.ActivityApiService{Client: client}
resp, result, err := svc.ListActivityMerchant(ctx,
giftactivity.ListActivityMerchantRequest{
ActivityId: core.String("126002309"),
Offset: core.Int64(1),
Limit: core.Int64(20),
},
)
if err != nil {
// 处理错误
log.Printf("call ListActivityMerchant err:%s", err)
} else {
// 处理返回结果
log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
}
}
参数名 | 参数类型 | 参数描述 |
---|---|---|
ctx | context.Context | Golang 上下文,可用于日志、请求取消、请求跟踪等功能 |
req | ListActivityMerchantRequest | API giftactivity 所定义的本接口需要的所有参数,包括Path /Query /Body 3类参数 |
Name | Type | Description |
---|---|---|
resp | *ListActMchResponse | 结构化的接口返回结果 |
result | *core.APIResult | 本次 API 访问的请求与应答信息 |
err | error | 本次 API 访问中发生的错误,当且仅当 API 失败时存在 |
[返回顶部] [返回接口列表] [返回类型列表] [返回服务README]
ListActSkuResponse ListActivitySku(ListActivitySkuRequest)
获取活动指定商品列表
package main
import (
"context"
"log"
"git.nanodreamtech.com/sg/wechatpay-go/core"
"git.nanodreamtech.com/sg/wechatpay-go/services/giftactivity"
"git.nanodreamtech.com/sg/wechatpay-go/utils"
)
func main() {
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 := giftactivity.ActivityApiService{Client: client}
resp, result, err := svc.ListActivitySku(ctx,
giftactivity.ListActivitySkuRequest{
ActivityId: core.String("10028001"),
Offset: core.Int64(1),
Limit: core.Int64(20),
},
)
if err != nil {
// 处理错误
log.Printf("call ListActivitySku err:%s", err)
} else {
// 处理返回结果
log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
}
}
参数名 | 参数类型 | 参数描述 |
---|---|---|
ctx | context.Context | Golang 上下文,可用于日志、请求取消、请求跟踪等功能 |
req | ListActivitySkuRequest | API giftactivity 所定义的本接口需要的所有参数,包括Path /Query /Body 3类参数 |
Name | Type | Description |
---|---|---|
resp | *ListActSkuResponse | 结构化的接口返回结果 |
result | *core.APIResult | 本次 API 访问的请求与应答信息 |
err | error | 本次 API 访问中发生的错误,当且仅当 API 失败时存在 |
[返回顶部] [返回接口列表] [返回类型列表] [返回服务README]
TerminateActResponse TerminateActivity(TerminateActivityRequest)
终止活动
package main
import (
"context"
"log"
"git.nanodreamtech.com/sg/wechatpay-go/core"
"git.nanodreamtech.com/sg/wechatpay-go/services/giftactivity"
"git.nanodreamtech.com/sg/wechatpay-go/utils"
)
func main() {
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 := giftactivity.ActivityApiService{Client: client}
resp, result, err := svc.TerminateActivity(ctx,
giftactivity.TerminateActivityRequest{
ActivityId: core.String("10028001"),
},
)
if err != nil {
// 处理错误
log.Printf("call TerminateActivity err:%s", err)
} else {
// 处理返回结果
log.Printf("status=%d resp=%s", result.Response.StatusCode, resp)
}
}
参数名 | 参数类型 | 参数描述 |
---|---|---|
ctx | context.Context | Golang 上下文,可用于日志、请求取消、请求跟踪等功能 |
req | TerminateActivityRequest | API giftactivity 所定义的本接口需要的所有参数,包括Path /Query /Body 3类参数 |
Name | Type | Description |
---|---|---|
resp | *TerminateActResponse | 结构化的接口返回结果 |
result | *core.APIResult | 本次 API 访问的请求与应答信息 |
err | error | 本次 API 访问中发生的错误,当且仅当 API 失败时存在 |