Skip to content

Commit 1a66685

Browse files
committed
v1.5.103
1 parent 9646edb commit 1a66685

File tree

3 files changed

+225
-2
lines changed

3 files changed

+225
-2
lines changed

alipay/marketing_voucher.go

+116
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,119 @@ func (a *Client) MarketingActivityVoucherStop(ctx context.Context, bm gopay.Body
170170
aliRsp.SignData = signData
171171
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
172172
}
173+
174+
// alipay.marketing.activity.ordervoucher.create(创建商家券活动)
175+
// 文档地址:https://opendocs.alipay.com/open/7ad3a7bf_alipay.marketing.activity.ordervoucher.create
176+
func (a *Client) MarketingActivityOrderVoucherCreate(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherCreateRsp, err error) {
177+
err = bm.CheckEmptyError("out_biz_no", "activity_base_info", "merchant_access_mode", "voucher_send_mode_info",
178+
"voucher_deduct_info", "voucher_available_scope_info", "voucher_use_rule_info", "voucher_customer_guide_info", "voucher_display_pattern_info")
179+
if err != nil {
180+
return nil, err
181+
}
182+
var bs []byte
183+
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.create"); err != nil {
184+
return nil, err
185+
}
186+
aliRsp = new(MarketingActivityOrderVoucherCreateRsp)
187+
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
188+
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
189+
}
190+
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
191+
return aliRsp, err
192+
}
193+
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
194+
aliRsp.SignData = signData
195+
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
196+
}
197+
198+
// alipay.marketing.activity.ordervoucher.codedeposit(同步商家券券码)
199+
// 文档地址:https://opendocs.alipay.com/open/7ed0450d_alipay.marketing.activity.ordervoucher.codedeposit
200+
func (a *Client) MarketingActivityOrderVoucherCodeDeposit(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherCodeDepositRsp, err error) {
201+
err = bm.CheckEmptyError("out_biz_no", "activity_id", "merchant_access_mode", "voucher_codes")
202+
if err != nil {
203+
return nil, err
204+
}
205+
var bs []byte
206+
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.codedeposit"); err != nil {
207+
return nil, err
208+
}
209+
aliRsp = new(MarketingActivityOrderVoucherCodeDepositRsp)
210+
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
211+
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
212+
}
213+
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
214+
return aliRsp, err
215+
}
216+
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
217+
aliRsp.SignData = signData
218+
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
219+
}
220+
221+
// alipay.marketing.activity.ordervoucher.modify(修改商家券活动基本信息)
222+
// 文档地址:https://opendocs.alipay.com/open/528f83f6_alipay.marketing.activity.ordervoucher.modify
223+
func (a *Client) MarketingActivityOrderVoucherModify(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherModifyRsp, err error) {
224+
err = bm.CheckEmptyError("out_biz_no", "activity_id", "merchant_access_mode", "activity_base_info")
225+
if err != nil {
226+
return nil, err
227+
}
228+
var bs []byte
229+
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.modify"); err != nil {
230+
return nil, err
231+
}
232+
aliRsp = new(MarketingActivityOrderVoucherModifyRsp)
233+
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
234+
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
235+
}
236+
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
237+
return aliRsp, err
238+
}
239+
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
240+
aliRsp.SignData = signData
241+
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
242+
}
243+
244+
// alipay.marketing.activity.ordervoucher.stop(停止商家券活动)
245+
// 文档地址:https://opendocs.alipay.com/open/16803efe_alipay.marketing.activity.ordervoucher.stop
246+
func (a *Client) MarketingActivityOrderVoucherStop(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherStopRsp, err error) {
247+
err = bm.CheckEmptyError("out_biz_no", "activity_id", "merchant_access_mode")
248+
if err != nil {
249+
return nil, err
250+
}
251+
var bs []byte
252+
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.stop"); err != nil {
253+
return nil, err
254+
}
255+
aliRsp = new(MarketingActivityOrderVoucherStopRsp)
256+
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
257+
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
258+
}
259+
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
260+
return aliRsp, err
261+
}
262+
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
263+
aliRsp.SignData = signData
264+
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
265+
}
266+
267+
// alipay.marketing.activity.ordervoucher.append(修改商家券活动发券数量上限)
268+
// 文档地址:https://opendocs.alipay.com/open/4e2acff5_alipay.marketing.activity.ordervoucher.append
269+
func (a *Client) MarketingActivityOrderVoucherAppend(ctx context.Context, bm gopay.BodyMap) (aliRsp *MarketingActivityOrderVoucherAppendRsp, err error) {
270+
err = bm.CheckEmptyError("out_biz_no", "activity_id", "merchant_access_mode", "voucher_quantity")
271+
if err != nil {
272+
return nil, err
273+
}
274+
var bs []byte
275+
if bs, err = a.doAliPay(ctx, bm, "alipay.marketing.activity.ordervoucher.append"); err != nil {
276+
return nil, err
277+
}
278+
aliRsp = new(MarketingActivityOrderVoucherAppendRsp)
279+
if err = json.Unmarshal(bs, aliRsp); err != nil || aliRsp.Response == nil {
280+
return nil, fmt.Errorf("[%w], bytes: %s", gopay.UnmarshalErr, string(bs))
281+
}
282+
if err = bizErrCheck(aliRsp.Response.ErrorResponse); err != nil {
283+
return aliRsp, err
284+
}
285+
signData, signDataErr := a.getSignData(bs, aliRsp.AlipayCertSn)
286+
aliRsp.SignData = signData
287+
return aliRsp, a.autoVerifySignByCert(aliRsp.Sign, signData, signDataErr)
288+
}

