public ActionResult PayOrder(int oid = -1) { OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid); if (orderInfo == null) { return(PromptView("订单不存在")); } if (orderInfo.StoreId != WorkContext.StoreId) { return(PromptView("不能操作其它店铺的订单")); } if (orderInfo.PayMode != 2) { return(PromptView(Url.Action("orderinfo", new { oid = oid }), "付款操作只适用于线下付款")); } if (orderInfo.OrderState != (int)OrderState.WaitPaying) { return(PromptView(Url.Action("orderinfo", new { oid = oid }), "当前不能支付订单")); } PayOrderModel model = new PayOrderModel(); ViewData["orderInfo"] = orderInfo; return(View(model)); }
public ActionResult PayOrder(PayOrderModel model, int oid = -1) { OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid); if (orderInfo == null) { return(PromptView("订单不存在")); } if (orderInfo.PayMode != 2) { return(PromptView(Url.Action("orderinfo", new { oid = oid }), "付款操作只适用于线下付款")); } if (orderInfo.OrderState != (int)OrderState.WaitPaying) { return(PromptView(Url.Action("orderinfo", new { oid = oid }), "当前不能支付订单")); } if (ModelState.IsValid) { AdminOrders.PayOrder(oid, OrderState.Confirming, model.PaySN, DateTime.Now); CreateOrderAction(oid, OrderActionType.Pay, "您的订单成功支付,请等待确认"); AddMallAdminLog("支付订单", "支付订单,订单ID为:" + oid); return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单支付成功")); } ViewData["orderInfo"] = orderInfo; return(View(model)); }
public IActionResult PayOrder([FromBody] PayOrderModel payOrderModel) { Order result; try { result = orderService.PayOrder(User.Identity.Name, payOrderModel.OrderID, (decimal)payOrderModel.Ammount); } catch (OrderServiceException ex) { return(BadRequest(ex.Message)); } return(new JsonResult(result)); }
public ActionResult PayOrder(PayOrderModel model) { OrderViewModel order = _orderLogic.Read(new OrderBindingModel { Id = model.OrderId }).FirstOrDefault(); if (!ModelState.IsValid) { ViewBag.Order = order; return(View(model)); } if (order.SumPaid > model.Sum) { ViewBag.Order = order; return(View(model)); } _paymentLogic.CreateOrUpdate(new PaymentBindingModel { OrderId = order.Id, ClientId = Program.Client.Id, Account = model.Account, Date = DateTime.Now, Sum = model.Sum }); _orderLogic.CreateOrUpdate(new OrderBindingModel { Id = order.Id, ClientId = order.ClientId, Date = order.Date, Status = order.SumPaid + model.Sum < order.Sum ? OrderStatus.Оплачивается : OrderStatus.Оплачен, Sum = order.Sum, Products = order.Products.Select(rec => new OrderProductBindingModel { Id = rec.Id, OrderId = rec.OrderId, ProductId = rec.ProductId, Count = rec.Count }).ToList() }); return(RedirectToAction("Index")); }
public async Task <IActionResult> TryToPayOrder([FromBody] PayOrderModel model) { try { var result = await _repairsRepository.TryToPayOrder(model.RepairId); return(Json( new { Success = true, Data = result.ToString().ToLower() })); } catch (Exception exception) { return(Json(new { Success = false, exception.Message })); } }
public async Task <UnifiedOrderReturnModel> Unifiedorder([FromForm] PayOrderModel payOrder) { //string mchid, string orderid, string body, int paytype, string amount, string attach, string ip, string callbackurl, string notifyurl, string sign SortedDictionary <string, string> para = new SortedDictionary <string, string>(); para.Add("mchid", payOrder.MchId); para.Add("orderid", payOrder.OrderId); para.Add("body", payOrder.Body); para.Add("paytype", payOrder.PayType.ToString()); para.Add("amount", payOrder.Amount); para.Add("attach", payOrder.Attach); para.Add("ip", payOrder.Ip); para.Add("callbackurl", payOrder.CallBackUrl); para.Add("notifyurl", payOrder.NotifyUrl); string temp = string.Format("{0}&key={1}", OnlinePay.GetParamSrc(para), WebConfig.MchKey); Dos.Common.LogHelper.Debug(temp); UnifiedOrderReturnModel r = new UnifiedOrderReturnModel(); if (payOrder.MchId != WebConfig.MchId) { Dos.Common.LogHelper.Debug("商户号不存在"); r.Type = PayReturnTypeEnum.Err; r.Content = "商户号不存在"; return(r); } string cusSign = Dos.Common.EncryptHelper.MD5EncryptWeChat(temp, "utf-8"); if (cusSign.ToLower() != payOrder.Sign.ToLower()) { Dos.Common.LogHelper.Debug("签名错误"); r.Type = PayReturnTypeEnum.Err; r.Content = "签名错误"; return(r); } return(await PayOrderBll._.Unifiedorder(payOrder.MchId, payOrder.OrderId, payOrder.Body, payOrder.PayType, payOrder.Amount, payOrder.Attach, payOrder.Ip, payOrder.CallBackUrl, payOrder.NotifyUrl)); }
public PayValue OrderPay(PayValue payValue) { PayValue returnValue = new PayValue(); PayOrderModel payOrderModel = (PayOrderModel)payValue.ReturnObject; //备注 byte[] bytes = System.Text.Encoding.Default.GetBytes(payOrderModel.Note); string base64_memo = Convert.ToBase64String(bytes); StringBuilder sb = new StringBuilder(); sb.Append("user_id="); sb.Append(payOrderModel.Userid); sb.Append("&user_name="); sb.Append(payOrderModel.Receiver); sb.Append("&user_cert_type="); if (payOrderModel.PassPortType == 1) { sb.Append("00"); } else if (payOrderModel.PassPortType == 2) { sb.Append("02"); } else { sb.Append("99"); } sb.Append("&user_cert_no="); sb.Append(payOrderModel.PassPortNum); sb.Append("&user_mobile="); sb.Append(payOrderModel.Phone); byte[] userInfobytes = System.Text.Encoding.Default.GetBytes(sb.ToString()); String userInfoBase64 = Convert.ToBase64String(userInfobytes); //设置支付请求参数 SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); sParaTemp.Add("out_trade_no", payOrderModel.OrderId); //商家订单号 sParaTemp.Add("total_fee", payOrderModel.Totalfee.ToString("f2")); //商品金额,以元为单位 sParaTemp.Add("return_url", ConfigHelper.EReturnUrl); //交易完成后跳转的URL sParaTemp.Add("notify_url", ConfigHelper.ENotifyUrl); //接收后台通知的URL sParaTemp.Add("currency_type", payOrderModel.PayCurrencys.ToString()); //货币种类 sParaTemp.Add("order_create_ip", payOrderModel.Createip); //创建订单的客户端IP(消费者电脑公网IP,用于防钓鱼支付) sParaTemp.Add("sign_type", ConfigHelper.ESignType); //签名算法(暂时只支持SHA256) sParaTemp.Add("store_oi_type", StringUtils.ToInt(payOrderModel.Storeoitype, 1).ToString()); sParaTemp.Add("goods_amount", payOrderModel.OrderGoodsAmount.ToString("f2")); //支付货款 sParaTemp.Add("goods_amount_curr", payOrderModel.PayCurrencys.ToString()); //货币种类 sParaTemp.Add("tax_amount", payOrderModel.OrderTaxAmount.ToString("f2")); //支付税款 sParaTemp.Add("tax_amount_curr", payOrderModel.PayCurrencys.ToString()); //货币种类 sParaTemp.Add("freight", payOrderModel.OrderFreight.ToString("f2")); //支付运费 sParaTemp.Add("freight_curr", payOrderModel.PayCurrencys.ToString()); //货币种类 sParaTemp.Add("submission_type", "01"); sParaTemp.Add("base64_user_info", userInfoBase64); //用户信息 sParaTemp.Add("pay_id", payOrderModel.PayId); //可选参数 sParaTemp.Add("base64_memo", base64_memo); //订单备注的BASE64编码 //建立请求 string sHtmlText = Submit.BuildRequestUrl(sParaTemp); returnValue.HasError = false; returnValue.ReturnString = sHtmlText; return(returnValue); }