public void ValidateTest() { var target = new SpGatewayResponse() { MerchantId = "AAA", Status = "SUCCESS", Version = "1.4", TradeInfo = "ff91c8aa01379e4de621a44e5f11f72e4d25bdb1a18242db6cef9ef07d80b0165e476fd1d9acaa53170272c82d122961e1a0700a7427cfa1cf90db7f6d6593bbc93102a4d4b9b66d9974c13c31a7ab4bba1d4e0790f0cbbbd7ad64c6d3c8012a601ceaa808bff70f94a8efa5a4f984b9d41304ffd879612177c622f75f4214fa", TradeSha = "EA0A6CC37F40C1EA5692E7CBB8AE097653DF3E91365E6A9CD7E91312413C7BB8", Key = "12345678901234567890123456789012", Vi = "1234567890123456" }; Assert.AreEqual(false, target.Validate("asb")); Assert.AreEqual(true, target.Validate("AAA")); }
public void GetResponseModelTest() { var target = new SpGatewayResponse() { MerchantId = "MS31756909", Status = "SUCCESS", Version = "1.4", TradeInfo = "9d9d94de7cdaa5c73ba288bb9fafac953691b4e72d865e4e098d7e96eded1122d4accc05946ccec051dd621b070cad3a7ff98656178bcfebbbd76b6fe11684476a0d4815c67195694106b33f6a922398047291f5775c2202553896d4b6abbdf5df5e0e86af72ae9b41329657b4e23dd9ec287464186928f30ee0fd859ed96c6982ccae7836102e97402699a2c780a08fa564a04bda3e7ca305efba44f535f0dbb4f54bea55fc56512a97910fd13712ea046d7c411ce2385fba959241899dbc60eeb4ebe54fe76a14087e3e979217ecfb111406b1c64c6f4a66186fab9eb0c4566909a128d6743e2bf560ce699eaa97a01b983be4b09dc706e69927d271443a3d3bb23789991893043c5c929d6f2586d82f920eb7c6075efa4d3019b13daca3f456448b4d8da93d6243962a062c70c603dea5c1ef60df97b3185302a83bc512bf43462321eeae92f064b2d33c8d2c434e3fbc83b3cad22f6b48f2b690395a0f08", TradeSha = "0F271B65D055B3264D6C6C00FD6FDCC6BC7F653F8DAC38399C158F54AB2375B6", Key = "xbEznJ0PExvWzd5ct72dLPCMPIBUw8K3", Vi = "kpDI8DxNb2JKgOXK" }; var actual = target.GetResponseModel <TradeInfoModel>(); var expected = new TradeInfoModel { Status = "SUCCESS", Message = "\u4ed8\u6b3e\u6210\u529f", Result = new Result { MerchantID = "MS31756909", Amt = 900, TradeNo = "17060802213088297", MerchantOrderNo = "636324851460397211", RespondType = "JSON", IP = "180.217.182.136", EscrowBank = "Esun", PaymentType = "WEBATM", PayTime = "2017-06-08 02:21:30", PayerAccount5Code = "12345", PayBankCode = "808" } }; expected.ShouldBeEquivalentTo(actual); }
protected void Page_Load(object sender, EventArgs e) { string _key = "CD9Zyfb82BIFpnYY2JUppiF4a3f1FB1B"; _key = "By8IMdyhhfeTTgACeHciAYe6bGrXc6bA"; string _Vi = "jXbof2czX0r9FxBf"; _Vi = "hiDG6VP3CrOA32bM"; SpGatewayResponse spg = new SpGatewayResponse(); spg.Key = _key; spg.Vi = _Vi; spg.Status = Request["Status"]; spg.MerchantId = Request["MerchantID"]; spg.TradeInfo = Request["TradeInfo"]; spg.SaveLog(); spg.AddAtmlog(); if (Session["ord_code"] != null) { ord_code = Session["ord_code"].ToString(); } if (Request.QueryString["ord_code"] != null) { ord_code = Request.QueryString["ord_code"]; } if (ord_code == "") { Response.End(); } ord_code = classlib.RemoveBadSymbol(ord_code); DataTable dt = new DataTable(); string strsql = @"update tbl_OrderData set paid= 'Y', status =2 where ord_code=@ord_code"; NameValueCollection nvc = new NameValueCollection { { "ord_code", ord_code } }; DbControl.Data_add(strsql, nvc); strsql = @"select * FROM tbl_OrderData where ord_code=@ord_code"; dt = DbControl.Data_Get(strsql, nvc); string ord_id = dt.Rows[0]["ord_id"].ToString(); ord_tel = dt.Rows[0]["ordphone"].ToString(); ord_pay = OrderLib.getPaymode(dt.Rows[0]["paymode"].ToString()); ord_status = dt.Rows[0]["status"].ToString(); ord_date = DateTime.Parse(dt.Rows[0]["crtdat"].ToString()).ToString("yyyy/MM/dd"); ord_totalprice = "$" + dt.Rows[0]["TotalPrice"].ToString(); ord_name = dt.Rows[0]["ordname"].ToString(); ord_address = dt.Rows[0]["ordaddress"].ToString(); ord_email = dt.Rows[0]["email"].ToString(); ord_tel = dt.Rows[0]["ordphone"].ToString(); ord_ship_name = dt.Rows[0]["ordname"].ToString(); ord_ship_tel = dt.Rows[0]["ordphone"].ToString(); email = dt.Rows[0]["email"].ToString(); ord_ship_name = dt.Rows[0]["ordname"].ToString(); strsql = @"select * FROM tbl_OrderDetail INNER JOIN tbl_productData ON tbl_OrderDetail.p_id = tbl_productData.p_id where ord_id=@ord_id"; nvc.Clear(); nvc.Add("ord_id", ord_id); dt = DbControl.Data_Get(strsql, nvc); temp_product.DataSource = dt; temp_product.DataBind(); }
public ActionResult bluenewRequest(SpGatewayResponse response) { // Product productModel = new MallRepository().Get(pm); //User.Identity.GetUserId() /* var user = UserManager.FindById(User.Identity.GetUserId()); * * ProductRecord assr = new ProductRecord * { * UserID = User.Identity.GetUserId(), * unitSn = 1, * assets = (double)productModel.transform, * inpdate = DateTime.Now, * type = 1, * ProductId = pm * }; * new AssetsRepository().AddBearByAssets(assr);*/ //new AssetsRepository().AddAssetsByAssets(AssetsRecord ar) ///return Json(result, "application/json", JsonRequestBehavior.AllowGet); /// //var json = DecryptAES256(TradeInfo.ToString()); response.Key = "CON3KthrvPulsAWQQiQ3jsswLIzxxgQK"; response.Vi = "ugZbqRhI6x5LGI94"; var success = response.Validate("MS15822085"); if (success) { var tradInfoModel = response.GetResponseModel <TradeInfoModel>(); //var OrderNoToProuctId = tradInfoModel.Result.MerchantOrderNo.OrderNoToProuctId(); User_CashReturn user = new MallRepository().GetUserPRecord(tradInfoModel.Result.MerchantOrderNo); Product productModel = new MallRepository().Get((int)user.productId); ProductRecord assr = new ProductRecord { UserID = user.userId, unitSn = 1, assets = productModel.transform, inpdate = DateTime.Now, type = 1, ProductId = productModel.id }; new AssetsRepository().AddBearByAssets(assr); /* User_CashReturn re = new User_CashReturn * { * Status = response.Status, * MerchantID = OrderNoToProuctId, * TradeInfo = response.TradeInfo, * TradeSha = response.TradeSha, * Version = "1.5" * }; * * new MallRepository().CreateReturnRecord(re);*/ //return Json(re, "application/json", JsonRequestBehavior.AllowGet); } return(View()); // var json = DecryptAES256(Tradeinfo); //string jsonString = JsonConvert.SerializeObject(json, Formatting.Indented, new JsonSerializerSettings { StringEscapeHandling = StringEscapeHandling.EscapeNonAscii }); //var json = new string[]{ "123" }; //return Json(); }
protected void Page_Load(object sender, EventArgs e) { string _key = "CD9Zyfb82BIFpnYY2JUppiF4a3f1FB1B"; string _Vi = "jXbof2czX0r9FxBf"; //_key = "By8IMdyhhfeTTgACeHciAYe6bGrXc6bA"; //_Vi = "hiDG6VP3CrOA32bM"; SpGatewayResponse spg = new SpGatewayResponse { Key = _key, Vi = _Vi, Status = Request["Status"], MerchantId = Request["MerchantID"], TradeInfo = Request["TradeInfo"] }; spg.SaveLog(); spg.AddAtmlog(); if (Session["ord_code"] != null) { ord_code = Session["ord_code"].ToString(); } if (Request.QueryString["ord_code"] != null) { ord_code = Request.QueryString["ord_code"]; } if (ord_code == "") { Response.End(); } ord_code = classlib.RemoveBadSymbol(ord_code); SpGatewayHelper.Models.TradeInfoLog log = OrderLib.Get_Tradelog(ord_code); ord_status = log.Status; BankCode = log.Result.BankCode; CodeNo = log.Result.CodeNo; ExpireDate = log.Result.ExpireDate + " " + log.Result.ExpireTime; OrderLib.OrderData o = OrderLib.Get_ordData(ord_code); string ord_id = o.Ord_id.ToString(); string site_name = HttpContext.Current.Application["site_name"].ToString(); string filename = HttpContext.Current.Server.MapPath("/templates/letter.html"); string mailbody = unity.classlib.GetTextString(filename); string atmmode = "<table><Tr><td colspan=2>您於「" + site_name + "」進行了ATM 轉帳交易,以下為您轉帳資訊</td></tr>"; atmmode += "<tr><td>訂單編號</td><td>" + log.Result.MerchantOrderNo + "</td></tr>"; atmmode += "<tr><td>銀行代碼</td><td>" + BankCode + "</td></tr>"; atmmode += "<tr><td>帳號</td><td >" + CodeNo + "</td></tr>"; atmmode += "<tr><td>金額</td><td >NT$" + log.Result.Amt + "</td></tr>"; atmmode += "<tr><td>有效期限</td><td>" + ExpireDate + "</td></tr></table>"; unity.classlib.SendsmtpMail(o.Ordemail, "ATM匯款帳號通知信", mailbody.Replace("@mailbody@", atmmode), "gmail"); if (o.OrderDetail != null) { Response.Redirect("/completed.aspx"); Response.End(); } LessonLib.JoinData L = LessonLib.Web.Get_ord_JoinData(Session["ord_code"].ToString()); if (L.JoinDetail != null) { Response.Redirect("/process-step4.aspx"); } }
public ActionResult bluenewRequest(SpGatewayResponse response) { //正式 response.Vi = "PmNER6HP23jikkcC"; response.Key = "382go6Z9UrDy3XBuJnCHzNusEYFnBfls"; //test //response.Key = "CON3KthrvPulsAWQQiQ3jsswLIzxxgQK"; //response.Vi = "ugZbqRhI6x5LGI94"; //test //var success = response.Validate("MS15822085"); //正式 var success = response.Validate("MS3276146654"); if (success) { var tradInfoModel = response.GetResponseModel <TradeInfoModel>(); var resuccess = true; //var OrderNoToProuctId = tradInfoModel.Result.MerchantOrderNo.OrderNoToProuctId(); var wait = new InvoiceRepository().GetWait(tradInfoModel.Result.MerchantOrderNo); var inv = new InvoiceRepository().GetInvoice(wait.id); if (inv != null) { resuccess = false; } if (resuccess) { User_CashReturn user = new MallRepository().GetUserPRecord(tradInfoModel.Result.MerchantOrderNo); Product productModel = new MallRepository().Get((int)user.productId); Order order = new Order { UserId = user.userId, ProductId = productModel.id, Pay = tradInfoModel.Result.PaymentType, Order_No = tradInfoModel.Result.MerchantOrderNo, PayStore = tradInfoModel.Result.PayStore, Barcode_1 = tradInfoModel.Result.Barcode_1, Barcode_2 = tradInfoModel.Result.Barcode_2, Barcode_3 = tradInfoModel.Result.Barcode_3, PayBankCode = tradInfoModel.Result.PayBankCode, CodeNo = tradInfoModel.Result.CodeNo, PayerAccount5Code = tradInfoModel.Result.PayerAccount5Code, inpdate = tradInfoModel.Result.PayTime }; //加入購物記錄 var reutrnorder = new MallRepository().OrderCreate(order); ProductRecord assr = new ProductRecord { UserID = user.userId, unitSn = 1, assets = productModel.transform, inpdate = DateTime.Now, type = 1, ProductId = productModel.id }; new AssetsRepository().AddBearByAssets(assr); var pr = new PreferentialRepository().getPRecordsAll(user.userId).Where(x => x.PreferentialID == 5 && x.productID == productModel.id).FirstOrDefault(); //2倍 /* * if (pr.Count != 0) * { * assr = new ProductRecord * { * UserID = user.userId, * unitSn = 1, * assets = productModel.transform, * inpdate = DateTime.Now, * type = 5, * ProductId = productModel.id * }; * new AssetsRepository().AddBearByAssets(assr); * var prds = new PreferentialRecords * { * id = pr.id, * UserId = user.userId, * Count = 0, * inpdate = DateTime.Now, * PreferentialID = pr.PreferentialID, * productID = pr.productID * }; * new PreferentialRepository().PRecordsUpdate(prds); * }*/ //普通首儲 /*if(pr.Count != 0) * { * assr = new ProductRecord * { * UserID = user.userId, * unitSn = 1, * assets = new PreferentialRepository().getpreferential(1).assets, * inpdate = DateTime.Now, * type = 5, * ProductId = productModel.id * }; * new AssetsRepository().AddBearByAssets(assr); * var prds = new PreferentialRecords { * id = pr.id, * UserId = user.userId, * Count = 0, * inpdate = DateTime.Now, * PreferentialID = 1 * }; * new PreferentialRepository().PRecordsUpdate(prds); * }*/ //InvoiceModel invoice = new InvoiceModel(); //發送發票 var smilePayEinvoice = new InvoiceRepository().invoiceSend(tradInfoModel.Result.MerchantOrderNo, productModel); Invoice invoice = new Invoice { invoiceNumber = smilePayEinvoice.InvoiceNumber, RandomNumber = smilePayEinvoice.RandomNumber, inpdate = DateTime.Parse(smilePayEinvoice.InvoiceDate + " " + smilePayEinvoice.InvoiceTime), IwaitId = wait.id, CarrierID = smilePayEinvoice.CarrierID, orderId = reutrnorder.id }; new InvoiceRepository().InvoiceCreate(invoice); } } return(View()); }