/// <summary> /// 删除信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDelete_Click(object sender, RoutedEventArgs e) { //获取鼠标选择的索引 int num = dgUsers.SelectedIndex; if (num < 0) { MessageBox.Show("请选择要删除的行!"); } else { //获取选中行 PayData user = (PayData)dgUsers.SelectedValue; if (MessageBox.Show("是否删除" + user.Name + "的信息", "提示", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { //删除数据 if (bll.Delete(user.ID, 0)) { MessageBox.Show("删除" + user.Name.Trim() + "成功"); } } //加载数据 LoadData(); } }
public static void Run() { // 1固定参数 PayData postmap = new PayData(); // 请求参数的map postmap.Put("rancode", Helper.GenerateRandom(5)); postmap.Put("reqtime", DateTime.Now.ToString("yyyyMMddHHmmss")); postmap.Put("snNo", PayConfig.SnNo); postmap.Put("systemCode", PayConfig.SystemCode); postmap.Put("vender", "123456"); postmap.Put("version", PayConfig.Version); // 2签名 string sign = Helper.MakeSign(postmap.ToUrl(), PayConfig.DefaultKey); postmap.Put("sign", sign); //return; // 3请求、响应 string rspStr = HttpService.Post(postmap.ToJson(), PayConfig.WebSite + "/merchantpay/trade/login?" + postmap.ToUrl()); rspStr = rspStr.Replace("/", ""); var response = JsonSerializeHelper.ToObject <ActivationResponse>(rspStr); if (response.ReturnCode == ResultCode.Success) { //var data = JsonSerializeHelper.ToObject<ActivationDataResponse>(response.Data); //var key = DesHelper.Decrypt(data.Key, PayConfig.DefaultKey); } }
/// <summary> /// 编辑信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnEdit_Click(object sender, RoutedEventArgs e) { //获取鼠标选择的索引 int num = dgUsers.SelectedIndex; if (num < 0) { MessageBox.Show("请选择要修改的行!"); } else { //获取选中行 PayData user = (PayData)dgUsers.SelectedValue; //打开编辑窗口 EditPayPage editRecord = new EditPayPage(); editRecord.isAdd = false; //设置编号不能编辑 editRecord.txtID.IsReadOnly = true; //绑定数据 editRecord.gridUser.DataContext = user; //显示窗口 editRecord.ShowDialog(); LoadData(); } }
public static OrderQueryResponse Query(string outTradeNo) { // 1固定参数 PayData postmap = new PayData(); // 请求参数的map postmap.Put("version", PayConfig.Version); postmap.Put("reqtime", DateTime.Now.ToString("yyyyMMddHHmmss")); postmap.Put("rancode", Helper.GenerateRandom(5)); postmap.Put("snNo", PayConfig.SnNo); postmap.Put("outTradeNo", outTradeNo);//外部接入系统订单号 postmap.Put("systemCode", PayConfig.SystemCode); // 2签名 string sign = Helper.MakeSign(postmap.ToUrl()); postmap.Put("sign", sign); // 3请求、响应 string rspStr = HttpService.Post(postmap.ToJson(), PayConfig.WebSite + "/merchantpay/trade/orderquery?" + postmap.ToUrl()); var response = JsonSerializeHelper.ToObject <OrderQueryResponse>(rspStr); if (response.ReturnCode == ResultCode.Success) { //签名验证 Helper.CheckSign(rspStr, response.Sign); response.QueryData = JsonSerializeHelper.ToObject <OrderQueryDataResponse>(response.Data); } return(response); }
/// <summary> /// 添加工资信息 /// </summary> /// <param name="book"></param> /// <returns></returns> public int AddPay(PayData pay) { //sql语句 String sql = "INSERT INTO Table_PayData(ID,Name,BasePay,RealPay,BonusInTotal) VALUES(@ID,@Name,@BasePay,@RealPay,@BonusInTotal)"; //参数列表 SqlParameter[] param = { new SqlParameter("@ID", SqlDbType.Int), new SqlParameter("@Name", SqlDbType.VarChar), new SqlParameter("@BasePay", SqlDbType.Int), new SqlParameter("@RealPay", SqlDbType.Int), new SqlParameter("@BonusInTotal", SqlDbType.Int) }; //参数赋值 param[0].Value = pay.ID; param[1].Value = pay.Name; param[2].Value = pay.BasePay; param[3].Value = pay.BasePay + pay.BonusInTotal; param[4].Value = pay.BonusInTotal; SqlDbHelper db = new SqlDbHelper(); return(db.ExecuteNonQuery(sql, param)); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain;charset=UTF-8"; string TraderNo = context.Request.QueryString["TraderNo"]; CRequestPayTradeNo newRequestPayTradeNo = new CRequestPayTradeNo(); PayData _Data = PayData.Find(TraderNo, PayType.ALI_PAY); if (_Data == null) { newRequestPayTradeNo.code = 1; newRequestPayTradeNo.msg = "未找到此交易定单:" + TraderNo; } else if (_Data.Status == 0) { newRequestPayTradeNo.Amount = _Data.Amount; newRequestPayTradeNo.code = 2; newRequestPayTradeNo.msg = "等待支付宝返回结果"; } else { // DataSet ds = FacadeManage.aideTreasureFacade.DataProvider.GetDbHelper().ExecuteDataset(CommandType.Text, // "select Score from GameScoreInfo where UserID=" + _Data.UserId); // if (ds.Tables[0].Rows.Count > 0) // { // int src = Convert.ToInt32(ds.Tables[0].Rows[0]["Score"]); // newRequestPayTradeNo.Amount = src; // } newRequestPayTradeNo.Amount = _Data.Amount; newRequestPayTradeNo.code = 0; newRequestPayTradeNo.msg = ""; } context.Response.Write(LitJson.JsonMapper.ToJson(newRequestPayTradeNo)); }
public Result <PayResult> Create(PayData data) { Result <PayResult> result = new Result <PayResult>(); result.Msg = "生成支付订单失败"; if (data != null && !string.IsNullOrWhiteSpace(data.iduser) && !string.IsNullOrWhiteSpace(data.orderno)) { try { long _iduser = long.Parse(data.iduser); long _orderno = long.Parse(data.orderno); using (TCom.EF.TN db = new TCom.EF.TN()) { TCom.EF.User u = db.Users.Where(m => m.iduser == _iduser && m.inuse == true).FirstOrDefault(); if (u != null) { TCom.EF.MyOrder o = db.MyOrders.Where(m => m.orderno == _orderno && m.inuse == true).FirstOrDefault(); if (o != null) { if (o.paystatus == PayStatus.WeiXin_CLOSED) { o.status = OrderStatus.Close; db.SaveChanges(); result.Msg = "订单已关闭"; } else { o.paystatus = PayStatus.WaitPay; if (o.payway != "weixin") { o.payway = "weixin"; if (db.SaveChanges() <= 0) { result.Msg = "更新支付方式失败"; return(result); } } result.Data = new PayResult { order = JsApiPay.PayOrder(o, u) }; result.Code = R.Ok; } } } } } catch (Exception) { result.Code = R.Error; result.Msg = "拉取订单出错"; } } else { result.Msg = "不存在该订单"; } return(result); }
public static void Add(string TradeNo, PayData TradeItem) { lock (AliPayDatas) { var key = string.Format("{0}_{1}", TradeItem.PayType, TradeNo); AliPayDatas.Add(key, TradeItem); } }
private PayData GetParam2() { PayData payData = new PayData(); payData.SetValue("name", "xiaomiao"); payData.SetValue("password", "1234"); payData.SetValue("sign", payData.MakeSign("1234444")); return(payData); }
private void Window_Loaded(object sender, RoutedEventArgs e) { if (isAdd) { this.Title = "添加员工"; this.btnOk.Content = "添加"; PayData user = new PayData(); gridUser.DataContext = user; } }
private PayData SkapaPaysonPayData(SignMeUpVM SUPVM, Organisation org) { // We remove port info to help when the site is behind a load balancer/firewall that does port rewrites. var scheme = Request.Url.Scheme; var host = Request.Url.Host; var returnUrl = Url.Action("Returned", "Payson", new RouteValueDictionary(), scheme, host) + "/" + SUPVM.RegistreringsId; var cancelUrl = Url.Action("Cancelled", "Payson", new RouteValueDictionary(), scheme, host) + "/" + SUPVM.RegistreringsId; var sender = new Sender(SUPVM.Kontaktinformation.SenderEmail); sender.FirstName = SUPVM.Kontaktinformation.SenderFirstName; sender.LastName = SUPVM.Kontaktinformation.SenderLastName; var receiver = new Receiver(org.Epost, SUPVM.AttBetala); receiver.FirstName = org.Namn; receiver.SetPrimaryReceiver(true); var payData = new PayData(returnUrl, cancelUrl, smuService.HamtaEvenemang(SUPVM.EvenemangsId).Namn + " - " + SUPVM.GetFaltvarde("Lagnamn"), sender, new List <Receiver> { receiver }); // Set IPN callback URL // When the shop is hosted by Payson the IPN scheme must be http and not https var ipnNotificationUrl = Url.Action("IPN", "Payson", new RouteValueDictionary(), scheme, host) + "/" + SUPVM.RegistreringsId; payData.SetIpnNotificationUrl(ipnNotificationUrl); payData.SetFundingConstraints(new List <FundingConstraint> { FundingConstraint.Bank, FundingConstraint.CreditCard }); payData.SetTrackingId(SUPVM.RegistreringsId.ToString()); // Skapa poster för betalning var orderItems = new List <PaysonIntegration.Utils.OrderItem>(); foreach (ValViewModel post in SUPVM.Betalnignsposter) { var oi = new PaysonIntegration.Utils.OrderItem(post.TypNamn + ": " + post.Namn); oi.SetOptionalParameters("st", 1, post.Avgift, 0); orderItems.Add(oi); } payData.SetOrderItems(orderItems); return(payData); }
void OpenThirdPayUI(PayData data) { string strJson = string.Empty; #if QiHo360 strJson = generateQihoo(data); #elif Spade strJson = generateSpade(data); #elif Google // strJson = generateGoogle(data); #endif Native.mInstace.m_thridParty.Pay(strJson); }
private PayData DataRowToPay(DataRow dr) { PayData pay = new PayData(); pay.ID = Convert.ToInt32(dr["ID"]); pay.Name = Convert.ToString(dr["Name"]); if (!DBNull.Value.Equals(pay.BasePay)) { pay.BasePay = Convert.ToInt32(dr["BasePay"]); } pay.RealPay = Convert.ToInt32(dr["RealPay"]); return(pay); }
public JsonResult PostUrl2() { string url = "api/v1/checksign"; string baseApiUrl = "http://localhost:172"; var client = new RestClient(baseApiUrl); var request = new RestRequest(url, Method.POST); request.RequestFormat = DataFormat.Json; PayData payData = GetParam2(); request.AddBody(payData); IRestResponse response = client.Execute(request); string content = response.Content; return(Json(new { Data = content }, JsonRequestBehavior.AllowGet)); }
string generateSpade(PayData data) { HTPayInfo info = new HTPayInfo(); AccountData ad = Native.mInstace.m_thridParty.GetAccountData(); info.price = m_data.Price; info.count = 1; info.productId = m_data.ID.ToString(); info.productName = string.IsNullOrEmpty(m_data.SpadeName) ? " " : m_data.SpadeName; info.productDes = string.IsNullOrEmpty(m_data.SpadeDes) ? " " : m_data.SpadeDes; info.serverId = ""; info.url = ad.payCallback; info.appOrderId = data.orderId; info.isPayMonth = m_data.Type == 0; return(fastJSON.JSON.Instance.ToJSON(info)); }
public IHttpActionResult AddTarget([FromBody] PayData data) { if (data == null) { //Bad request code 400 return(BadRequest()); } if (reservationLogic.AddTarget(data)) { //petición correcta y se ha creado un nuevo recurso code 201 return(StatusCode(HttpStatusCode.Created)); } else { //No se pudo crear el recurso por un error interno code 500 return(InternalServerError()); } }
public List <PayData> GetAllPayData(int isDel) { //1 sql语句 string sql = "SELECT * FROM Table_PayData "; //2 执行 SqlDbHelper db = new SqlDbHelper(); DataTable dt = db.ExecuteDataTable(sql); //3 关系--》对象 List <PayData> pays = new List <PayData>(); foreach (DataRow dr in dt.Rows) { //行转化成对象 PayData pay = DataRowToPay(dr); pays.Add(pay); } return(pays); }
string generateQihoo(PayData data) { PayInfo info = new PayInfo(); AccountData ad = Native.mInstace.m_thridParty.GetAccountData(); info.productId = m_data.ID.ToString(); info.productName = m_data.Title; info.accessToken = ad.token; info.appOrderId = data.orderId; info.appUserId = Core.Data.playerManager.PlayerID; info.appUserName = Core.Data.playerManager.RTData.nickName; info.exchangeRate = "10"; info.moneyAmount = m_data.Price.ToString(); info.notifyUri = ad.payCallback; info.qihooUserId = ad.uniqueId; return(fastJSON.JSON.Instance.ToJSON(info)); }
private void btnOk_Click(object sender, RoutedEventArgs e) { PayData user = (PayData)gridUser.DataContext; if (isAdd) { if (bll.AddPay(user)) { MessageBox.Show("添加成功!"); } } else { if (bll.UpdatePay(user)) { MessageBox.Show("修改成功!"); } } this.Close(); }
//TODO: public int UpdatePay(PayData pay) { //1.sql语句 string sql = "UPDATE Table_PayData SET Name=@Name,BasePay=@BasePay,RealPay=@RealPay,BonusInTotal=@BonusInTotal WHERE ID=@ID"; SqlParameter[] param = { new SqlParameter("@Name", SqlDbType.VarChar), new SqlParameter("@BasePay", SqlDbType.Int), new SqlParameter("@RealPay", SqlDbType.Int), new SqlParameter("@BonusInTotal", SqlDbType.Int), new SqlParameter("@ID", SqlDbType.Int) }; param[0].Value = pay.Name; param[1].Value = pay.BasePay; param[2].Value = pay.BasePay + pay.BonusInTotal; param[3].Value = pay.BonusInTotal; param[4].Value = pay.ID; SqlDbHelper db = new SqlDbHelper(); return(db.ExecuteNonQuery(sql, param)); }
protected void Page_Load(object sender, EventArgs e) { //app_secret f00ca380481727f4c50293ba6a121c3c Random rand = new Random(); PayData pd = new PayData(); pd.SetValue("app_id", "wx5fa5622ada06cfe3"); pd.SetValue("nonce_str", GetTimestamp()); pd.SetValue("version", "1.0"); pd.SetValue("timestamp", GetTimestamp()); pd.SetValue("mch_id", "9"); pd.SetValue("title", "测试"); pd.SetValue("total_fee", "1"); pd.SetValue("out_trade_no", GetTimestamp() + "CS" + rand.Next(100, 999)); pd.SetValue("channel", "pay.weixin.jspay"); pd.SetValue("openid", "ogqHzt8Yc0agDQzqBjYN2Vnw_7Zs"); pd.SetValue("app_secret", "f00ca380481727f4c50293ba6a121c3c"); pd.SetValue("sign", makeSignForQrCodePay(pd)); }
protected void Page_Load(object sender, EventArgs e) { WIDsubject.Text = "支付宝充值"; WIDbody.Text = "支付宝充值"; string AmountString = Request.QueryString["Amount"]; string UserIdString = Request.QueryString["UserId"]; string UserName = Request.QueryString["UserName"]; TradeNo = Request.QueryString["TradeNo"]; float.TryParse(AmountString, out Amount); if (Amount <= 0) { return; } if (!int.TryParse(UserIdString, out UserId)) { return; } if (!GetTradeNo.CheckRemoveTradeNo(TradeNo)) { return; } WIDtotal_amount.Text = Amount.ToString("F2"); WIDout_trade_no.Text = TradeNo;// DateTime.Now.Ticks.ToString(); WIDtotal_amount.ReadOnly = true; WIDbody.ReadOnly = true; WIDsubject.ReadOnly = true; WIDout_trade_no.ReadOnly = true; BtnAlipay_Click(null, null); PayData newAliPayData = new PayData(); newAliPayData.Amount = float.Parse(AmountString); newAliPayData.UserId = UserId; newAliPayData.TradeNo = WIDout_trade_no.Text.Trim(); newAliPayData.PayType = PayType.ALI_PAY; PayData.Add(newAliPayData.TradeNo, newAliPayData); }
/// <summary> /// Agrega un nuevo reservacion /// </summary> /// <param name="data"></param> /// <returns></returns> public bool AddTarget(PayData data) { using (tecAirlinesEntities entities = new tecAirlinesEntities()) { //Reserva newReservation = new Reserva(); //newReservation.Codigo = data.Codigo; //newReservation.Chequeo = data.Chequeo; //newReservation.Equipaje = data.Equipaje; //newReservation.C_Vuelo = data.C_Vuelo; try { //entities.Reservas.Add(newReservation); //entities.SaveChanges(); int entity = entities.udsp_ins_pago(data.Numero, data.Contraseña, data.Expiracion, data.Titular, data.C_Reserva); return(true); } catch (Exception e) { return(false); } } }
//生成签名--支付 public static string makeSignForQrCodePay(PayData pd) { Dictionary <string, string> dics = new Dictionary <string, string>(); //1-赋值公共参数 dics.Add("app_id", pd.GetValue("app_id").ToString());//所给的appId dics.Add("nonce_str", pd.GetValue("nonce_str").ToString()); dics.Add("version", pd.GetValue("version").ToString()); dics.Add("timestamp", pd.GetValue("timestamp").ToString()); dics.Add("mch_id", pd.GetValue("mch_id").ToString()); //2-赋值支付参数 dics.Add("title", pd.GetValue("title").ToString()); dics.Add("total_fee", pd.GetValue("total_fee").ToString()); dics.Add("out_trade_no", pd.GetValue("out_trade_no").ToString()); dics.Add("channel", pd.GetValue("channel").ToString()); dics.Add("openid", pd.GetValue("openid").ToString()); //3-ASCII排序后的字符串 var signStr = getParamSrc(dics); string API = signStr + "&key=" + pd.GetValue("app_secret"); string signMd5 = MD5(API); return(signMd5); }
public static OrderQueryResponse Run(string outTradeNo, string amount) { // 1固定参数 PayData postmap = new PayData(); // 请求参数的map postmap.Put("version", PayConfig.Version); postmap.Put("reqtime", DateTime.Now.ToString("yyyyMMddHHmmss")); postmap.Put("rancode", Helper.GenerateRandom(5)); postmap.Put("snNo", PayConfig.SnNo); postmap.Put("terminalType", "OTHER"); postmap.Put("amount", amount); postmap.Put("refundNo", outTradeNo);//外部接入系统订单号 postmap.Put("systemCode", PayConfig.SystemCode); // 2签名 string sign = Helper.MakeSign(postmap.ToUrl()); postmap.Put("sign", sign); // 3请求、响应 string rspStr = HttpService.Post(postmap.ToJson(), PayConfig.WebSite + "/merchantpay/trade/refund?" + postmap.ToUrl()); var response = JsonSerializeHelper.ToObject <OrderQueryResponse>(rspStr); if (response.ReturnCode == ResultCode.Success) { //签名验证 Helper.CheckSign(rspStr, response.Sign); response.QueryData = JsonSerializeHelper.ToObject <OrderQueryDataResponse>(response.Data); //{ "bankOrderNo":"2018070517331227995415892","dateStr":"20180705173313","merchantNo":"0210a03fdd9c471d8682b584767bec4b","outChannelNo":"400012018070517331224222976","outTradeNo":"180705173311185002","returnCode":"userPaying","returnMessage":"需要用户输入支付密码","sign":"E43019AA329482DF381DD7C108A475F3","transTime":null} } return(response); }
/// <summary> /// 微信(支付宝)被扫下单接口 /// </summary> /// <param name="totalFee">支付金额,单位:元,保留小数点后两位</param> /// <param name="authCode">支付码</param> /// <param name="outTradeNo">订单号</param> /// <returns></returns> public static PayResult Pay(string totalFee, string authCode, string outTradeNo) { var result = new PayResult { Success = false }; if (string.IsNullOrEmpty(totalFee)) { result.Message = "支付金额,不能为空"; return(result); } if (string.IsNullOrEmpty(authCode)) { result.Message = "支付码,不能为空"; return(result); } if (string.IsNullOrEmpty(outTradeNo)) { result.Message = "订单号,不能为空"; return(result); } // 1固定参数 PayData postmap = new PayData(); postmap.Put("version", PayConfig.Version); postmap.Put("rancode", Helper.GenerateRandom(5)); postmap.Put("reqtime", DateTime.Now.ToString("yyyyMMddHHmmss")); postmap.Put("snNo", PayConfig.SnNo); postmap.Put("terminalType", "OTHER"); postmap.Put("outTradeNo", outTradeNo); //外部接入系统订单号 postmap.Put("amount", totalFee); //支付金额,单位:元,保留小数点后两位 postmap.Put("authCode", authCode); //支付码 postmap.Put("casherNo", "T001"); //收银员编号 postmap.Put("description", "OTHER"); postmap.Put("orderTime", DateTime.Now.ToString("yyyyMMddHHmmss")); postmap.Put("systemCode", PayConfig.SystemCode); // 2签名 string sign = Helper.MakeSign(postmap.ToUrl()); postmap.Put("sign", sign); // 3请求、响应 string rspStr = HttpService.Post(postmap.ToJson(), PayConfig.WebSite + "/merchantpay/trade/microorder?" + postmap.ToUrl()); var response = JsonSerializeHelper.ToObject <MicroOrderResponse>(rspStr); result.Message = response.ReturnMessage; if (response.ReturnCode == ResultCode.Success) { //支付成功 //签名验证 Helper.CheckSign(rspStr, response.Sign); var queryResult = OrderQuery.Query(response.OutTradeNo);//用商户订单号去查单 result.Success = true; result.Message = "支付成功"; result.OutTradeNo = queryResult.QueryData.CustomerNo; return(result); } if (response.ReturnCode == ResultCode.UserPaying) { //签名验证 Helper.CheckSign(rspStr, response.Sign); //等待用户支付,需查单 //用商户订单号去查单 //确认支付是否成功,每隔一段时间查询一次订单,共查询30次--订单有效时间1分钟 int queryTimes = 30;//查询次数计数器 while (queryTimes-- > 0) { var queryResult = OrderQuery.Query(response.OutTradeNo);//用商户订单号去查单 //如果需要继续查询,则等待2s后继续 if (queryResult.ReturnCode == ResultCode.Success && (queryResult.QueryData.PayStatus == "I" || queryResult.QueryData.PayStatus == "O")) { Thread.Sleep(2000); continue; } //查询成功,返回订单查询接口返回的数据,支付成功! if (queryResult.ReturnCode == ResultCode.Success && queryResult.QueryData.PayStatus == "P") { result.Success = true; result.Message = "支付成功"; result.OutTradeNo = queryResult.QueryData.CustomerNo; return(result); } //订单交易失败,直接返回刷卡支付接口返回的结果,失败原因会在err_code中描述 result.Message = "支付失败"; return(result); } } //Refund.Run(response.BankOrderNo, totalFee); //支付失败 return(result); }
public virtual void Pay(PayData data) { currentPayData = data; mSdkApi.Pay(currentPayData.num, currentPayData.orderId); }
public static string Run(string body, double total_fee, string authCode, string outTradeNo) { // 1固定参数 PayData postmap = new PayData(); // 请求参数的map postmap.Put("rancode", Helper.GenerateRandom(5)); postmap.Put("reqtime", DateTime.Now.ToString("yyyyMMddHHmmss")); postmap.Put("snNo", PayConfig.SnNo); //postmap.Put("merchantNo", PayConfig.MerchantNo); postmap.Put("terminalType", "OTHER"); postmap.Put("outTradeNo ", outTradeNo);//外部接入系统订单号 postmap.Put("amount ", total_fee); postmap.Put("authCode ", authCode); postmap.Put("casherNo ", "T001");//收银员编号 postmap.Put("description", "OTHER"); postmap.Put("orderTime", DateTime.Now.ToString("yyyyMMddHHmmss")); postmap.Put("systemCode", PayConfig.SystemCode); postmap.Put("version", PayConfig.Version); byte[] byteArray = System.Text.Encoding.Default.GetBytes(PayConfig.Key); byte[] bcdbyte = str2Bcd("B95EB858BAA4170731EDBB0D7661B39A34"); byte[] keybyte = str2Bcd("1111222233334444"); byte ssss = 0; byte[] ggg = new byte[] { ssss }; byte borByte = 0; for (int i = 0; i < bcdbyte.Length - 1; i++) { if (i == 0) { borByte = bcdbyte[i]; } borByte ^= bcdbyte[i + 1]; } byte[] bor = new byte[] { borByte }; StringBuilder sb = new StringBuilder(bor.Length); String sTemp; for (int i = 0; i < bor.Length; i++) { sTemp = String.Format("{0:X}", 0xFF & bor[i]); //sTemp = Integer.toHexString(0xFF & bor[i]); if (sTemp.Count() < 2) { sb.Append(0); } sb.Append(sTemp.ToUpper()); } var str = sb.ToString(); var key = DesHelper.Decrypt(PayConfig.Key, str); // 2签名 string sign = Helper.MakeSign(postmap.ToUrl(), key); postmap.Put("sign", sign); // 3请求、响应 string rspStr = HttpService.Post(postmap.ToJson(), PayConfig.WebSite + "/merchantpay/trade/microorder?" + postmap.ToUrl()); var response = JsonSerializeHelper.ToObject <ActivationResponse>(rspStr); if (response.ReturnCode == ResultCode.Success) { var data = JsonSerializeHelper.ToObject <ActivationDataResponse>(response.Data); //var key = DesHelper.Decrypt(data.Key, PayConfig.DefaultKey); } return(rspStr); }
public Context(string value) { this.Input = value; this.Output = new PayData(); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html"; var payKey = ConfigurationManager.AppSettings["payKey"]; var paySecretKey = ConfigurationManager.AppSettings["paySecretKey"]; string AmountString = context.Request.QueryString["Amount"]; string UserIdString = context.Request.QueryString["UserId"]; string TradeNo = context.Request.QueryString["TradeNo"]; float Amount = 0; float.TryParse(AmountString, out Amount); if (Amount <= 0) { return; } int UserId = 0; if (!int.TryParse(UserIdString, out UserId)) { return; } //检查交易号是否存在 if (!WebApplication1.GetTradeNo.CheckRemoveTradeNo(TradeNo)) { return; } var bankPayReq = new BankPayRequest(); bankPayReq.AddParams("payKey", payKey); bankPayReq.AddParams("productName", "load"); bankPayReq.AddParams("orderNo", TradeNo); bankPayReq.AddParams("orderPrice", AmountString); bankPayReq.AddParams("payWayCode", "ZITOPAY"); bankPayReq.AddParams("payTypeCode", "ZITOPAY_185374_BANK_SCAN"); bankPayReq.AddParams("orderIp", ""); bankPayReq.AddParams("orderDate", DateTime.Now.ToString("yyyyMMdd")); bankPayReq.AddParams("orderTime", DateTime.Now.ToString("yyyyMMddHHmmss")); bankPayReq.AddParams("returnUrl", "http://" + context.Request.Url.Authority + "/GameWebApplication/BankPay/BankReturn_Url.aspx"); bankPayReq.AddParams("notifyUrl", "http://" + context.Request.Url.Authority + "/GameWebApplication/BankPay/BankNotify_Url.ashx"); bankPayReq.AddParams("orderPeriod", 60); bankPayReq.AddParams("remark", ""); bankPayReq.AddParams("field1", ""); bankPayReq.AddParams("field2", ""); bankPayReq.AddParams("field3", ""); bankPayReq.AddParams("field4", ""); bankPayReq.AddParams("field5", ""); var sign = bankPayReq.GetSign(paySecretKey); bankPayReq.AddParams("sign", sign); var param = bankPayReq.ToParams(); var url = "http://api.quanyinzf.com:8050/rb-pay-web-gateway/scanPay/initPayIntf?" + param; //url = "http://47.75.201.136:9000/proxy.ashx?url=" + HttpUtility.UrlEncode(url); var request = System.Net.HttpWebRequest.Create(url); request.Method = "GET"; var sendresponse = request.GetResponse(); string sendresponsetext = ""; using (var streamReader = new StreamReader(sendresponse.GetResponseStream())) { sendresponsetext = streamReader.ReadToEnd().Trim(); } var data = JsonMapper.ToObject(sendresponsetext); var result = data["result"].ToString(); if (result == "success") { PayData.Add(TradeNo, new PayData() { TradeNo = TradeNo, Amount = float.Parse(AmountString), CreateDate = DateTime.Now, Status = 0, PayType = PayType.BANK_CARD, UserId = int.Parse(context.Request["UserId"]) }); url = data["code_url"].ToString(); context.Response.Redirect(url); } else { var message = data["msg"].ToString(); var content = string.Format("<script>alert('{0}');</script>", message); context.Response.Write(content); } }