/// <summary> /// 商户预授权接口 /// <para>商户预授权。</para> /// <para>更多详细请参考 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_2.shtml </para> /// </summary> /// <param name="data">微信支付需要POST的Data数据</param> /// <param name="timeOut">超时时间,单位为ms</param> /// <returns></returns> public async Task <GivePermissionReturnJson> GivePermissionAsync(GivePermissionRequestData data, int timeOut = Config.TIME_OUT) { var url = ReurnPayApiUrl("https://api.mch.weixin.qq.com/{0}v3/payscore/permissions"); TenPayApiRequest tenPayApiRequest = new(_tenpayV3Setting); return(await tenPayApiRequest.RequestAsync <GivePermissionReturnJson>(url, data, timeOut)); }
public void GivePermissionAsyncTest() { var key = TenPayHelper.GetRegisterKey(Config.SenparcWeixinSetting); var TenPayV3Info = TenPayV3InfoCollection.Data[key]; // 服务单号 var authorization_code = string.Format("{0}{1}{2}", TenPayV3Info.MchId /*10位*/, SystemTime.Now.ToString("yyyyMMddHHmmss"), TenPayV3Util.BuildRandomStr(6)); //TODO:服务id获取 请阅读 https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter3_1_1.shtml var serviceId = "{serviceId}"; var requestData = new GivePermissionRequestData(serviceId, TenPayV3Info.AppId, authorization_code, serviceId); PayScoreApis payScoreApis = new PayScoreApis(); var result = payScoreApis.GivePermissionAsync(requestData).GetAwaiter().GetResult(); Console.WriteLine("微信支付 V3 商户预授权测试测试结果:" + result.ToJson(true)); Assert.IsNotNull(result); Assert.IsTrue(result.ResultCode.Success); Assert.IsTrue(result.VerifySignSuccess == true);//通过验证 }