protected void Page_Load(object sender, EventArgs e) { //TODO 暂停充值临时 throw new ArgumentNullException("您暂时无法充值:安广融合平台正在切换第三方资金托管,具体全面开放请留意官网公告!"); Model.users model = HttpContext.Current.Session[DTKeys.SESSION_USER_INFO] as Model.users; if (model == null) { throw new ArgumentNullException("用户信息为空!"); } string bankCode = DTRequest.GetQueryString("bankcode"); string amount = DTRequest.GetQueryString("amount"); decimal amountD = 0; if (!decimal.TryParse(amount, out amountD)) { throw new ArgumentNullException("请输入正确的金额!"); } //创建充值订单 var context = new Agp2pDataContext(); var charge_order = context.Charge(model.id, amountD, bankCode == "NOCARD" ? Agp2pEnums.PayApiTypeEnum.EcpssQ : Agp2pEnums.PayApiTypeEnum.Ecpss); //跳转到汇潮支付页面 Service server = new Service(bankCode == "NOCARD"); string sHtmlText = server.BuildFormHtml(charge_order.no_order, charge_order.create_time.ToString("yyyyMMddHHmmss"), amount, bankCode); Response.Write(sHtmlText); }
public static void MakeSureHaveIdleMoney(string userName, decimal amount) { var context = new Agp2pDataContext(); var wallet = context.li_wallets.Single(w => w.dt_users.user_name == userName); if (wallet.idle_money < amount) { Debug.WriteLine($"为用户 {wallet.dt_users.GetFriendlyUserName()} 充值 {amount - wallet.idle_money}"); var btr = context.Charge(wallet.user_id, amount - wallet.idle_money, Agp2pEnums.PayApiTypeEnum.ManualAppend); context.ConfirmBankTransaction(btr.id, null); } }
protected void Page_Load(object sender, EventArgs e) { string strPayID = Request.Params["PayID"]; int user_id = 1; string amount = DTRequest.GetFormString("OrderMoney"); //创建充值订单 var context = new Agp2pDataContext(); var charge_order = context.Charge(user_id, decimal.Parse(amount), Agp2pEnums.PayApiTypeEnum.Baofoo, ""); Service server = new Service(); string sHtmlText = server.BuildFormHtml(charge_order.no_order, charge_order.create_time.ToString("yyyyMMddHHmmss"), amount, strPayID); Response.Write(sHtmlText); }
private bool DoAdd() { try { var bankTransaction = context.Charge(userId, Math.Abs(Convert.ToDecimal(txtValue.Text)), Agp2pEnums.PayApiTypeEnum.ManualAppend, string.IsNullOrWhiteSpace(txtRemarks.Text) ? null : txtRemarks.Text.Trim()); AddAdminLog(DTEnums.ActionEnum.Add.ToString(), string.Format("{0} 添加用户 {1} 充值记录: {2} 备注: {3}", lblUser.Text, bankTransaction.dt_users.user_name, txtValue.Text, txtRemarks.Text)); //记录日志 return(true); } catch (Exception ex) { JscriptMsg(ex.Message, "", "Error"); return(false); } }
protected void Page_Load(object sender, EventArgs e) { string action = DTRequest.GetFormString("action"); if (action.Equals("recharge") || action.Equals("bankgateway") || action.Equals("wap"))//测试充值 { int user_id = Utils.StrToInt(DTRequest.GetFormString("user_id"), 0); string amount = DTRequest.GetFormString("amount"); //创建充值订单 var context = new Agp2pDataContext(); var charge_order = context.Charge(user_id, decimal.Parse(amount), Agp2pEnums.PayApiTypeEnum.Lianlianpay); //请求连连快捷支付接口 var service = new LianlianpayService(); string sHtmlText = ""; if (action.Equals("recharge")) { var sParaTemp = getParamDict(user_id); sHtmlText = service.BuildReChargeFormHtml(sParaTemp, charge_order.no_order, charge_order.create_time.ToString("yyyyMMddHHmmss"), amount, user_id.ToString(), Request.UserHostAddress); } else if (action.Equals("wap")) { //手机端wap支付 var sParaTemp = getParamDict(user_id); sHtmlText = service.BuildReChargeFormWapHtml(charge_order.no_order, charge_order.create_time.ToString("yyyyMMddHHmmss"), amount, user_id.ToString(), sParaTemp["id_no"], sParaTemp["acct_name"]); } else { //获取银行编号 string bankName = DTRequest.GetFormString("bankcode"); int bankCode = (int)(Agp2pEnums.LianlianpayBankCodeEnum)Enum.Parse(typeof(Agp2pEnums.LianlianpayBankCodeEnum), bankName); SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); sHtmlText = service.BuildReChargeFormBankGateWayHtml(sParaTemp, charge_order.no_order, charge_order.create_time.ToString("yyyyMMddHHmmss"), amount, user_id.ToString(), Request.UserHostAddress, "0" + bankCode); } Response.Write(sHtmlText); } else//测试查询支付订单 { var service = new LianlianpayService(); string returnText = service.PostQueryOrder(DTRequest.GetFormString("no_order"), DTRequest.GetFormString("dt_order")); } }
/// <summary> /// 请求前台接口 /// </summary> /// <param name="msg"></param> private static void DoFrontEndRequest(FrontEndReqMsg msg) { Agp2pDataContext context = new Agp2pDataContext(); var requestLog = new li_pay_request_log { id = msg.RequestId, user_id = msg.UserId, project_id = msg.ProjectCode, api = msg.Api, status = (int)Agp2pEnums.SumapayRequestEnum.Waiting, request_time = DateTime.Now, remarks = msg.Remarks, request_content = "" }; try { //创建交易流水 switch (requestLog.api) { case (int)Agp2pEnums.SumapayApiEnum.WeRec: case (int)Agp2pEnums.SumapayApiEnum.CeRec: //网银充值 context.Charge((int)requestLog.user_id, Utils.StrToDecimal(((WebRechargeReqMsg)msg).Sum, 0), Agp2pEnums.PayApiTypeEnum.Sumapay, "丰付网银支付", msg.RequestId); break; case (int)Agp2pEnums.SumapayApiEnum.WhRec: case (int)Agp2pEnums.SumapayApiEnum.WhReM: //快捷充值 context.Charge((int)requestLog.user_id, Utils.StrToDecimal(((WhRechargeReqMsg)msg).Sum, 0), Agp2pEnums.PayApiTypeEnum.SumapayQ, "丰付一键支付", msg.RequestId); break; case (int)Agp2pEnums.SumapayApiEnum.Wdraw: case (int)Agp2pEnums.SumapayApiEnum.Cdraw: case (int)Agp2pEnums.SumapayApiEnum.WdraM: //提现 var withdrawReqMsg = (WithdrawReqMsg)msg; requestLog.remarks = withdrawReqMsg.BankId; //context.Withdraw(Utils.StrToInt(withdrawReqMsg.BankId, 0), // Utils.StrToDecimal(withdrawReqMsg.Sum, 0), withdrawReqMsg.RequestId); break; //债权转让 case (int)Agp2pEnums.SumapayApiEnum.CreAs: case (int)Agp2pEnums.SumapayApiEnum.CreAM: var creditAssignmentReqMsg = (CreditAssignmentReqMsg)msg; //通过债权找出对应的投资信息 var claim = context.li_claims.SingleOrDefault(c => c.id == creditAssignmentReqMsg.ClaimId); creditAssignmentReqMsg.AssignmentSum = (claim.principal + claim.keepInterest.GetValueOrDefault(0)).ToString(); creditAssignmentReqMsg.ProjectCode = claim.projectId; creditAssignmentReqMsg.ProjectDescription = claim.li_projects.title; requestLog.project_id = claim.projectId; //计算手续费 var staticWithdrawCostPercent = ConfigLoader.loadCostConfig().static_withdraw; var finalCost = Math.Round( Utils.StrToDecimal(creditAssignmentReqMsg.UndertakeSum, 0) * staticWithdrawCostPercent, 2); //父债权才有原投资流水号 var rooClaim = claim.GetRootClaim(); creditAssignmentReqMsg.OriginalOrderSum = rooClaim.li_project_transactions_invest.principal.ToString("f"); creditAssignmentReqMsg.OriginalRequestId = rooClaim.li_project_transactions_invest.no_order; creditAssignmentReqMsg.SetSubledgerList(finalCost, claim.userId.ToString()); break; case (int)Agp2pEnums.SumapayApiEnum.MaBid: case (int)Agp2pEnums.SumapayApiEnum.MaBiM: //投资 var manualBidReqMsg = (ManualBidReqMsg)msg; //TransactionFacade.Invest((int)requestLog.user_id, Utils.StrToInt(manualBidReqMsg.ProjectCode, 0), Utils.StrToDecimal(manualBidReqMsg.Sum, 0), manualBidReqMsg.RequestId); var jiaxiquan = new li_jiaxiquan_transaction { userId = (int)msg.UserId, type = (int)Agp2pEnums.InvestInterestRateTypeEnum.Invest, requestId = msg.RequestId, remarks = msg.Remarks }; context.li_jiaxiquan_transaction.InsertOnSubmit(jiaxiquan); context.InvestConfirm((int)requestLog.user_id, manualBidReqMsg.ProjectCode, Utils.StrToDecimal(manualBidReqMsg.Sum, 0), manualBidReqMsg.RequestId); context.SubmitChanges(); break; } //生成发送报文 msg.RequestContent = BuildFormHtml(msg.GetSubmitPara(), msg.ApiInterface); requestLog.request_content = msg.RequestContent; //保存日志 context.li_pay_request_log.InsertOnSubmit(requestLog); context.SubmitChanges(); } catch (Exception ex) { requestLog.remarks = ex.Message; context.li_pay_request_log.InsertOnSubmit(requestLog); context.SubmitChanges(); } }