protected void Button3_Click(object sender, EventArgs e) { if (t_xml.Text.Trim() == "") { Label1.Text = "请填写发送内容"; return; } OrderPayRequest mrequest = (OrderPayRequest)JsonConvert.DeserializeObject(t_xml.Text.Trim(), typeof(OrderPayRequest)); ReturnResult r = SimulationMTGetDeal("http://localhost:1111/meituan-jk/orderpay.aspx", mrequest.body); Label1.Text = r.Message; }
/// <summary> /// 未支付订单的支付 /// </summary> /// <param name="request">The request.</param> /// <returns>Task<Response<OrderPayResponse>>.</returns> /// <exception cref="NotImplementedException"></exception> public async Task <Response <OrderPayResponse> > OrderPay(OrderPayRequest request) { var userId = contextAccessor.UserId(); var userInfo = await this.strokeContext.Users.FirstOrDefaultAsync(x => x.Id == userId); if (userInfo == null) { throw new Exception("获取用户信息失败"); } if (!userInfo.IsActive) { throw new Exception("此用户已经被禁用"); } var orderInfo = await this.strokeContext.Orders.FirstOrDefaultAsync(x => x.Id == request.OrderId); if (orderInfo == null) { throw new Exception("获取订单信息失败"); } //支付 var weChatPay = new WeChatPayRequest { Body = HttpUtility.UrlEncode(orderInfo.Title), TotalFee = orderInfo.TotalAmount, SuccessUrl = request.SuccessUrl, FailedUrl = request.FaildUrl, NotifyUrl = weChatOptions.HostUrl + "/api/Payment/WeChatpayNotify", SignType = "MD5", OrderIds = orderInfo.Id.ToString() }; //获取微信公众号中,微信js 支付信息 var result = GetJsPayRedirect(weChatPay, PaymentType.WeChat); Logger.LogDebug($"支付链接-----{result}"); return(new Response <OrderPayResponse> { Data = new OrderPayResponse { MwebUrl = result } }); }
/// <summary> /// 取消订单 /// </summary> /// <param name="request">The request.</param> /// <returns>Task<Response>.</returns> /// <exception cref="NotImplementedException"></exception> public async Task <Response> CancelOrder(OrderPayRequest request) { var userId = contextAccessor.UserId(); var orderInfo = await this.strokeContext.Orders.FirstOrDefaultAsync(x => x.Id == request.OrderId); if (orderInfo == null) { throw new Exception("获取订单信息失败"); } if (orderInfo.OrderStatus != OrderStatus.NoPaid) { throw new Exception("订单已完成,不能取消!"); } orderInfo.OrderStatus = OrderStatus.Cancel; orderInfo.UpdateTime = DateTime.Now; this.strokeContext.Orders.Update(orderInfo); this.strokeContext.SaveChanges(); return(Response.Success()); }
public ReturnResult SimulationMTGetDeal(string url, OrderPayRequestBody body) { ReturnResult result = new ReturnResult { IsSuccess = false, }; try { OrderPayRequest requestData = new OrderPayRequest { partnerId = agentinfo.mt_partnerId, body = body }; var responseStr = new MeiTuanInter(agentinfo.mt_partnerId, agentinfo.mt_secret, agentinfo.mt_client).DoRequest(url, JsonConvert.SerializeObject(requestData)); if (string.IsNullOrEmpty(responseStr)) { result.Message = "返回数据为空"; } else { OrderPayResponse responseBody = (OrderPayResponse)JsonConvert.DeserializeObject(responseStr, typeof(OrderPayResponse)); if (responseBody.code == 200) { result.IsSuccess = true; result.Message = JsonConvert.SerializeObject(responseBody); } else { result.Message = responseBody.describe; } } } catch (Exception ex) { result.Message = "异常" + ex.Message; } return(result); }
public Task <Response> CancelOrder([FromBody] OrderPayRequest request) { return(orderingService.CancelOrder(request)); }
public Task <Response <OrderPayResponse> > OrderPay([FromBody] OrderPayRequest request) { return(orderingService.OrderPay(request)); }