public CLayer.OfflinePayment GetOfflinePaymentDetails(long OfflinePaymentId) { CLayer.OfflinePayment result = null; List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pOfflinePayId", DataPlug.DataType._BigInt, OfflinePaymentId)); DataTable dt = Connection.GetTable("OfflinePayment_GetDetails", param); if (dt.Rows.Count > 0) { result = new CLayer.OfflinePayment(); result.UserId = Connection.ToLong(dt.Rows[0]["UserId"]); result.Amount = Connection.ToDecimal(dt.Rows[0]["Amount"]); result.Name = Connection.ToString(dt.Rows[0]["Name"]); result.Message = Connection.ToString(dt.Rows[0]["Message"]); result.ReferenceNumber = Connection.ToString(dt.Rows[0]["ReferenceNo"]); result.PaymentRefNo = Connection.ToString(dt.Rows[0]["PaymentReferenceNo"]); result.CreatedDate = Connection.ToDate(dt.Rows[0]["CreatedDate"]); result.Email = Connection.ToString(dt.Rows[0]["Email"]); result.Mobile = Connection.ToString(dt.Rows[0]["Mobile"]); result.Address = Connection.ToString(dt.Rows[0]["Address"]); result.Country = Connection.ToString(dt.Rows[0]["CountryName"]); result.State = Connection.ToString(dt.Rows[0]["StateName"]); result.City = Connection.ToString(dt.Rows[0]["CityName"]); result.CountryCode = Connection.ToString(dt.Rows[0]["CountryCode"]); result.ZipCode = Connection.ToString(dt.Rows[0]["ZipCode"]); //result.PaymentLinkID = (Guid)(dt.Rows[0]["PaymentLinkGuidId"]); result.PaymentLinkID = Connection.ToString(dt.Rows[0]["PaymentLinkGuidId"]); } return(result); }
public long SaveInitialCustomerPaymentData(CLayer.OfflinePayment data) { List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pUserId", DataPlug.DataType._Int, data.UserId)); param.Add(Connection.GetParameter("pName", DataPlug.DataType._Varchar, data.Name)); param.Add(Connection.GetParameter("pRefNumber", DataPlug.DataType._Varchar, data.ReferenceNumber)); param.Add(Connection.GetParameter("pAmount", DataPlug.DataType._Decimal, data.Amount)); param.Add(Connection.GetParameter("pMessage", DataPlug.DataType._Varchar, data.Message)); param.Add(Connection.GetParameter("pAddress", DataPlug.DataType._Varchar, data.Address)); param.Add(Connection.GetParameter("pEmail", DataPlug.DataType._Varchar, data.Email)); param.Add(Connection.GetParameter("pMobile", DataPlug.DataType._Varchar, data.Mobile)); param.Add(Connection.GetParameter("pCountryId", DataPlug.DataType._Int, data.CountryId)); param.Add(Connection.GetParameter("pStateId", DataPlug.DataType._Int, data.StateId)); param.Add(Connection.GetParameter("pCityId", DataPlug.DataType._Int, data.CityId)); param.Add(Connection.GetParameter("pCityName", DataPlug.DataType._Varchar, data.City)); param.Add(Connection.GetParameter("pZipCode", DataPlug.DataType._Varchar, data.ZipCode)); param.Add(Connection.GetParameter("pGatewaytype", DataPlug.DataType._Int, data.Gatewaytype)); param.Add(Connection.GetParameter("pStatus", DataPlug.DataType._Int, (int)CLayer.ObjectStatus.OfflinePyamentStatus.Processing)); param.Add(Connection.GetParameter("pPaymentlinkid", DataPlug.DataType._Char, data.CustomerGuid)); object result = Connection.ExecuteQueryScalar("SP_offlineCustomerPayment_Save", param); return(Connection.ToLong(result)); }
public ActionResult CustomerOfflinePay(Models.PaymentRequestModel data) { try { //long UserId = GetUserId(); long UserId = BLayer.OfflinePayment.GetOfflinePaymentUserID(data.PaymentGuid); CLayer.Address byAddress = BLayer.Address.GetAddressOnUserId(UserId); CLayer.Address adrs = BLayer.Address.GetPrimaryOnUser(UserId); CLayer.OfflinePayment dt = new CLayer.OfflinePayment(); dt.Name = byAddress.Firstname; dt.Amount = data.GrandTotal; dt.ReferenceNumber = ""; dt.Message = ""; dt.UserId = UserId; dt.Address = adrs.AddressText; dt.CountryId = adrs.CountryId; dt.StateId = adrs.State; dt.CityId = data.CityId; if (adrs.City != null && adrs.City != "") { dt.City = adrs.City; } if (adrs.CityId > 0) { dt.City = BLayer.City.Get(adrs.CityId).Name; } dt.Email = byAddress.Email; dt.Mobile = adrs.Mobile; dt.ZipCode = adrs.ZipCode; dt.CustomerGuid = data.PaymentGuid; dt.Gatewaytype = (int)CLayer.ObjectStatus.Gateway.EBS; CLayer.Role.Roles rle = BLayer.User.GetRole(UserId); long OfflinePaymentId = BLayer.OfflinePayment.SaveInitialCustomerPaymentData(dt); string PaymentRefNo = " "; long OffPayId = BLayer.OfflinePayment.SetCustomerPaymentRefNo(OfflinePaymentId, rle, PaymentRefNo, data.PaymentGuid); return(RedirectToAction("Index", "OfflinePaymentProcess", new { OfflinePaymentId = OfflinePaymentId })); } catch (Exception ex) { Common.LogHandler.HandleError(ex); return(RedirectToAction("Index", "Home")); } }
public ActionResult SaveOfflinePay(Models.OfflinePaymentModel data) { try { long UserId = GetUserId(); CLayer.OfflinePayment dt = new CLayer.OfflinePayment(); dt.Name = data.Name; dt.Amount = data.Amount; dt.ReferenceNumber = data.ReferenceNumber; dt.Message = data.Message; dt.UserId = UserId; dt.Address = data.Address; dt.CountryId = data.CountryId; dt.StateId = data.State; dt.CityId = data.CityId; if (data.City != null && data.City != "") { dt.City = data.City; } if (data.CityId > 0) { dt.City = BLayer.City.Get(data.CityId).Name; } dt.Email = data.Email; dt.Mobile = data.Mobile; dt.ZipCode = data.ZipCode; dt.Gatewaytype = (int)CLayer.ObjectStatus.Gateway.EBS; CLayer.Role.Roles rle = BLayer.User.GetRole(UserId); long OfflinePaymentId = BLayer.OfflinePayment.SaveInitialPaymentData(dt); string PaymentRefNo = " "; long OffPayId = BLayer.OfflinePayment.SetPaymentRefNo(OfflinePaymentId, rle, PaymentRefNo); return(RedirectToAction("Index", "OfflinePaymentProcess", new { OfflinePaymentId = OfflinePaymentId })); } catch (Exception ex) { Common.LogHandler.HandleError(ex); return(RedirectToAction("Index", "Home")); } }
private Models.OfflinePaymentProcessModel LoadData(long OfflinePaymentId) { Models.OfflinePaymentProcessModel pay = new Models.OfflinePaymentProcessModel(); long userId = GetUserId(); CLayer.OfflinePayment PaymentData = BLayer.OfflinePayment.GetOfflinePaymentDetails(OfflinePaymentId); if (PaymentData.Amount > 0) { pay.account_id = BLayer.Settings.GetValue(CLayer.Settings.PAY_ACCOUNT_ID); pay.reference_no = PaymentData.PaymentRefNo; pay.amount = Convert.ToDecimal(PaymentData.Amount).ToString(); if (System.Configuration.ConfigurationManager.AppSettings.Get("PayMode") == "1") { pay.mode = CLayer.Settings.PAYMENT_MODE_TESTING; } else { pay.mode = CLayer.Settings.PAYMENT_MODE_LIVE; } // pay.mode = CLayer.Settings.PAYMENT_MODE_LIVE; pay.return_url = BLayer.Settings.GetValue(CLayer.Settings.OFFLINE_PAY_RETURN_URL); pay.description = BLayer.Settings.GetValue(CLayer.Settings.PAY_DESCRIPTION); string phone; //user details pay.name = Common.Utils.CutString((PaymentData.Name).Trim(), CLayer.PaymentGateway.EBS.NAME_LENGTH); pay.address = Common.Utils.CutString(PaymentData.Address, CLayer.PaymentGateway.EBS.ADDRESS_LENGTH); pay.state = Common.Utils.CutString(PaymentData.State, CLayer.PaymentGateway.EBS.STATE_LENGTH); pay.country = PaymentData.CountryCode; pay.city = Common.Utils.CutString(PaymentData.City, CLayer.PaymentGateway.EBS.CITY_LENGTH); if (pay.city == "") { pay.city = "city"; } phone = "000000"; if (PaymentData.Mobile != "") { phone = PaymentData.Mobile; } if (phone.Length < 10) { phone = phone.PadLeft(10, '0'); } pay.phone = Common.Utils.CutString(phone, CLayer.PaymentGateway.EBS.PHONE_LENGTH); pay.email = Common.Utils.CutString(PaymentData.Email, CLayer.PaymentGateway.EBS.EMAIL_LENGTH); pay.postal_code = Common.Utils.CutString(PaymentData.ZipCode, CLayer.PaymentGateway.EBS.ZIP_LENGTH); if (pay.postal_code == "") { pay.postal_code = "00000"; } //customer details pay.ship_name = Common.Utils.CutString((PaymentData.Name).Trim(), CLayer.PaymentGateway.EBS.SHIP_NAME); pay.ship_address = Common.Utils.CutString(PaymentData.Address, CLayer.PaymentGateway.EBS.SHIP_ADDR_LENGTH); pay.ship_state = Common.Utils.CutString(PaymentData.State, CLayer.PaymentGateway.EBS.STATE_LENGTH); pay.ship_country = PaymentData.CountryCode; pay.ship_city = Common.Utils.CutString(PaymentData.City, CLayer.PaymentGateway.EBS.CITY_LENGTH); if (pay.ship_city == "") { pay.ship_city = "city"; } phone = "000000"; if (PaymentData.Mobile != "") { phone = PaymentData.Mobile; } if (phone.Length < 10) { phone = phone.PadLeft(10, '0'); } pay.ship_phone = Common.Utils.CutString(phone, CLayer.PaymentGateway.EBS.PHONE_LENGTH); pay.ship_postal_code = Common.Utils.CutString(PaymentData.ZipCode, CLayer.PaymentGateway.EBS.ZIP_LENGTH); if (pay.ship_postal_code == "") { pay.ship_postal_code = "00000"; } pay.SecurePayment(); // data.Items = BLayer.BookingItem.GetAllUnderCart(userId); } else { pay.amount = "0"; } return(pay); }
public RedirectResult SaveOfflinePaybyPaypal(Models.OfflinePaymentModel data) { string errorPage = System.Configuration.ConfigurationManager.AppSettings.Get(PAYMENT_FAILED_LINK); try { long UserId = GetUserId(); CLayer.OfflinePayment dt = new CLayer.OfflinePayment(); dt.Name = data.Name; dt.Amount = data.Amount; dt.ReferenceNumber = data.ReferenceNumber; dt.Message = data.Message; dt.UserId = UserId; dt.Address = data.Address; dt.CountryId = data.CountryId; dt.StateId = data.State; dt.CityId = data.CityId; if (data.City != null && data.City != "") { dt.City = data.City; } if (data.CityId > 0) { dt.City = BLayer.City.Get(data.CityId).Name; } dt.Email = data.Email; dt.Mobile = data.Mobile; dt.ZipCode = data.ZipCode; dt.Gatewaytype = (int)CLayer.ObjectStatus.Gateway.PayPal; CLayer.Role.Roles rle = BLayer.User.GetRole(UserId); long OfflinePaymentId = BLayer.OfflinePayment.SaveInitialPaymentData(dt); string PaymentRefNo = " "; string token = ""; try { //load paypal url from settings string url = BLayer.Settings.GetValue(CLayer.Settings.PAYPAL_TOKEN_URL); WebRequest rqst = HttpWebRequest.Create(url); rqst.Method = "POST"; string user, pwd, signature, returnurl, cancelurl; user = BLayer.Settings.GetValue(CLayer.Settings.PAYPAL_USER); pwd = BLayer.Settings.GetValue(CLayer.Settings.PAYPAL_PWD); signature = BLayer.Settings.GetValue(CLayer.Settings.PAYPAL_SIGNAUTRE); returnurl = BLayer.Settings.GetValue(CLayer.Settings.OFFLINE_PAYPAL_RETURN_URL); cancelurl = BLayer.Settings.GetValue(CLayer.Settings.PAYPAL_CANCELURL); CLayer.Currency cur = BLayer.Currency.Get("USD"); if (cur == null) { throw new Exception("Cannot find USD conversion rate for Paypal booking"); } decimal amount = data.Amount; amount = Math.Round(amount * cur.ConversionRate, 2, MidpointRounding.AwayFromZero); string ProBookDes = data.Message; string postdata = "METHOD=SetExpressCheckout&VERSION=109.0"; postdata = postdata + "&USER="******"&PWD=" + pwd + "&SIGNATURE=" + signature; postdata = postdata + "&PAYMENTREQUEST_0_AMT=" + amount.ToString("F2") + "&PAYMENTREQUEST_0_CURRENCYCODE=USD" + "&PAYMENTREQUEST_0_DESC=" + ProBookDes; postdata = postdata + "&RETURNURL=" + Server.UrlEncode(returnurl); postdata = postdata + "&CANCELURL=" + Server.UrlEncode(cancelurl); postdata = postdata + "&PAYMENTREQUEST_0_PAYMENTACTION=Sale"; if (!String.IsNullOrEmpty(postdata)) { rqst.ContentType = "application/x-www-form-urlencoded"; byte[] byteData = UTF8Encoding.UTF8.GetBytes(postdata); rqst.ContentLength = byteData.Length; using (Stream postStream = rqst.GetRequestStream()) { postStream.Write(byteData, 0, byteData.Length); postStream.Close(); } } ((HttpWebRequest)rqst).KeepAlive = false; StreamReader rsps = new StreamReader(rqst.GetResponse().GetResponseStream()); string strRsps = rsps.ReadToEnd(); Debug.WriteLine(strRsps); token = PaymentController.GetToken(strRsps); if (token == "") { //(int)CLayer.ObjectStatus.OfflinePyamentStatus.Processing BLayer.OfflinePayment.SetStatus((int)CLayer.ObjectStatus.OfflinePyamentStatus.failed, OfflinePaymentId); return(Redirect(errorPage)); } } catch (Exception ex) { Common.LogHandler.HandleError(ex); BLayer.OfflinePayment.SetStatus((int)CLayer.ObjectStatus.OfflinePyamentStatus.failed, OfflinePaymentId); return(Redirect(errorPage)); } string red = BLayer.Settings.GetValue(CLayer.Settings.PAYPAL_REQUEST_URL) + token; token = Server.UrlDecode(token); //save to database PaymentRefNo = token; long OffPayId = BLayer.OfflinePayment.SetPaymentRefNo(OfflinePaymentId, rle, PaymentRefNo); BLayer.OfflinePayment.SetStatus((int)CLayer.ObjectStatus.OfflinePyamentStatus.Processing, OfflinePaymentId); return(Redirect(red)); } catch (Exception ex) { Common.LogHandler.HandleError(ex); return(Redirect(errorPage)); } }
public static long SaveInitialPaymentData(CLayer.OfflinePayment data) { DataLayer.OfflinePayment bk = new DataLayer.OfflinePayment(); //if (data.PaymentRefNo == "") data.PaymentRefNo = GetRefNo(data.ReferenceNumber,UserRole); return(bk.SaveInitialPaymentData(data)); }