public async Task <HttpResponseMessage> ReturnMessage(WechatPayNativePayRequest request) { HttpResponseMessage response = null; var validationResultCollection = await ValidateAsync(); if (validationResultCollection.IsValid) { var result = await NativePayService.PayAsync(request); WechatPayParameterBuilder paramBuilder = new WechatPayParameterBuilder(Config); paramBuilder.Init(); paramBuilder.PrepayId(result.Data?.PrepayId); paramBuilder.ReturnCode(result.Data?.ReturnCode); paramBuilder.ResultCode(result.Data?.ResultCode); paramBuilder.Add(WechatPayConst.ErrorCodeDescription, result.Data?.ReturnMsg); string xmlContent = paramBuilder.ToXml(); response = xmlContent.XmlToHttpResponseMessage(); } else { throw new PayException(validationResultCollection); } return(response); }
public void WechatNativePayTest() { var aaa = typeof(Tests).GetMethod("GetAAA").GetParameters(); var dic = new Dictionary <string, object>(); dic.Add(WechatPayConst.OutTradeNo, "1212"); var sss = serviceProvider.GetService <ICustomeWehcatPayService>(); sss.SetUrl("pay/orderquery").SetExtensionParameter(dic); var resu31lt = sss.Request().GetAwaiter().GetResult(); //1.生成订单 string orderId = "789793535345"; var WechatPayNativePayService = serviceProvider.GetService <IWechatPayNativePayService>(); var WechatPayNativePayRequest = new WechatPayNativePayRequest() { Body = "sssss", OutTradeNo = orderId, TotalFee = 0.01m, Attach = "dadadaaaa", FeeType = FeeType.CNY, Detail = new WechatPayPayRequestBase.GoodsDetail() { GoodsId = "GoodsId", WxpayGoodsId = "WxpayGoodsId", GoodsName = "GoodsName", Quantity = 2, Price = 1 }, Receipt = "Y", LimitPay = "no_credit", ProductId = "ProductId", GoodsTag = "GoodsTag", TimeExpire = DateTime.Now.AddHours(2), TimeStart = DateTime.Now, SceneInfo = new WechatPayPayRequestBase.StoreSceneInfo { store_info = new WechatPayPayRequestBase.StoreSceneInfoObj() { id = "Id", address = "Address", area_code = "AreaCode", name = "Name" }, }.ToJson(), //OpenId = "98980989080980" }; var result = WechatPayNativePayService.PayAsync(WechatPayNativePayRequest).GetAwaiter().GetResult(); //2。查询订单 var wechatOrderQueryService = serviceProvider.GetService <IWechatOrderQueryService>(); var result2 = wechatOrderQueryService.QueryAsync(new WechatOrderQueryRequest() { OutTradeNo = orderId }).GetAwaiter().GetResult(); //3.关闭订单 var wechatCloseOrderService = serviceProvider.GetService <IWechatCloseOrderService>(); //var adad = new Dictionary<string, object>() { }; //adad.Add("1", "2"); //wechatCloseOrderService.ExtensionParameter(adad); var result3 = wechatCloseOrderService.CloseAsync(new WechatCloseOrderRequest() { OutTradeNo = orderId }).GetAwaiter().GetResult(); //4.查询订单 var result4 = wechatOrderQueryService.QueryAsync(new WechatOrderQueryRequest() { OutTradeNo = orderId }).GetAwaiter().GetResult(); }
/// <summary> /// 支付 /// </summary> /// <param name="request">支付参数</param> public Task <WechatPayResult <WechatPayNativePayResponse> > PayAsync(WechatPayNativePayRequest request) { return(base.PayAsync <WechatPayNativePayResponse>(request)); }