alipay/model_market.go

+100
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,41 @@ type MarketingCampaignOrderVoucherConsultRsp struct {
175175
Sign string `json:"sign"`
176176
}
177177

178+
type MarketingActivityOrderVoucherCreateRsp struct {
179+
Response *MarketingActivityOrderVoucherCreate `json:"alipay_marketing_activity_ordervoucher_create_response"`
180+
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
181+
SignData string `json:"-"`
182+
Sign string `json:"sign"`
183+
}
184+
185+
type MarketingActivityOrderVoucherCodeDepositRsp struct {
186+
Response *MarketingActivityOrderVoucherCodeDeposit `json:"alipay_marketing_activity_ordervoucher_codedeposit_response"`
187+
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
188+
SignData string `json:"-"`
189+
Sign string `json:"sign"`
190+
}
191+
192+
type MarketingActivityOrderVoucherModifyRsp struct {
193+
Response *MarketingActivityOrderVoucherModify `json:"alipay_marketing_activity_ordervoucher_modify_response"`
194+
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
195+
SignData string `json:"-"`
196+
Sign string `json:"sign"`
197+
}
198+
199+
type MarketingActivityOrderVoucherStopRsp struct {
200+
Response *MarketingActivityOrderVoucherStop `json:"alipay_marketing_activity_ordervoucher_stop_response"`
201+
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
202+
SignData string `json:"-"`
203+
Sign string `json:"sign"`
204+
}
205+
206+
type MarketingActivityOrderVoucherAppendRsp struct {
207+
Response *MarketingActivityOrderVoucherAppend `json:"alipay_marketing_activity_ordervoucher_append_response"`
208+
AlipayCertSn string `json:"alipay_cert_sn,omitempty"`
209+
SignData string `json:"-"`
210+
Sign string `json:"sign"`
211+
}
212+
178213
// =========================================================分割=========================================================
179214

