/// <summary> /// 根据充值类型获取充值数据列表 /// </summary> /// <param name="rechargeType"></param> /// <returns></returns> public List <uint> GetRechargeIDsByType(RechargeType rechargeType) { List <uint> rechargeIDs = null; List <table.RechargeDataBase> rechargeDatas = GameTableManager.Instance.GetTableList <table.RechargeDataBase>(); if (null != rechargeDatas) { table.RechargeDataBase tempDB = null; uint rechargeuIntType = (uint)rechargeType; uint payChannelType = (uint)PayChannelType.PCT_General; for (int i = 0, max = rechargeDatas.Count; i < max; i++) { tempDB = rechargeDatas[i]; if ((tempDB.rechargeType == rechargeuIntType) && ((tempDB.type == m_curPayChannelType) || (tempDB.type == payChannelType))) { if (null == rechargeIDs) { rechargeIDs = new List <uint>(); } if (!rechargeIDs.Contains(tempDB.dwID)) { rechargeIDs.Add(tempDB.dwID); } } } } return(rechargeIDs); }
public void OnClickYuEBao() { if (_rechargeTo == RechargeType.Balance) { _rechargeTo = RechargeType.YuEBao; _balanceSelectObj.SetActive(false); _yuEBaoSelectObj.SetActive(true); } }
public RechargeType GetRechargeTypeByCode(string code) { DynamicParameters paras = new DynamicParameters(); paras.Add("@code", code, System.Data.DbType.String); RechargeType task = DapperSqlHelper.FindOne <RechargeType>("select * from [dbo].[RechargeType] where RechargeTypeCode=@code and Status=1", paras, false); return(task); }
public ActionResult Edit([Bind(Include = "RechargeTypeId,RechargeTypeName,RechargeTypeDescription")] RechargeType rechargeType) { if (ModelState.IsValid) { db.Entry(rechargeType).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(rechargeType)); }
public ActionResult Create([Bind(Include = "RechargeTypeId,RechargeTypeName,RechargeTypeDescription")] RechargeType rechargeType) { if (ModelState.IsValid) { db.RechargeTypes.Add(rechargeType); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(rechargeType)); }
public ActionResult DeleteConfirmed(int id) { if (db.StationPosts.Where(p => p.RechargeTypeId == id).Any()) { return(RedirectToAction("Index")); } RechargeType rechargeType = db.RechargeTypes.Find(id); db.RechargeTypes.Remove(rechargeType); db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: RechargeTypes/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RechargeType rechargeType = db.RechargeTypes.Find(id); if (rechargeType == null) { return(HttpNotFound()); } return(View(rechargeType)); }
// GET: RechargeTypes/Delete/5 public ActionResult Delete(int?id) { if (db.StationPosts.Where(p => p.RechargeTypeId == id).Any()) { return(RedirectToAction("Index")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RechargeType rechargeType = db.RechargeTypes.Find(id); if (rechargeType == null) { return(HttpNotFound()); } return(View(rechargeType)); }
public static RechargeTransaction GetTransaction(VendRequest request, RechargeType type, string serviceCode) { if (request == null) { return(null); } RechargeTransaction transaction = new RechargeTransaction { Amount = request.Amount, DealerCode = request.DealerCode, PhoneNumber = request.PhoneNumber, RechargeType = type, RequestType = RequestType.Request, ServiceCode = serviceCode, Status = TransactionStatus.INITIATED, TransactionId = Utility.GetRequestId(), TransDate = DateTime.Now }; return(transaction); }
/// <summary> /// 充值 /// </summary> public ConfirmPaymentContext(RechargeType rechargeType, double amount) : base(UIType.ConfirmPayment) { this.rechargeType = rechargeType; this.amount = amount; spendType = SpendType.ToSelfAssets; }
public override void Init() { base.Init(); _rechargeTo = RechargeType.Balance; }
public static RechargeTransaction GetTransaction(CreditSwitchRespose resp, CreditSwitchRequest req, RechargeType type) { if (resp == null) { return(null); } RechargeTransaction transaction = new RechargeTransaction { Amount = Convert.ToDouble(resp.Amount == 0 ? req.Amount : resp.Amount), ResponseCode = resp.StatusCode, ResponseDescription = resp.StatusDescription, TransactionId = String.IsNullOrWhiteSpace(resp.MReference) ? req.RequestId : resp.MReference, Reference = resp.TranxReference, PhoneNumber = String.IsNullOrWhiteSpace(resp.Recipient) ? req.Recipient : resp.Recipient, ConfirmCode = resp.ConfirmCode, TransDate = resp.TranxDate, RechargeType = type, RequestType = RequestType.Response, Status = resp.StatusCode == "00" ? TransactionStatus.SUCCESSFUL : TransactionStatus.FAILED }; return(transaction); }
public ActionResult AliPayCreateSignStr(Enums.Enums.OrderType body, RechargeType type, string userID) { try { if (!db.tb_userinfos.Any(s => s.UserID == userID)) { return(Json(Comm.ToJsonResult("Error", "用户不存在"), JsonRequestBehavior.AllowGet)); } if (body != Enums.Enums.OrderType.Recharge && body != Enums.Enums.OrderType.OrderPay) { return(Json(Comm.ToJsonResult("Error", "请求参数错误"), JsonRequestBehavior.AllowGet)); } if (type != Enums.Enums.RechargeType.Fifty && type != Enums.Enums.RechargeType.FiveHundred && type != Enums.Enums.RechargeType.Hundred && type != Enums.Enums.RechargeType.Ten && type != Enums.Enums.RechargeType.Thirty && type != Enums.Enums.RechargeType.TwoHundred) { return(Json(Comm.ToJsonResult("Error", "请求参数错误"), JsonRequestBehavior.AllowGet)); } string appid = AliPayConfig.appid; //appid string app_private_key = AliPayConfig.app_private_key; //私钥 string alipay_public_key = AliPayConfig.app_public_key; //公钥 string charset = "utf-8"; string outtradeno = AliPayConfig.GenerateOutTradeNo(); //订单号 string notifyurl = AliPayConfig.notifyurl; //回调通知页面地址 IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", appid, app_private_key.Trim(), "json", "1.0", "RSA2", alipay_public_key.Trim(), charset, false); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。 AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.Body = ((Enums.Enums.OrderType)body).GetDisplayName(); model.Subject = "充值"; model.TotalAmount = "0.1"; //type.GetDisplayName(); model.ProductCode = AliPayConfig.productcode; model.OutTradeNo = outtradeno; model.TimeoutExpress = "30m"; request.SetBizModel(model); request.SetNotifyUrl(notifyurl); //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = client.SdkExecute(request); //HttpUtility.HtmlEncode是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题 //Response.Write(HttpUtility.HtmlEncode(response.Body)); string resultcode = HttpUtility.HtmlEncode(response.Body); if (!string.IsNullOrWhiteSpace(resultcode)) { //保存下单信息到数据库 PayOrder paymodel = new PayOrder(); paymodel.OrderState = Enums.Enums.OrderState.UnHandle; paymodel.out_trade_no = outtradeno; paymodel.Paynoncestr = string.Empty; paymodel.PayPrepay_id = outtradeno; paymodel.settlement_total_fee = Convert.ToInt32(type.GetDisplayName()); paymodel.CreateTime = DateTime.Now; paymodel.Sign = resultcode; paymodel.total_fee = Convert.ToInt32(type.GetDisplayName()); paymodel.User_ID = userID; paymodel.OrderType = body; db.PayOrders.Add(paymodel); int resultrow = db.SaveChanges(); if (resultrow > 0) { string tempresult = resultcode.Replace("amp;", ""); var returndata = new { result = tempresult, prepay_id = outtradeno }; return(Json(Comm.ToJsonResult("Success", "成功", returndata), JsonRequestBehavior.AllowGet)); } else { return(Json(Comm.ToJsonResult("Error", "下单失败"), JsonRequestBehavior.AllowGet)); } } else { return(Json(Comm.ToJsonResult("Error", "下单失败"), JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(Comm.ToJsonResult("Error", ex.Message), JsonRequestBehavior.AllowGet)); } }
public ActionResult ToOrder(Enums.Enums.OrderType body, RechargeType type, string userID) { if (!db.tb_userinfos.Any(s => s.UserID == userID)) { return(Json(Comm.ToJsonResult("Error", "用户不存在"), JsonRequestBehavior.AllowGet)); } if (body != Enums.Enums.OrderType.Recharge && body != Enums.Enums.OrderType.OrderPay) { return(Json(Comm.ToJsonResult("Error", "请求参数错误"), JsonRequestBehavior.AllowGet)); } if (type != Enums.Enums.RechargeType.Fifty && type != Enums.Enums.RechargeType.FiveHundred && type != Enums.Enums.RechargeType.Hundred && type != Enums.Enums.RechargeType.Ten && type != Enums.Enums.RechargeType.Thirty && type != Enums.Enums.RechargeType.TwoHundred) { return(Json(Comm.ToJsonResult("Error", "请求参数错误"), JsonRequestBehavior.AllowGet)); } WxPayData parmdata = new WxPayData(); string out_trade_no = WxPayApi.GenerateOutTradeNo(); parmdata.SetValue("body", ((Enums.Enums.OrderType)body).GetDisplayName()); //商品描述 parmdata.SetValue("attach", "逸趣网络科技有限公司"); //附加数据 parmdata.SetValue("out_trade_no", out_trade_no); //商户订单号 parmdata.SetValue("total_fee", Convert.ToInt32(type.GetDisplayName())); //总金额 * 100 parmdata.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); //交易起始时间 parmdata.SetValue("time_expire", DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss")); //交易结束时间 parmdata.SetValue("goods_tag", ""); //商品标记 parmdata.SetValue("trade_type", "APP"); //交易类型 //parmdata.SetValue("product_id", productid);//商品ID WxPayData resultdata = WxPayApi.UnifiedOrder(parmdata); string resultcode = resultdata.GetValue("return_code").ToString(); if (resultcode.Equals("SUCCESS")) { string signstr = resultdata.GetValue("sign").ToString(); string noncestr = WxPayApi.GenerateNonceStr(); string result_code = resultdata.GetValue("result_code").ToString(); string prepay_id = string.Empty; if (result_code.Equals("SUCCESS")) { prepay_id = resultdata.GetValue("prepay_id").ToString(); //var stringA = $"appid={WxPayConfig.APPID}&noncestr={noncestr}&package=Sign=WXPay&partnerid={WxPayConfig.MCHID}&prepayid={prepay_id}×tamp={Unite.GenerateTimeStamp(DateTime.Now)}&key={WxPayConfig.KEY}"; //var sign = Unite.ToMD5New(stringA).ToUpper(); //保存下单信息到数据库 PayOrder model = new PayOrder(); model.OrderState = Enums.Enums.OrderState.UnHandle; model.out_trade_no = out_trade_no; model.Paynoncestr = noncestr; model.PayPrepay_id = prepay_id; model.settlement_total_fee = Convert.ToInt32(type.GetDisplayName()); model.CreateTime = DateTime.Now; model.Sign = signstr; model.total_fee = Convert.ToInt32(type.GetDisplayName()); model.User_ID = userID; model.OrderType = body; db.PayOrders.Add(model); int resultrow = db.SaveChanges(); //保存订单数据结果 if (resultrow > 0) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 long ts = (long)(DateTime.Now - startTime).TotalSeconds; // 相差秒数 System.Text.StringBuilder paySignpar = new System.Text.StringBuilder(); paySignpar.Append($"appid={resultdata.GetValue("appid")?.ToString()}"); paySignpar.Append($"&noncestr={noncestr}"); paySignpar.Append($"&package=Sign=WXPay&partnerid={WxPayConfig.MCHID}"); paySignpar.Append($"&prepayid={resultdata.GetValue("prepay_id")?.ToString()}"); //paySignpar.Append($"&signType=MD5"); paySignpar.Append($"×tamp={ts.ToString()}"); paySignpar.Append($"&key={WxPayConfig.KEY ?? string.Empty}"); string strPaySignpar = paySignpar.ToString(); var sign = Unite.GetMd5Hash(strPaySignpar).ToUpper(); //dynamic retModel = new //{ // timeStamp = ts.ToString(), // nonceStr = resultdata.GetValue("nonce_str")?.ToString(), // package = "prepay_id=" + resultdata.GetValue("prepay_id")?.ToString(), // signType = "MD5", // paySign = sign, // total_fee = model.total_fee / 100m, //}; var returndata = new { result = resultcode, timestamp = ts.ToString(), prepay_id = prepay_id, noncestr = noncestr, sign = sign }; return(Json(Comm.ToJsonResult("Success", "成功", returndata), JsonRequestBehavior.AllowGet)); } else { return(Json(Comm.ToJsonResult("Error", "下单失败"), JsonRequestBehavior.AllowGet)); } } else { return(Json(Comm.ToJsonResult("Error", "下单失败"), JsonRequestBehavior.AllowGet)); } } else { return(Json(Comm.ToJsonResult("Error", "下单失败"), JsonRequestBehavior.AllowGet)); } }