@@ -286,3 +286,95 @@ func (a *Client) MarketingActivityOrderVoucherAppend(ctx context.Context, bm gop
286
286
aliRsp .SignData = signData
287
287
return aliRsp , a .autoVerifySignByCert (aliRsp .Sign , signData , signDataErr )
288
288
}
289
+
290
+ // alipay.marketing.activity.ordervoucher.use(同步券核销状态)
291
+ // 文档地址:https://opendocs.alipay.com/open/3ffce87f_alipay.marketing.activity.ordervoucher.use
292
+ func (a * Client ) MarketingActivityOrderVoucherUse (ctx context.Context , bm gopay.BodyMap ) (aliRsp * MarketingActivityOrderVoucherUseRsp , err error ) {
293
+ err = bm .CheckEmptyError ("biz_dt" , "activity_id" , "voucher_code" , "trade_channel" , "total_fee" , "out_biz_no" )
294
+ if err != nil {
295
+ return nil , err
296
+ }
297
+ var bs []byte
298
+ if bs , err = a .doAliPay (ctx , bm , "alipay.marketing.activity.ordervoucher.use" ); err != nil {
299
+ return nil , err
300
+ }
301
+ aliRsp = new (MarketingActivityOrderVoucherUseRsp )
302
+ if err = json .Unmarshal (bs , aliRsp ); err != nil || aliRsp .Response == nil {
303
+ return nil , fmt .Errorf ("[%w], bytes: %s" , gopay .UnmarshalErr , string (bs ))
304
+ }
305
+ if err = bizErrCheck (aliRsp .Response .ErrorResponse ); err != nil {
306
+ return aliRsp , err
307
+ }
308
+ signData , signDataErr := a .getSignData (bs , aliRsp .AlipayCertSn )
309
+ aliRsp .SignData = signData
310
+ return aliRsp , a .autoVerifySignByCert (aliRsp .Sign , signData , signDataErr )
311
+ }
312
+
313
+ // alipay.marketing.activity.ordervoucher.refund(取消券核销状态)
314
+ // 文档地址:https://opendocs.alipay.com/open/4682759b_alipay.marketing.activity.ordervoucher.refund?scene=common
315
+ func (a * Client ) MarketingActivityOrderVoucherRefund (ctx context.Context , bm gopay.BodyMap ) (aliRsp * MarketingActivityOrderVoucherRefundRsp , err error ) {
316
+ err = bm .CheckEmptyError ("biz_dt" , "activity_id" , "voucher_code" , "out_biz_no" )
317
+ if err != nil {
318
+ return nil , err
319
+ }
320
+ var bs []byte
321
+ if bs , err = a .doAliPay (ctx , bm , "alipay.marketing.activity.ordervoucher.refund" ); err != nil {
322
+ return nil , err
323
+ }
324
+ aliRsp = new (MarketingActivityOrderVoucherRefundRsp )
325
+ if err = json .Unmarshal (bs , aliRsp ); err != nil || aliRsp .Response == nil {
326
+ return nil , fmt .Errorf ("[%w], bytes: %s" , gopay .UnmarshalErr , string (bs ))
327
+ }
328
+ if err = bizErrCheck (aliRsp .Response .ErrorResponse ); err != nil {
329
+ return aliRsp , err
330
+ }
331
+ signData , signDataErr := a .getSignData (bs , aliRsp .AlipayCertSn )
332
+ aliRsp .SignData = signData
333
+ return aliRsp , a .autoVerifySignByCert (aliRsp .Sign , signData , signDataErr )
334
+ }
335
+
336
+ // alipay.marketing.activity.ordervoucher.query(查询商家券活动)
337
+ // 文档地址:https://opendocs.alipay.com/open/51f5946e_alipay.marketing.activity.ordervoucher.query
338
+ func (a * Client ) MarketingActivityOrderVoucherQuery (ctx context.Context , bm gopay.BodyMap ) (aliRsp * MarketingActivityOrderVoucherQueryRsp , err error ) {
339
+ err = bm .CheckEmptyError ("activity_id" , "merchant_access_mode" )
340
+ if err != nil {
341
+ return nil , err
342
+ }
343
+ var bs []byte
344
+ if bs , err = a .doAliPay (ctx , bm , "alipay.marketing.activity.ordervoucher.query" ); err != nil {
345
+ return nil , err
346
+ }
347
+ aliRsp = new (MarketingActivityOrderVoucherQueryRsp )
348
+ if err = json .Unmarshal (bs , aliRsp ); err != nil || aliRsp .Response == nil {
349
+ return nil , fmt .Errorf ("[%w], bytes: %s" , gopay .UnmarshalErr , string (bs ))
350
+ }
351
+ if err = bizErrCheck (aliRsp .Response .ErrorResponse ); err != nil {
352
+ return aliRsp , err
353
+ }
354
+ signData , signDataErr := a .getSignData (bs , aliRsp .AlipayCertSn )
355
+ aliRsp .SignData = signData
356
+ return aliRsp , a .autoVerifySignByCert (aliRsp .Sign , signData , signDataErr )
357
+ }
358
+
359
+ // alipay.marketing.activity.ordervoucher.codecount(统计商家券券码数量)
360
+ // 文档地址:https://opendocs.alipay.com/open/f6e49e82_alipay.marketing.activity.ordervoucher.codecount
361
+ func (a * Client ) MarketingActivityOrderVoucherCodeCount (ctx context.Context , bm gopay.BodyMap ) (aliRsp * MarketingActivityOrderVoucherCodeCountRsp , err error ) {
362
+ err = bm .CheckEmptyError ("activity_id" , "merchant_access_mode" )
363
+ if err != nil {
364
+ return nil , err
365
+ }
366
+ var bs []byte
367
+ if bs , err = a .doAliPay (ctx , bm , "alipay.marketing.activity.ordervoucher.codecount" ); err != nil {
368
+ return nil , err
369
+ }
370
+ aliRsp = new (MarketingActivityOrderVoucherCodeCountRsp )
371
+ if err = json .Unmarshal (bs , aliRsp ); err != nil || aliRsp .Response == nil {
372
+ return nil , fmt .Errorf ("[%w], bytes: %s" , gopay .UnmarshalErr , string (bs ))
373
+ }
374
+ if err = bizErrCheck (aliRsp .Response .ErrorResponse ); err != nil {
375
+ return aliRsp , err
376
+ }
377
+ signData , signDataErr := a .getSignData (bs , aliRsp .AlipayCertSn )
378
+ aliRsp .SignData = signData
379
+ return aliRsp , a .autoVerifySignByCert (aliRsp .Sign , signData , signDataErr )
380
+ }
0 commit comments