Skip to content

Commit

Permalink
v1.5.103
Browse files Browse the repository at this point in the history
  • Loading branch information
iGoogle-ink committed Jul 12, 2024
1 parent 62f45c1 commit 0ecf176
Show file tree
Hide file tree
Showing 5 changed files with 182 additions and 32 deletions.
7 changes: 2 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,8 @@ func main() {

# 三、其他说明

* 如需自定义Log输出,请调用以下方法设置自定义Logger,实现 `xlog.XLogger` 接口即可。
* `xlog.SetDebugLog()`
* `xlog.SetInfoLog()`
* `xlog.SetWarnLog()`
* `xlog.SetErrLog()`
* 如需自定义Log输出,New Client 后,调用 `client.SetLogger()` 方法设置自定义Logger,自定义Logger实现 `xlog.XLogger` interface即可。

* 各支付方式接入,请仔细查看 `xxx_test.go` 使用方式
* `gopay/wechat/v3/client_test.go`
* `gopay/alipay/client_test.go`
Expand Down
92 changes: 92 additions & 0 deletions alipay/marketing_voucher.go
Original file line number Diff line number Diff line change
Expand Up @@ -286,3 +286,95 @@ func (a *Client) MarketingActivityOrderVoucherAppend(ctx context.Context, bm gop
aliRsp.SignData = signData
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
}

// alipay.marketing.activity.ordervoucher.use(同步券核销状态)
// 文档地址:https://opendocs.alipay.com/open/3ffce87f_alipay.marketing.activity.ordervoucher.use
func (a *Client) MarketingActivityOrderVoucherUse(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherUseRsp, err error) {
err = bm.CheckEmptyError("biz_dt", "activity_id", "voucher_code", "trade_channel", "total_fee", "out_biz_no")
if err != nil {
return nil, err
}
var bs []byte
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.use"); err != nil {
return nil, err
}
aliRsp = new(MarketingActivityOrderVoucherUseRsp)
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
}
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
return aliRsp, err
}
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
aliRsp.SignData = signData
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
}

// alipay.marketing.activity.ordervoucher.refund(取消券核销状态)
// 文档地址:https://opendocs.alipay.com/open/4682759b_alipay.marketing.activity.ordervoucher.refund?scene=common
func (a *Client) MarketingActivityOrderVoucherRefund(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherRefundRsp, err error) {
err = bm.CheckEmptyError("biz_dt", "activity_id", "voucher_code", "out_biz_no")
if err != nil {
return nil, err
}
var bs []byte
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.refund"); err != nil {
return nil, err
}
aliRsp = new(MarketingActivityOrderVoucherRefundRsp)
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
}
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
return aliRsp, err
}
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
aliRsp.SignData = signData
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
}

// alipay.marketing.activity.ordervoucher.query(查询商家券活动)
// 文档地址:https://opendocs.alipay.com/open/51f5946e_alipay.marketing.activity.ordervoucher.query
func (a *Client) MarketingActivityOrderVoucherQuery(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherQueryRsp, err error) {
err = bm.CheckEmptyError("activity_id", "merchant_access_mode")
if err != nil {
return nil, err
}
var bs []byte
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.query"); err != nil {
return nil, err
}
aliRsp = new(MarketingActivityOrderVoucherQueryRsp)
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
}
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
return aliRsp, err
}
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
aliRsp.SignData = signData
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
}

