@@ -170,3 +170,119 @@ func (a *Client) MarketingActivityVoucherStop(ctx context.Context, bm gopay.Body
170
170
aliRsp .SignData = signData
171
171
return aliRsp , a .autoVerifySignByCert (aliRsp .Sign , signData , signDataErr )
172
172
}
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
+ }
0 commit comments