180215
type MarketingCampaignCashCreate struct {
@@ -765,3 +800,68 @@ type ItemConsult struct {
765800
PromoAmount string `json:"promo_amount"`
766801
PromoCount string `json:"promo_count"`
767802
}
803+
804+
type MarketingActivityOrderVoucherCreate struct {
805+
ErrorResponse
806+
ActivityId string `json:"activity_id"`
807+
VoucherAvailableScopeResultInfo *VoucherAvailableScopeResultInfo `json:"voucher_available_scope_result_info"`
808+
}
809+
810+
type VoucherAvailableScopeResultInfo struct {
811+
VoucherAvailableGeographyScopeResultInfo *VoucherAvailableGeographyScopeResultInfo `json:"voucher_available_geography_scope_result_info"`
812+
}
813+
814+
type VoucherAvailableGeographyScopeResultInfo struct {
815+
AvailableGeographyShopResultInfo *AvailableGeographyShopResultInfo `json:"available_geography_shop_result_info"`
816+
}
817+
818+
type AvailableGeographyShopResultInfo struct {
819+
SuccessAvailableShopIds []string `json:"success_available_shop_ids"`
820+
FailAvailableShopInfos []*FailAvailableShopInfo `json:"fail_available_shop_infos"`
821+
AvailableGeographyAllShopResultInfo *AvailableGeographyAllShopResultInfo `json:"available_geography_all_shop_result_info"`
822+
}
823+
824+
type FailAvailableShopInfo struct {
825+
ShopId string `json:"shop_id"`
826+
FailReasons []string `json:"fail_reasons"`
827+
FailMessage string `json:"fail_message"`
828+
}
829+
830+
type AvailableGeographyAllShopResultInfo struct {
831+
SuccessExcludeShopIds []string `json:"success_exclude_shop_ids"`
832+
FailExcludeShopInfos []*FailExcludeShopInfo `json:"fail_exclude_shop_infos"`
833+
}
834+
835+
type FailExcludeShopInfo struct {
836+
ShopId string `json:"shop_id"`
837+
RealShopId string `json:"real_shop_id"`
838+
FailReasons []string `json:"fail_reasons"`
839+
FailMessage string `json:"fail_message"`
840+
}
841+
842+
type MarketingActivityOrderVoucherCodeDeposit struct {
843+
ErrorResponse
844+
SuccessCount int `json:"success_count"`
845+
FailCount int `json:"fail_count"`
846+
SuccessVoucherCodeList []string `json:"success_voucher_code_list"`
847+
FailVoucherCodeDetailList []*FailVoucherCodeDetail `json:"fail_voucher_code_detail_list"`
848+
}
849+
850+
type FailVoucherCodeDetail struct {
851+
VoucherCode string `json:"voucher_code"`
852+
ErrorCode string `json:"error_code"`
853+
ErrorMsg string `json:"error_msg"`
854+
}
855+
856+
type MarketingActivityOrderVoucherModify struct {
857+
ErrorResponse
858+
VoucherAvailableScopeResultInfo *VoucherAvailableScopeResultInfo `json:"voucher_available_scope_result_info"`
859+
}
860+
861+
type MarketingActivityOrderVoucherStop struct {
862+
ErrorResponse
863+
}
864+
865+
type MarketingActivityOrderVoucherAppend struct {
866+
ErrorResponse
867+
}

release_note.txt

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
版本号:Release 1.5.103
22
修改记录:
33
(1) 支付宝:新增 client.PayAppMarketingConsult(),商户前置内容咨询接口。
4-
(2) 支付宝:新增
5-
(3) 支付宝:新增
4+
(2) 支付宝:新增 client.MarketingActivityOrderVoucherCreate(),创建商家券活动接口
5+
(3) 支付宝:新增 client.MarketingActivityOrderVoucherCodeDeposit(),同步商家券券码接口
6+
(4) 支付宝:新增 client.MarketingActivityOrderVoucherModify(),修改商家券活动基本信息接口
7+
(4) 支付宝:新增 client.MarketingActivityOrderVoucherStop(),停止商家券活动接口
8+
(4) 支付宝:新增 client.MarketingActivityOrderVoucherAppend(),修改商家券活动发券数量上限接口
9+
(4) 支付宝:新增
10+
(4) 支付宝:新增
11+
(4) 支付宝:新增
12+
(4) 支付宝:新增
613
(4) 支付宝:新增
714

815
版本号:Release 1.5.102

0 commit comments

Comments
 (0)