// alipay.marketing.activity.ordervoucher.codecount(统计商家券券码数量)
// 文档地址:https://opendocs.alipay.com/open/f6e49e82_alipay.marketing.activity.ordervoucher.codecount
func (a *Client) MarketingActivityOrderVoucherCodeCount(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherCodeCountRsp, err error) {
err = bm.CheckEmptyError("activity_id", "merchant_access_mode")
if err != nil {
return nil, err
}
var bs []byte
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.codecount"); err != nil {
return nil, err
}
aliRsp = new(MarketingActivityOrderVoucherCodeCountRsp)
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
}
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
return aliRsp, err
}
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
aliRsp.SignData = signData
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
}
68 changes: 65 additions & 3 deletions alipay/model_market.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,9 +205,37 @@ type MarketingActivityOrderVoucherStopRsp struct {

type MarketingActivityOrderVoucherAppendRsp struct {
Response *MarketingActivityOrderVoucherAppend `json:"alipay_marketing_activity_ordervoucher_append_response"`
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
SignData string `json:"-"`
Sign string `json:"sign"`
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
SignData string `json:"-"`
Sign string `json:"sign"`
}

type MarketingActivityOrderVoucherUseRsp struct {
Response *MarketingActivityOrderVoucherUse `json:"alipay_marketing_activity_ordervoucher_use_response"`
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
SignData string `json:"-"`
Sign string `json:"sign"`
}

type MarketingActivityOrderVoucherRefundRsp struct {
Response *MarketingActivityOrderVoucherRefund `json:"alipay_marketing_activity_ordervoucher_refund_response"`
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
SignData string `json:"-"`
Sign string `json:"sign"`
}

type MarketingActivityOrderVoucherQueryRsp struct {
Response *MarketingActivityOrderVoucherQuery `json:"alipay_marketing_activity_ordervoucher_query_response"`
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
SignData string `json:"-"`
Sign string `json:"sign"`
}

type MarketingActivityOrderVoucherCodeCountRsp struct {
Response *MarketingActivityOrderVoucherCodeCount `json:"alipay_marketing_activity_ordervoucher_codecount_response"`
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
SignData string `json:"-"`
Sign string `json:"sign"`
}

// =========================================================分割=========================================================
Expand Down Expand Up @@ -386,6 +414,7 @@ type ActivityBaseInfo struct {
ActivityId string `json:"activity_id"`
ActivityName string `json:"activity_name,omitempty"`
BelongMerchantInfo *BelongMerchantInfo `json:"belong_merchant_info"`
CodeMode string `json:"code_mode,omitempty"`
ActivityOperationStatus string `json:"activity_operation_status,omitempty"`
ActivityStatus string `json:"activity_status"`
ActivityProductType string `json:"activity_product_type,omitempty"`
Expand Down Expand Up @@ -865,3 +894,36 @@ type MarketingActivityOrderVoucherStop struct {
type MarketingActivityOrderVoucherAppend struct {
ErrorResponse
}

type MarketingActivityOrderVoucherUse struct {
ErrorResponse
ActivityId string `json:"activity_id"`
VoucherUseDetailResultInfo *VoucherUseDetailResultInfo `json:"voucher_use_detail_result_info"`
}

type VoucherUseDetailResultInfo struct {
VoucherMaxUnUseTimes int `json:"voucher_max_un_use_times"`
}

type MarketingActivityOrderVoucherRefund struct {
ErrorResponse
ActivityId string `json:"activity_id"`
VoucherUseDetailResultInfo *VoucherUseDetailResultInfo `json:"voucher_use_detail_result_info"`
}

type MarketingActivityOrderVoucherQuery struct {
ErrorResponse
ActivityBaseInfo *ActivityBaseInfo `json:"activity_base_info"`
VoucherSendModeInfo *VoucherSendModeInfo `json:"voucher_send_mode_info"`
VoucherDeductInfo *VoucherDeductInfo `json:"voucher_deduct_info"`
VoucherAvailableScopeInfo *VoucherAvailableScopeInfo `json:"voucher_available_scope_info"`
VoucherUseRuleInfo *VoucherUseRuleInfo `json:"voucher_use_rule_info"`
VoucherDisplayPatternInfo *VoucherDisplayPatternInfo `json:"voucher_display_pattern_info"`
VoucherCustomerGuideInfo *VoucherCustomerGuideInfo `json:"voucher_customer_guide_info"`
VoucherInventoryInfo *VoucherInventoryInfo `json:"voucher_inventory_info"`
}

type MarketingActivityOrderVoucherCodeCount struct {
ErrorResponse
SuccessCount int `json:"success_count"`
}
24 changes: 12 additions & 12 deletions doc/alipay.md
Original file line number Diff line number Diff line change
Expand Up @@ -326,20 +326,20 @@ xlog.Infof("%+v", phone)
* 预算追加
* 修改商家券活动发券数量上限接口:`client.MarketingActivityOrderVoucherAppend()`
* 活动发放
* 活动领取咨询接口:TODO:https://opendocs.alipay.com/open/cdf2e908_alipay.marketing.activity.consult
* 活动领取咨询接口:`client.MarketingActivityConsult()`
* 优惠券核销
* 同步券核销状态接口:TODO:https://opendocs.alipay.com/open/3ffce87f_alipay.marketing.activity.ordervoucher.use
* 取消券核销状态接口:TODO:https://opendocs.alipay.com/open/4682759b_alipay.marketing.activity.ordervoucher.refund
* 同步券核销状态接口:`client.MarketingActivityOrderVoucherUse()`
* 取消券核销状态接口:`client.MarketingActivityOrderVoucherRefund()`
* 活动查询
* 查询商家券活动接口:TODO:https://opendocs.alipay.com/open/51f5946e_alipay.marketing.activity.ordervoucher.query
* 查询活动详情接口:TODO:https://opendocs.alipay.com/open/f76b603f_alipay.marketing.activity.query
* 统计商家券券码数量接口:TODO:https://opendocs.alipay.com/open/f6e49e82_alipay.marketing.activity.ordervoucher.codecount
* 条件查询活动列表接口:TODO:https://opendocs.alipay.com/open/55aa8ee8_alipay.marketing.activity.batchquery
* 条件查询用户券接口:TODO:https://opendocs.alipay.com/open/300dff38_alipay.marketing.activity.user.batchqueryvoucher
* 查询用户券详情接口:TODO:https://opendocs.alipay.com/open/abffd3f6_alipay.marketing.activity.user.queryvoucher
* 查询活动可用小程序接口:TODO:https://opendocs.alipay.com/open/634212b2_alipay.marketing.activity.app.batchquery
* 查询活动可用门店接口:TODO:https://opendocs.alipay.com/open/cf4e0873_alipay.marketing.activity.shop.batchquery
* 查询活动适用商品接口:TODO:https://opendocs.alipay.com/open/1bee5767_alipay.marketing.activity.goods.batchquery
* 查询商家券活动接口:`client.MarketingActivityOrderVoucherQuery()`
* 查询活动详情接口:`client.MarketingActivityQuery()`
* 统计商家券券码数量接口:`client.MarketingActivityOrderVoucherCodeCount()`
* 条件查询活动列表接口:`client.MarketingActivityBatchQuery()`
* 条件查询用户券接口:`client.MarketingActivityQueryUserBatchQueryVoucher()`
* 查询用户券详情接口:`client.MarketingActivityQueryUserQueryVoucher()`
* 查询活动可用小程序接口:`client.MarketingActivityQueryAppBatchQuery()`
* 查询活动可用门店接口:`client.MarketingActivityQueryShopBatchQuery()`
* 查询活动适用商品接口:`client.MarketingActivityQueryGoodsBatchQuery()`
* 商家会员卡
* 基础功能
* 会员卡模板创建接口:TODO:https://opendocs.alipay.com/open/b2854ad3_alipay.marketing.card.template.create
Expand Down
23 changes: 11 additions & 12 deletions release_note.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
版本号:Release 1.5.103
修改记录:
(1) gopay:xlog 库更新,支持接口自定义logger。
(1) gopay:go mod 版本升级至 1.21。
(1) 支付宝:新增 client.PayAppMarketingConsult(),商户前置内容咨询接口。
(2) 支付宝:新增 client.MarketingActivityOrderVoucherCreate(),创建商家券活动接口
(3) 支付宝:新增 client.MarketingActivityOrderVoucherCodeDeposit(),同步商家券券码接口
(4) 支付宝:新增 client.MarketingActivityOrderVoucherModify(),修改商家券活动基本信息接口
(4) 支付宝:新增 client.MarketingActivityOrderVoucherStop(),停止商家券活动接口
(4) 支付宝:新增 client.MarketingActivityOrderVoucherAppend(),修改商家券活动发券数量上限接口
(4) 支付宝:新增
(4) 支付宝:新增
(4) 支付宝:新增
(4) 支付宝:新增
(4) 支付宝:新增
(2) gopay:go mod 版本升级至 1.21。
(3) 支付宝:新增 client.PayAppMarketingConsult(),商户前置内容咨询接口。
(4) 支付宝:新增 client.MarketingActivityOrderVoucherCreate(),创建商家券活动接口
(5) 支付宝:新增 client.MarketingActivityOrderVoucherCodeDeposit(),同步商家券券码接口
(6) 支付宝:新增 client.MarketingActivityOrderVoucherModify(),修改商家券活动基本信息接口
(7) 支付宝:新增 client.MarketingActivityOrderVoucherStop(),停止商家券活动接口
(8) 支付宝:新增 client.MarketingActivityOrderVoucherAppend(),修改商家券活动发券数量上限接口
(9) 支付宝:新增 client.MarketingActivityOrderVoucherUse(),同步券核销状态接口
(10) 支付宝:新增 client.MarketingActivityOrderVoucherRefund(),取消券核销状态接口
(11) 支付宝:新增 client.MarketingActivityOrderVoucherQuery(),查询商家券活动接口
(12) 支付宝:新增 client.MarketingActivityOrderVoucherCodeCount(),统计商家券券码数量接口

版本号:Release 1.5.102
修改记录:
Expand Down

0 comments on commit 0ecf176

Please sign in to comment.