public PayOutput GetPayOutput(PayInput input) { OrderDto order = Get(new OrderGetInput() { Id = input.Id }); if (order.PaymentStatus == PaymentStatus.Payed) { throw new UserFriendlyException("the order has payed!"); } PayOutput payOutput = new PayOutput() { Order = order }; return(payOutput); }
public PayOutput GetPayOrderInfo(PayOrderDto payInfo, string payApi) { var formData = new Dictionary <string, object>(); formData.Add("uid", payInfo.Uid); formData.Add("price", payInfo.Price); formData.Add("istype", payInfo.Istype); formData.Add("notify_url", payInfo.Notify_url); formData.Add("return_url", payInfo.Return_url); formData.Add("orderid", payInfo.Orderid); formData.Add("orderuid", payInfo.Orderuid); formData.Add("goodsname", payInfo.Goodsname); formData.Add("key", payInfo.Key); dynamic result; try { var response = _httpClient.Post(payApi, formData, null, new { format = "json" }); result = response.RawText.ToObject(); } catch (Exception e) { _logger.Error(e); string payType = string.Empty; string recommendPaytype = string.Empty; if (payInfo.Istype == 1) { payType = "支付宝"; recommendPaytype = "微信"; } else { payType = "微信"; recommendPaytype = "支付宝"; } throw new LotteryException(string.Format("{0}支付系统异常,推荐使用{1}支付,或稍后重试", payType, recommendPaytype)); } string qrcodeLink = result.data.qrcode.ToString(); if (qrcodeLink.IsNullOrEmpty()) { string payType = string.Empty; string recommendPaytype = string.Empty; if (payInfo.Istype == 1) { payType = "支付宝"; recommendPaytype = "微信"; } else { payType = "微信"; recommendPaytype = "支付宝"; } throw new LotteryException(string.Format("{0}支付系统异常,推荐使用{1}支付,或稍后重试", payType, recommendPaytype)); } var output = new PayOutput() { IsType = result.data.istype, Msg = payInfo.Goodsname, QrCodeImageAddress = string.Format(LotteryConstants.QrCodeUrl, result.data.qrcode), QrCode = result.data.qrcode, RealPrice = result.data.realprice }; return(output); }
public ActionResult Index(PayInput input) { PayOutput PayOutput = _orderAppService.GetPayOutput(input); return(View(PayOutput)); }