/// <summary> /// 激活代金券批次接口 /// <para>制券成功后,通过调用此接口激活批次,如果是预充值代金券,激活时会从商户账户余额中锁定本批次的营销资金</para> /// <para>更多详细请参考 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter9_1_3.shtml </para> /// </summary> /// <param name="stock_id">批次号 微信为每个代金券批次分配的唯一id</param> /// <param name="data">微信支付需要POST的Data数据</param> /// <param name="timeOut">超时时间,单位为ms </param> /// <returns></returns> public async Task <StartStockReturnJson> StartStockAsync(string stock_id, StartStockRequsetData data, int timeOut = Config.TIME_OUT) { var url = ReurnPayApiUrl($"{Senparc.Weixin.Config.TenPayV3Host}/{{0}}v3/marketing/favor/stocks/{stock_id}/start"); TenPayApiRequest tenPayApiRequest = new(_tenpayV3Setting); return(await tenPayApiRequest.RequestAsync <StartStockReturnJson>(url, data, timeOut)); }
public void StartStockAsyncTest() { var key = TenPayHelper.GetRegisterKey(Config.SenparcWeixinSetting); var TenPayV3Info = TenPayV3InfoCollection.Data[key]; // 如果还未创建代金券批次 则创建新的代金券批次 if (createStockResult is null) { CreateStockAsyncTest(); } var requestData = new StartStockRequsetData(TenPayV3Info.MchId); var marketingApis = new MarketingApis(); var result = marketingApis.StartStockAsync(createStockResult.stock_id, requestData).GetAwaiter().GetResult(); Console.WriteLine("微信支付 V3 激活代金券批次接口结果:" + result.ToJson(true)); Assert.IsNotNull(result); Assert.IsTrue(result.ResultCode.Success); Assert.IsTrue(result.VerifySignSuccess == true);//通过验证 }