コード例 #1
0
        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;
        }
コード例 #2
0
        /// <summary>
        /// 未支付订单的支付
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>Task&lt;Response&lt;OrderPayResponse&gt;&gt;.</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
                }
            });
        }
コード例 #3
0
        /// <summary>
        /// 取消订单
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>Task&lt;Response&gt;.</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());
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 public Task <Response> CancelOrder([FromBody] OrderPayRequest request)
 {
     return(orderingService.CancelOrder(request));
 }
コード例 #6
0
 public Task <Response <OrderPayResponse> > OrderPay([FromBody] OrderPayRequest request)
 {
     return(orderingService.OrderPay(request));
 }