private void CouponInfo() { List <CouponSession> cs = new List <CouponSession>(); cs = CheckOutSessions.Get <List <CouponSession> >("CouponSession");// (List<CouponSession>)Session["CouponSession"]; Coupon = json_serializer.Serialize(cs); }
public void ClearSessions() { if (HttpContext.Current.Session["CheckOutSessions"] != null) { CheckOutSessions obj = new CheckOutSessions(); obj.Clear(); } }
protected void Page_Load(object sender, EventArgs e) { servicePath = ResolveUrl(this.TemplateSourceDirectory); rewardpoint = CheckOutSessions.Get <double>("RewardPoints", 0); GetPortalCommonInfo(out StoreID, out PortalID, out CustomerID, out UserName, out CultureName, out SessionCode); aspxCommonObj = new AspxCommonInfo(StoreID, PortalID, UserName, CultureName, CustomerID, SessionCode); List <GeneralSettingInfo> lstGeneralSet = RewardPointsController.GetGeneralSetting(aspxCommonObj); StringBuilder scriptrewardPoint = new StringBuilder(); if (lstGeneralSet.Count > 0) { GeneralSettings = new JavaScriptSerializer().Serialize(lstGeneralSet.FirstOrDefault()).ToString(); } }
protected void Page_Load(object sender, EventArgs e) { servicePath = ResolveUrl(this.TemplateSourceDirectory); rewardpoint = CheckOutSessions.Get <double>("RewardPoints", 0); }
protected void SendConfrimMessage(string redirectPat) { try { if (Session["OrderID"] != null) { const int responseCode = 1; const string responsereasontext = "Transaction occured successfully"; const int responsereasonCode = 1; string paymentmethod = string.Empty; var orderdata2 = new OrderDetailsCollection(); if (HttpContext.Current.Session["OrderCollection"] != null) { orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; } string invoice = orderdata2.ObjOrderDetails.InvoiceNumber; var random = new Random(); string purchaseorderNo = (random.Next(0, 1000)).ToString(); string timeStamp = ((int)(DateTime.UtcNow - new DateTime(2011, 1, 1)).TotalSeconds).ToString(); string transID = (random.Next(99999, 111111)).ToString(); lblTransaction.Text = transID; lblInvoice.Text = invoice; lblPaymentMethod.Text = "Cash On Delivery"; lblPaymentStatus.Text = "Successfull"; lblDateTime.Text = DateTime.Now.ToString("dddd, dd MMMM yyyy "); lblOrderNo.Text = "#" + Session["OrderID"].ToString(); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.StoreID = GetStoreID; aspxCommonObj.PortalID = GetPortalID; aspxCommonObj.UserName = GetUsername; aspxCommonObj.CustomerID = GetCustomerID; aspxCommonObj.SessionCode = HttpContext.Current.Session.SessionID; aspxCommonObj.CultureName = GetCurrentCultureName; int orderID = orderdata2.ObjOrderDetails.OrderID; string result = CashOnDelivery.Parse(transID, invoice, purchaseorderNo, responseCode, responsereasonCode, responsereasontext, aspxCommonObj); AspxGiftCardController.IssueGiftCard(orderdata2.LstOrderItemsInfo, orderID, true, aspxCommonObj); if (orderdata2.GiftCardDetail != null && CheckOutSessions.Get <List <GiftCardUsage> >("UsedGiftCard").Count > 0) { AspxGiftCardController.UpdateGiftCardUsage(orderdata2.GiftCardDetail, orderdata2.ObjCommonInfo.StoreID, orderdata2.ObjCommonInfo.PortalID, orderdata2.ObjOrderDetails.OrderID, orderdata2.ObjCommonInfo.AddedBy, orderdata2.ObjCommonInfo.CultureName); } lblerror.Text = result; lblerror.Text = GetSageMessage("Payment", "PaymentProcessed"); var tinfo = new TransactionLogInfo(); var tlog = new TransactionLog(); tinfo.TransactionID = transID; tinfo.AuthCode = ""; tinfo.TotalAmount = orderdata2.ObjOrderDetails.GrandTotal * currencyRate; tinfo.ResponseCode = responseCode.ToString(); tinfo.ResponseReasonText = responsereasontext; tinfo.OrderID = orderdata2.ObjOrderDetails.OrderID; tinfo.StoreID = orderdata2.ObjCommonInfo.StoreID; tinfo.PortalID = orderdata2.ObjCommonInfo.PortalID; tinfo.AddedBy = orderdata2.ObjCommonInfo.AddedBy; tinfo.CustomerID = orderdata2.ObjOrderDetails.CustomerID; tinfo.SessionCode = orderdata2.ObjOrderDetails.SessionCode; tinfo.PaymentGatewayID = orderdata2.ObjOrderDetails.PaymentGatewayTypeID; tinfo.PaymentStatus = "Processed"; tinfo.CreditCard = ""; tinfo.CurrencyCode = SelectedCurrency; tlog.SaveTransactionLog(tinfo); CheckOutHelper cHelper = new CheckOutHelper(); cHelper.ClearSessions(); if (Session["OrderCollection"] != null) { var orderdata = (OrderDetailsCollection)Session["OrderCollection"]; try { orderdata.ObjOrderDetails.OrderStatus = "Processed"; EmailTemplate.SendEmailForOrder(GetPortalID, orderdata, _addressPath, TemplateName, transID); } catch (Exception ex) { lblerror.Text = ""; lblerror.Text = GetSageMessage("Payment", "EmailSendOrderProblem"); ProcessException(ex); } Session.Remove("OrderCollection"); } } else { Response.Redirect(_sageRedirectPath, false); } } catch (Exception ex) { ProcessException(ex); } }
private void WebSuccess(string sageRedirectPath) { if (Session["OrderID"] != null) { int storeID = GetStoreID; int portalID = GetPortalID; string userName = GetUsername; int customerID = GetCustomerID; var orderdata = new OrderDetailsCollection(); if (HttpContext.Current.Session["OrderCollection"] != null) { orderdata = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; _invoice = orderdata.ObjOrderDetails.InvoiceNumber; var pw = new PayPalWCFService(); int i = orderdata.ObjOrderDetails.PaymentGatewayTypeID; List <PayPalSettingInfo> setting = pw.GetAllPayPalSetting(i, storeID, portalID); _authToken = setting[0].AuthToken; if (orderdata.GiftCardDetail != null && HttpContext.Current.Session["UsedGiftCard"] != null) { AspxGiftCardController.UpdateGiftCardUsage(orderdata.GiftCardDetail, orderdata.ObjCommonInfo.StoreID, orderdata.ObjCommonInfo.PortalID, orderdata.ObjOrderDetails.OrderID, orderdata.ObjCommonInfo.AddedBy, orderdata.ObjCommonInfo.CultureName); HttpContext.Current.Session.Remove("UsedGiftCard"); } } _txToken = Request.QueryString.Get("tx"); _query = string.Format("cmd=_notify-synch&tx={0}&at={1}", _txToken, _authToken); const string strSandbox = "https://www.sandbox.paypal.com/cgi-bin/webscr"; const string strLive = "https://www.paypal.com/cgi-bin/webscr"; string test = string.Empty; if (Session["IsTestPayPal"] != null) { test = bool.Parse(Session["IsTestPayPal"].ToString()) ? strSandbox : strLive; } var req = (HttpWebRequest)WebRequest.Create(test); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = _query.Length; var stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(_query); stOut.Close(); var stIn = new StreamReader(req.GetResponse().GetResponseStream()); _strResponse = stIn.ReadToEnd(); stIn.Close(); if (_strResponse.StartsWith("SUCCESS")) { string sessionCode = HttpContext.Current.Session.SessionID; try { var paypalHandler = new PayPalHandler(); var aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.StoreID = storeID; aspxCommonObj.PortalID = portalID; aspxCommonObj.UserName = userName; aspxCommonObj.CustomerID = customerID; aspxCommonObj.SessionCode = sessionCode; int orderID = orderdata.ObjOrderDetails.OrderID; paypalHandler.ParseAfterIPN(_strResponse, aspxCommonObj, TemplateName, _addressPath); AspxGiftCardController.IssueGiftCard(orderdata.LstOrderItemsInfo, orderID, true, aspxCommonObj); if (orderdata.GiftCardDetail != null && CheckOutSessions.Get <List <GiftCardUsage> >("UsedGiftCard").Count > 0) { AspxGiftCardController.UpdateGiftCardUsage(orderdata.GiftCardDetail, orderdata.ObjCommonInfo.StoreID, orderdata.ObjCommonInfo.PortalID, orderdata.ObjOrderDetails.OrderID, orderdata.ObjCommonInfo.AddedBy, orderdata.ObjCommonInfo.CultureName); } } catch (Exception) { lblerror.Text = GetSageMessage("Payment", "PaymentParsingIPNError"); } String[] stringArray = _strResponse.Split('\n'); int i; string status = string.Empty; for (i = 1; i < stringArray.Length - 1; i++) { String[] stringArray1 = stringArray[i].Split('='); String sKey = stringArray1[0]; String sValue = HttpUtility.UrlDecode(stringArray1[1]); switch (sKey) { case "txn_id": _transID = Convert.ToString(sValue); break; case "payment_status": status = Convert.ToString(sValue); break; } } lblOrderNo.Text = "#" + Session["OrderID"].ToString(); lblTransaction.Text = _transID; lblInvoice.Text = _invoice; lblPaymentMethod.Text = "Paypal"; lblDateTime.Text = DateTime.Now.ToString("dddd, dd MMMM yyyy "); if (status.ToLower().Trim() == "completed") { lblerror.Text = GetSageMessage("Payment", "PaymentProcessed"); } else if (status.ToLower().Trim() == "pending") { lblerror.Text = GetSageMessage("Payment", "PaymentPending"); } CheckOutHelper cHelper = new CheckOutHelper(); cHelper.ClearSessions(); } else { lblerror.Text = GetSageMessage("Payment", "PaymentError"); } } else { Response.Redirect(sageRedirectPath, false); } }
protected void Page_Load(object sender, EventArgs e) { try { if (CheckOutSessions.Get("MoneybookersData", "") != "") { string[] data = CheckOutSessions.Get("MoneybookersData", "").Split('#'); storeID = int.Parse(data[0].ToString()); portalID = int.Parse(data[1].ToString()); userName = data[2]; customerID = int.Parse(data[3].ToString()); sessionCode = data[4].ToString(); cultureName = data[5]; itemIds = data[6]; couponCode = data[7]; Spath = ResolveUrl("~/Modules/AspxCommerce/AspxCommerceServices/"); StoreSettingConfig ssc = new StoreSettingConfig(); MainCurrency = ssc.GetStoreSettingsByKey(StoreSetting.MainCurrency, storeID, portalID, cultureName); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.StoreID = storeID; aspxCommonObj.PortalID = portalID; if (MoneybookersSupportedCurrency.moneybookersSupportedCurrency.Split(',').Where(s => string.Compare(MainCurrency, s, true) == 0).Count() > 0) { rate = 1; SelectedCurrency = MainCurrency; } else { AspxCoreController acc = new AspxCoreController(); rate = acc.GetCurrencyRateOnChange(aspxCommonObj, MainCurrency, "USD", "en-US"); MainCurrency = "USD"; SelectedCurrency = MainCurrency; /* Some time if selected currency does not exist in currency table then it returns 1, * if we take 1 as rate then it will convert same as previous amount * So avoid Transaction by making it 0 */ if (rate == 1) { rate = 0; } } if (rate != 0) { Session["SelectedCurrency"] = SelectedCurrency; LoadSetting(); } else { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; } } else { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; } } catch (Exception ex) { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; ProcessException(ex); } }
public void LoadSetting() { MoneybookersWCFService pw = new MoneybookersWCFService(); List <MoneybookersSettingInfo> sf; OrderDetailsCollection orderdata2 = new OrderDetailsCollection(); orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; string itemidsWithVar = ""; foreach (var item in orderdata2.LstOrderItemsInfo) { itemidsWithVar += item.ItemID + "&" + item.Quantity + "&" + orderdata2.ObjOrderDetails.OrderID + "&" + item.Variants + ","; } double amountTotal = CheckOutSessions.Get <double>("GrandTotalAll", 0) * rate; decimal amount = decimal.Parse(amountTotal.ToString(CultureInfo.InvariantCulture)); string postURL = string.Empty; try { sf = pw.GetAllMoneybookersSetting(CheckOutSessions.Get <int>("GateWay", 0), storeID, portalID); if (bool.Parse(sf[0].IsTestMoneybookers.ToString())) { postURL = "https://www.moneybookers.com/app/payment.pl"; HttpContext.Current.Session["IsTestMoneybookers"] = true; } else { postURL = "https://www.moneybookers.com/app/payment.pl"; HttpContext.Current.Session["IsTestMoneybookers"] = false; } string ids = Session["OrderID"].ToString() + "#" + storeID + "#" + portalID + "#" + userName + "#" + customerID + "#" + sessionCode + "#" + Session["IsTestMoneybookers"].ToString() + "#" + CheckOutSessions.Get <int>("GateWay", 0) + "#" + SelectedCurrency; var sb = new StringBuilder(); sb.Append("<html>"); sb.AppendFormat(@"<body onload='document.forms[""payment""].submit()' >"); sb.AppendFormat("<form name='payment' action='{0}' method='post'><div sytle='display:none;'>", postURL); sb.AppendFormat("<input type=\"hidden\" name=\"pay_to_email\" value=\"" + sf[0].MoneybookersMerchantAccount + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"return_url\" value=\"" + sf[0].MoneybookersSuccessUrl + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"status_url\" value=\"" + sf[0].MoneybookersStatusUrl + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"amount\" value=\"" + Math.Round(amount, 2) + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"currency\" value=\"" + MainCurrency + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"logo_url\" value=\"" + sf[0].MoneybookersLogoUrl + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"cancel_url\" id=\"cancel_url\" value=\"" + sf[0].MoneybookersCancelUrl + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"merchant_fields\" id=\"merchant_fields\" value=\"field1,field2\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"field1\" id=\"field1\" value=\"" + ids + "\" />"); sb.AppendFormat("<input type=\"hidden\" name=\"field2\" value=\"" + itemidsWithVar + "#" + couponCode + "\" />"); sb.Append("</div></form>"); sb.Append("</body>"); sb.Append("</html>"); Response.Write(sb.ToString()); HttpContext.Current.ApplicationInstance.CompleteRequest(); } catch (Exception ex) { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; ProcessException(ex); } }
public void LoadSetting() { GoogleCheckOutWCFService pw = new GoogleCheckOutWCFService(); List <GoogleCheckOutSettingInfo> sf; OrderDetailsCollection orderdata2 = new OrderDetailsCollection(); orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; string itemidsWithVar = ""; foreach (var item in orderdata2.LstOrderItemsInfo) { itemidsWithVar += item.ItemID + "&" + item.Quantity + "&" + orderdata2.ObjOrderDetails.OrderID + "&" + item.Variants + ","; } string country = orderdata2.ObjShippingAddressInfo.Country.ToString(); string state = orderdata2.ObjShippingAddressInfo.State.ToString(); string zip = orderdata2.ObjShippingAddressInfo.Zip.ToString(); int addressID = Convert.ToInt32(orderdata2.ObjShippingAddressInfo.AddressID); try { sf = pw.GetAllGoogleCheckOutSetting(CheckOutSessions.Get <int>("GateWay", 0), storeID, portalID); double amountTotal = CheckOutSessions.Get <double>("GrandTotalAll", 0) * rate; decimal grandTotal = decimal.Parse(amountTotal.ToString(CultureInfo.InvariantCulture)); decimal totalTaxableAmount = 0; decimal subtotalAmount = 0; decimal taxSubTotal = 0; decimal shipping = CheckOutSessions.Get <decimal>("ShippingCostAll", 0) * decimal.Parse(rate.ToString()); decimal shippingCost = decimal.Parse(shipping.ToString(CultureInfo.InvariantCulture)); decimal discountAmount = 0; decimal couponDiscountAmount = 0; decimal rewardDiscountAmount = 0; if (sf[0].GoogleEnvironmentType == "Sandbox") { CheckoutShoppingCartRequest gCartRequest = new CheckoutShoppingCartRequest(sf[0].GoogleMerchantID, sf[0].GoogleMerchantKey, GCheckout.EnvironmentType.Sandbox, sf[0].GoogleCurrencyType, 30, false); HttpContext.Current.Session["EnvironmentType"] = "Sandbox"; List <CartInfoforGoogleCheckOut> cd; cd = pw.GetCartDetailsForPG(storeID, portalID, customerID, userName, GetCurrentCultureName, sessionCode, country, state, zip, addressID); int nCount = 1; foreach (CartInfoforGoogleCheckOut oItem in cd) { string itemName = oItem.ItemName.ToString(); string description = oItem.ShortDescription.ToString(); int qty = Convert.ToInt32(oItem.Quantity.ToString()); decimal TaxRateValue = Convert.ToDecimal(Convert.ToDouble(oItem.TaxRateValue.ToString()) * rate) / qty; decimal amount = Convert.ToDecimal(Convert.ToDouble(oItem.Price.ToString()) * rate); decimal subTotal = amount;// +TaxRateValue; gCartRequest.AddItem(itemName, description, subTotal, qty); nCount++; } nCount--; if (orderdata2.ObjOrderDetails.DiscountAmount != 0) { string itemName = "Cart Discount Amount"; string description = "Discount Applied on Cart Items"; int qty = 1; discountAmount = 0; decimal discount = Convert.ToDecimal(Convert.ToDouble(orderdata2.ObjOrderDetails.DiscountAmount) * rate); discountAmount = decimal.Parse(discount.ToString(CultureInfo.InvariantCulture)); gCartRequest.AddItem(itemName, description, -discountAmount, qty); } if (orderdata2.ObjOrderDetails.CouponDiscountAmount != 0) { string itemName = "Coupon Discount Amount"; string description = "Coupon Discount Applied on Cart Items"; int qty = 1; couponDiscountAmount = 0; decimal couponDiscount = Convert.ToDecimal(Convert.ToDouble(orderdata2.ObjOrderDetails.CouponDiscountAmount) * rate); couponDiscountAmount = decimal.Parse(couponDiscount.ToString(CultureInfo.InvariantCulture)); gCartRequest.AddItem(itemName, description, -couponDiscountAmount, qty); } List <SessionType> additional = CheckOutSessions.GetAdditional(); foreach (var item in additional) { string itemName = item.Key; string description = item.Key; int qty = 1; rewardDiscountAmount = 0; decimal total = Convert.ToDecimal(double.Parse(item.Value.ToString()) * rate); gCartRequest.AddItem(itemName, description, -total, qty); } if (orderdata2.ObjOrderDetails.TaxTotal != 0) { decimal tax = Convert.ToDecimal(Convert.ToDouble(orderdata2.ObjOrderDetails.TaxTotal) * rate); taxSubTotal = decimal.Parse(tax.ToString(CultureInfo.InvariantCulture)); } subtotalAmount = grandTotal - shippingCost - taxSubTotal + discountAmount + couponDiscountAmount; totalTaxableAmount = subtotalAmount - discountAmount - couponDiscountAmount; double taxp = Convert.ToDouble((taxSubTotal * 100) / totalTaxableAmount); double taxPer = taxp / 100; gCartRequest.AddCountryTaxRule(USAreas.ALL, taxPer, false); string shippingMethod = CheckOutSessions.Get("ShippingMethodName", "Default Shipping"); gCartRequest.AddFlatRateShippingMethod(shippingMethod, shippingCost); XmlDocument tempDoc = new System.Xml.XmlDocument(); tempDoc.LoadXml("<root />"); XmlNode orderIdNode = tempDoc.CreateElement("OrderID"); orderIdNode.InnerText = Session["OrderID"].ToString(); gCartRequest.AddMerchantPrivateDataNode(orderIdNode); XmlNode userIdNode = tempDoc.CreateElement("userName"); userIdNode.InnerText = userName; gCartRequest.AddMerchantPrivateDataNode(userIdNode); XmlNode amountNode = tempDoc.CreateElement("amount"); amountNode.InnerText = (CheckOutSessions.Get <double>("GrandTotalAll", 0) * rate).ToString();// (double.Parse(Session["GrandTotalAll"].ToString()) * rate).ToString(); gCartRequest.AddMerchantPrivateDataNode(amountNode); XmlNode currencyNode = tempDoc.CreateElement("selectedCurrency"); currencyNode.InnerText = SelectedCurrency; gCartRequest.AddMerchantPrivateDataNode(currencyNode); XmlNode portalIDNode = tempDoc.CreateElement("portalID"); portalIDNode.InnerText = portalID.ToString(); gCartRequest.AddMerchantPrivateDataNode(portalIDNode); XmlNode customerIDNode = tempDoc.CreateElement("customerID"); customerIDNode.InnerText = customerID.ToString(); gCartRequest.AddMerchantPrivateDataNode(customerIDNode); XmlNode itemIdsNode = tempDoc.CreateElement("itemIds"); itemIdsNode.InnerText = itemidsWithVar; gCartRequest.AddMerchantPrivateDataNode(itemIdsNode); XmlNode storeIDNode = tempDoc.CreateElement("storeID"); storeIDNode.InnerText = storeID.ToString(); gCartRequest.AddMerchantPrivateDataNode(storeIDNode); XmlNode couponCodeNode = tempDoc.CreateElement("couponCode"); couponCodeNode.InnerText = couponCode; gCartRequest.AddMerchantPrivateDataNode(couponCodeNode); XmlNode sessionCodeNode = tempDoc.CreateElement("sessionCode"); sessionCodeNode.InnerText = sessionCode; gCartRequest.AddMerchantPrivateDataNode(sessionCodeNode); XmlNode pgIDNode = tempDoc.CreateElement("pgID"); pgIDNode.InnerText = CheckOutSessions.Get <int>("GateWay", 0).ToString(); gCartRequest.AddMerchantPrivateDataNode(pgIDNode); XmlNode MerchantIDNode = tempDoc.CreateElement("MerchantID"); MerchantIDNode.InnerText = sf[0].GoogleMerchantID; gCartRequest.AddMerchantPrivateDataNode(MerchantIDNode); XmlNode MerchantKeyNode = tempDoc.CreateElement("MerchantKey"); MerchantKeyNode.InnerText = sf[0].GoogleMerchantKey; gCartRequest.AddMerchantPrivateDataNode(MerchantKeyNode); GCheckoutResponse response = gCartRequest.Send(); if (response.IsGood) { Response.Redirect(response.RedirectUrl, false); } } if (sf[0].GoogleEnvironmentType == "Production") { CheckoutShoppingCartRequest gCartRequest = new CheckoutShoppingCartRequest(sf[0].GoogleMerchantID, sf[0].GoogleMerchantKey, GCheckout.EnvironmentType.Production, sf[0].GoogleCurrencyType, 30, false); HttpContext.Current.Session["EnvironmentType"] = "Production"; List <CartInfoforGoogleCheckOut> cd; cd = pw.GetCartDetailsForPG(storeID, portalID, customerID, userName, GetCurrentCultureName, sessionCode, country, state, zip, addressID); int nCount = 1; foreach (CartInfoforGoogleCheckOut oItem in cd) { string itemName = oItem.ItemName.ToString(); string description = oItem.ShortDescription.ToString(); int qty = Convert.ToInt32(oItem.Quantity.ToString()); decimal TaxRateValue = Convert.ToDecimal(Convert.ToDouble(oItem.TaxRateValue.ToString()) * rate) / qty; decimal amount = Convert.ToDecimal(Convert.ToDouble(oItem.Price.ToString()) * rate); decimal subTotal = amount + TaxRateValue; gCartRequest.AddItem(itemName, description, subTotal, qty); nCount++; } nCount--; if (orderdata2.ObjOrderDetails.DiscountAmount != 0) { string itemName = "Cart Discount Amount"; string description = "Discount Applied on Cart Items"; int qty = 1; discountAmount = 0; decimal discount = Convert.ToDecimal(Convert.ToDouble(orderdata2.ObjOrderDetails.DiscountAmount) * rate); discountAmount = decimal.Parse(discount.ToString(CultureInfo.InvariantCulture)); gCartRequest.AddItem(itemName, description, -discountAmount, qty); } if (orderdata2.ObjOrderDetails.CouponDiscountAmount != 0) { string itemName = "Coupon Discount Amount"; string description = "Coupon Discount Applied on Cart Items"; int qty = 1; couponDiscountAmount = 0; decimal couponDiscount = Convert.ToDecimal(Convert.ToDouble(orderdata2.ObjOrderDetails.CouponDiscountAmount) * rate); couponDiscountAmount = decimal.Parse(couponDiscount.ToString(CultureInfo.InvariantCulture)); gCartRequest.AddItem(itemName, description, -couponDiscountAmount, qty); } if (orderdata2.ObjOrderDetails.RewardDiscountAmount != 0) { string itemName = "Reward Points Discount Amount"; string description = "Reward Points Discount Applied on Cart Items"; int qty = 1; rewardDiscountAmount = 0; decimal rewardDiscount = Convert.ToDecimal(Convert.ToDouble(orderdata2.ObjOrderDetails.RewardDiscountAmount) * rate); rewardDiscountAmount = decimal.Parse(rewardDiscount.ToString(CultureInfo.InvariantCulture)); gCartRequest.AddItem(itemName, description, -rewardDiscountAmount, qty); } if (orderdata2.ObjOrderDetails.TaxTotal != 0) { decimal tax = Convert.ToDecimal(Convert.ToDouble(orderdata2.ObjOrderDetails.TaxTotal) * rate); taxSubTotal = decimal.Parse(tax.ToString(CultureInfo.InvariantCulture)); } subtotalAmount = grandTotal - shippingCost - taxSubTotal + discountAmount + couponDiscountAmount; totalTaxableAmount = subtotalAmount - discountAmount - couponDiscountAmount; double taxp = Convert.ToDouble((taxSubTotal * 100) / totalTaxableAmount); double taxPer = taxp / 100; gCartRequest.AddCountryTaxRule(USAreas.ALL, taxPer, false); string shippingMethod = CheckOutSessions.Get("ShippingMethodName", "Default Shipping");; gCartRequest.AddFlatRateShippingMethod(shippingMethod, shippingCost); XmlDocument tempDoc = new System.Xml.XmlDocument(); tempDoc.LoadXml("<root />"); XmlNode orderIdNode = tempDoc.CreateElement("OrderID"); orderIdNode.InnerText = Session["OrderID"].ToString(); gCartRequest.AddMerchantPrivateDataNode(orderIdNode); XmlNode userIdNode = tempDoc.CreateElement("userName"); userIdNode.InnerText = userName; gCartRequest.AddMerchantPrivateDataNode(userIdNode); XmlNode amountNode = tempDoc.CreateElement("amount"); amountNode.InnerText = (CheckOutSessions.Get <double>("GrandTotalAll", 0) * rate).ToString(); gCartRequest.AddMerchantPrivateDataNode(amountNode); XmlNode currencyNode = tempDoc.CreateElement("selectedCurrency"); currencyNode.InnerText = SelectedCurrency; gCartRequest.AddMerchantPrivateDataNode(currencyNode); XmlNode portalIDNode = tempDoc.CreateElement("portalID"); portalIDNode.InnerText = portalID.ToString(); gCartRequest.AddMerchantPrivateDataNode(portalIDNode); XmlNode customerIDNode = tempDoc.CreateElement("customerID"); customerIDNode.InnerText = customerID.ToString(); gCartRequest.AddMerchantPrivateDataNode(customerIDNode); XmlNode itemIdsNode = tempDoc.CreateElement("itemIds"); itemIdsNode.InnerText = itemidsWithVar; gCartRequest.AddMerchantPrivateDataNode(itemIdsNode); XmlNode storeIDNode = tempDoc.CreateElement("storeID"); storeIDNode.InnerText = storeID.ToString(); gCartRequest.AddMerchantPrivateDataNode(storeIDNode); XmlNode couponCodeNode = tempDoc.CreateElement("couponCode"); couponCodeNode.InnerText = couponCode; gCartRequest.AddMerchantPrivateDataNode(couponCodeNode); XmlNode sessionCodeNode = tempDoc.CreateElement("sessionCode"); sessionCodeNode.InnerText = sessionCode; gCartRequest.AddMerchantPrivateDataNode(sessionCodeNode); XmlNode pgIDNode = tempDoc.CreateElement("pgID"); pgIDNode.InnerText = CheckOutSessions.Get <int>("GateWay", 0).ToString(); gCartRequest.AddMerchantPrivateDataNode(pgIDNode); XmlNode MerchantIDNode = tempDoc.CreateElement("MerchantID"); MerchantIDNode.InnerText = sf[0].GoogleMerchantID; gCartRequest.AddMerchantPrivateDataNode(MerchantIDNode); XmlNode MerchantKeyNode = tempDoc.CreateElement("MerchantKey"); MerchantKeyNode.InnerText = sf[0].GoogleMerchantKey; gCartRequest.AddMerchantPrivateDataNode(MerchantKeyNode); GCheckoutResponse response = gCartRequest.Send(); if (response.IsGood) { Response.Redirect(response.RedirectUrl, false); } } } catch (Exception ex) { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; ProcessException(ex); } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { try { SageFrameConfig sfConfig = new SageFrameConfig(); IsUseFriendlyUrls = sfConfig.GetSettingBollByKey(SageFrameSettingKeys.UseFriendlyUrls); string sageRedirectPath = string.Empty; if (IsUseFriendlyUrls) { if (GetPortalID > 1) { sageRedirectPath = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx"); addressPath = HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/portal/" + GetPortalSEOName + "/"; } else { sageRedirectPath = ResolveUrl("~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx"); addressPath = HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/"; } } else { sageRedirectPath = ResolveUrl("{~/Default.aspx?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage)); } Image imgProgress = (Image)UpdateProgress1.FindControl("imgPrgress"); if (imgProgress != null) { imgProgress.ImageUrl = GetTemplateImageUrl("ajax-loader.gif", true); } hlnkHomePage.NavigateUrl = sageRedirectPath; OrderDetailsCollection orderdata = new OrderDetailsCollection(); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.CustomerID = GetCustomerID; aspxCommonObj.SessionCode = HttpContext.Current.Session.SessionID; aspxCommonObj.StoreID = GetStoreID; aspxCommonObj.PortalID = GetPortalID; aspxCommonObj.CultureName = GetCurrentCultureName; aspxCommonObj.UserName = GetUsername; if (Session["OrderID"] != null) { orderID = int.Parse(Session["OrderID"].ToString()); int storeID = int.Parse(GetStoreID.ToString()); int portalID = int.Parse(GetPortalID.ToString()); string userName = GetUsername.ToString(); int customerID = int.Parse(GetCustomerID.ToString()); transID = GetTransactionDetailById(int.Parse(Session["OrderID"].ToString())); if (HttpContext.Current.Session["OrderCollection"] != null) { orderdata = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; AspxGiftCardController.IssueGiftCard(orderdata.LstOrderItemsInfo, orderID, true, aspxCommonObj); if (orderdata.GiftCardDetail != null && CheckOutSessions.Get <List <GiftCardUsage> >("UsedGiftCard").Count > 0) { AspxGiftCardController.UpdateGiftCardUsage(orderdata.GiftCardDetail, orderdata.ObjCommonInfo.StoreID, orderdata.ObjCommonInfo.PortalID, orderdata.ObjOrderDetails.OrderID, orderdata.ObjCommonInfo.AddedBy, orderdata.ObjCommonInfo.CultureName); } invoice = orderdata.ObjOrderDetails.InvoiceNumber; orderdata.ObjOrderDetails.OrderStatus = "Successful"; EmailTemplate.SendEmailForOrder(portalID, orderdata, addressPath, TemplateName, transID); } lblTransaction.Text = transID; lblPaymentMethod.Text = "GoogleCheckOut"; lblDateTime.Text = DateTime.Now.ToString("dddd, dd MMMM yyyy "); lblInvoice.Text = invoice; ClearAllSession(); } else { Response.Redirect(sageRedirectPath, false); } IncludeLanguageJS(); } catch (Exception ex) { ProcessException(ex); } } }
protected void Page_Load(object sender, EventArgs e) { try { IncludeLanguageJS(); GetPortalCommonInfo(out storeID, out portalID, out customerID, out userName, out cultureName, out sessionCode); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(storeID, portalID, userName, cultureName, customerID, sessionCode); List <CouponSession> cs = new List <CouponSession>(); cs = CheckOutSessions.Get <List <CouponSession> >("CouponSession"); Coupon = json_serializer.Serialize(cs); List <GiftCardUsage> gc = CheckOutSessions.Get <List <GiftCardUsage> >("UsedGiftCard"); GiftCard = json_serializer.Serialize(gc); Discount = CheckOutSessions.Get <Decimal>("DiscountAmount", 0); string templateName = TemplateName; IncludeCss("CheckOutInformationContent", "/Templates/" + templateName + "/css/MessageBox/style.css", "/Templates/" + templateName + "/css/JQueryUIFront/jquery.ui.all.css", "/Templates/" + templateName + "/css/ToolTip/tooltip.css", "/Modules/AspxCommerce/AspxCheckoutWithSingleAddress/css/module.css"); IncludeJs("CheckOutInformationContent", "/js/encoder.js", "/js/FormValidation/jquery.validate.js", "/js/jquery.cookie.js", "/js/MessageBox/jquery.easing.1.3.js", "/js/MessageBox/alertbox.js", "/js/jquery.tipsy.js", "/Modules/AspxCommerce/AspxCheckoutWithSingleAddress/js/SingleCheckOut.js"); ssc.GetStoreSettingParamEleven(StoreSetting.DefaultProductImageURL, StoreSetting.ShoppingCartURL, StoreSetting.MyAccountURL, StoreSetting.AllowedShippingCountry, StoreSetting.AllowedBillingCountry, StoreSetting.SingleCheckOutURL, StoreSetting.DimensionUnit, StoreSetting.WeightUnit, StoreSetting.AskCustomerToSubscribe, StoreSetting.ShipDetailPageURL, StoreSetting.AllowUsersToCreateMultipleAddress, out noImageCheckOutInfoPath, out ShoppingCartURL, out myAccountURL, out AllowededShippingCountry, out AllowededBillingCountry, out SingleAddressCheckOutURL, out DimentionalUnit, out WeightUnit, out ShowSubscription, out ShippingDetailPage, out allowMultipleAddress, storeID, portalID, cultureName); if (!IsPostBack) { HideSignUp(); PasswordAspx.Attributes.Add("onkeypress", "return clickButton(event,'" + LoginButton.ClientID + "')"); if (!IsParent) { hypForgotPassword.NavigateUrl = ResolveUrl(GetParentURL + "/portal/" + GetPortalSEOName + "/sf/" + pagebase.GetSettingValueByIndividualKey(SageFrameSettingKeys.PortalForgotPassword) + SageFrameSettingKeys.PageExtension); } else { hypForgotPassword.NavigateUrl = ResolveUrl("~/sf/" + pagebase.GetSettingValueByIndividualKey(SageFrameSettingKeys.PortalForgotPassword) + SageFrameSettingKeys.PageExtension); } string registerUrl = ResolveUrl("~/sf/" + pagebase.GetSettingValueByIndividualKey(SageFrameSettingKeys.PortalUserRegistration) + SageFrameSettingKeys.PageExtension); signup.Attributes.Add("href", ResolveUrl("~/sf/sfUser-Registration" + SageFrameSettingKeys.PageExtension)); signup1.Attributes.Add("href", ResolveUrl("~/sf/sfUser-Registration" + SageFrameSettingKeys.PageExtension)); if (Boolean.Parse(pagebase.GetSettingValueByIndividualKey(SageFrameSettingKeys.RememberCheckbox))) { RememberMe.Visible = true; lblrmnt.Visible = true; } else { RememberMe.Visible = false; lblrmnt.Visible = false; } object serverVars = new { noImageCheckOutInfoPath = noImageCheckOutInfoPath, ShoppingCartURL = ShoppingCartURL, myAccountURL = myAccountURL, singleAddressCheckOutURL = SingleAddressCheckOutURL, CartUrl = ShoppingCartURL, AllowedShippingCountry = AllowededShippingCountry, AllowedBillingCountry = AllowededBillingCountry, dimentionalUnit = DimentionalUnit, weightunit = WeightUnit, showSubscription = ShowSubscription, allowMultipleAddress = allowMultipleAddress, shippingDetailPage = ShippingDetailPage, Discount = Discount }; ServerVars = json_serializer.Serialize(serverVars); LoadCartDetails(aspxCommonObj); LoadCountry(); LoadAddress(aspxCommonObj); LoadPaymentGateway(aspxCommonObj); LoadRewardPoints(aspxCommonObj); } if (HttpContext.Current.User != null) { SecurityPolicy objSecurity = new SecurityPolicy(); FormsAuthenticationTicket ticket = objSecurity.GetUserTicket(GetPortalID); if (ticket != null && ticket.Name != ApplicationKeys.anonymousUser) { int LoggedInPortalID = int.Parse(ticket.UserData.ToString()); string[] sysRoles = SystemSetting.SUPER_ROLE; MembershipController member = new MembershipController(); UserInfo userDetail = member.GetUserDetails(GetPortalID, GetUsername); if (GetPortalID == LoggedInPortalID || Roles.IsUserInRole(userDetail.UserName, sysRoles[0])) { RoleController _role = new RoleController(); string userinroles = _role.GetRoleNames(GetUsername, LoggedInPortalID); if (userinroles != "" || userinroles != null) { MultiView1.ActiveViewIndex = 1; } else { MultiView1.ActiveViewIndex = 0; } } else { MultiView1.ActiveViewIndex = 0; } } else { MultiView1.ActiveViewIndex = 0; } } } catch (Exception ex) { ProcessException(ex); } }
protected void Page_Load(object sender, EventArgs e) { try { if (CheckOutSessions.Get("PaypalData", "") != "") { string[] data = CheckOutSessions.Get("PaypalData", "").Split('#'); storeID = int.Parse(data[0]); portalID = int.Parse(data[1]); UserName = data[2]; customerID = int.Parse(data[3]); SessionCode = data[4]; CultureName = data[5]; AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.StoreID = storeID; aspxCommonObj.PortalID = portalID; var ssc = new StoreSettingConfig(); MainCurrency = ssc.GetStoreSettingsByKey(StoreSetting.MainCurrency, storeID, portalID, CultureName); if (PaypalSupportedCurrency.paypalSupportedCurrency.Split(',').Where(s => string.Compare(MainCurrency, s, true) == 0).Count() > 0) { Rate = 1; SelectedCurrency = MainCurrency; } else { AspxCoreController acc = new AspxCoreController(); Rate = acc.GetCurrencyRateOnChange(aspxCommonObj, MainCurrency, "USD", "en-US"); MainCurrency = "USD"; SelectedCurrency = MainCurrency; /* Some time if selected currency does not exist in currency table then it returns 1, * if we take 1 as rate then it will convert same as previous amount * So avoid Transaction by making it 0 */ if (Rate == 1) { Rate = 0; } } if (Rate != 0) { HttpContext.Current.Session["SelectedCurrency"] = SelectedCurrency; LoadSetting(); } else { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; } } else { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; } } catch { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; // ProcessException(ex); } }
public void LoadSetting() { var pw = new PayPalWCFService(); var orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; try { List <PayPalSettingInfo> sf = pw.GetAllPayPalSetting(CheckOutSessions.Get <int>("GateWay", 0), storeID, portalID); string postUrl; if (bool.Parse(sf[0].IsTestPaypal)) { postUrl = "https://www.sandbox.paypal.com/us/cgi-bin/webscr"; HttpContext.Current.Session["IsTestPayPal"] = true; } else { postUrl = "https://www.paypal.com/us/cgi-bin/webscr"; HttpContext.Current.Session["IsTestPayPal"] = false; } string ids = HttpContext.Current.Session["OrderID"].ToString() + "#" + storeID + "#" + portalID + "#" + UserName + "#" + customerID + "#" + SessionCode + "#" + HttpContext.Current.Session["IsTestPayPal"].ToString() + "#" + CheckOutSessions.Get <int>("GateWay", 0); var url = new StringBuilder(); url.Append(postUrl + "?cmd=_cart&business=" + HttpUtility.UrlEncode(sf[0].BusinessAccount.Trim())); string serviceType = string.Empty; if (HttpContext.Current.Session["ServiceType"] != null) { serviceType = HttpContext.Current.Session["ServiceType"].ToString(); } if (serviceType.ToLower() == "true") { var appointmentInfo = new BookAppointmentInfo(); if (HttpContext.Current.Session["AppointmentCollection"] != null) { appointmentInfo = (BookAppointmentInfo)HttpContext.Current.Session["AppointmentCollection"]; } int nCount = 1; double itemPrice = Convert.ToDouble(appointmentInfo.ServiceProductPrice) * Rate; url.AppendFormat("&item_name_" + nCount + "={0}", HttpUtility.UrlEncode(appointmentInfo.ServiceProductName)); url.AppendFormat("&amount_" + nCount + "={0}", HttpUtility.UrlEncode(Math.Round(itemPrice, 2).ToString())); double discountAll = 0.00; double couponDiscount = 0.00; double taxAll = 0.00; double shippingCostAll = 0.00; url.AppendFormat("&num_cart_items={0}", HttpUtility.UrlEncode(nCount.ToString())); url.AppendFormat("&discount_amount_cart={0}", HttpUtility.UrlEncode(Math.Round((discountAll + couponDiscount), 2).ToString())); url.AppendFormat("&tax_cart={0}", HttpUtility.UrlEncode(Math.Round(taxAll, 2).ToString())); url.AppendFormat("&no_shipping={0}", HttpUtility.UrlEncode("1")); url.AppendFormat("&shipping_1={0}", HttpUtility.UrlEncode(Math.Round(shippingCostAll, 2).ToString())); url.AppendFormat("¤cy_code={0}", HttpUtility.UrlEncode(MainCurrency)); if (sf[0].ReturnUrl != null && sf[0].ReturnUrl.Trim() != "") { var serviceSuccessPage = "Appointment-Success.aspx"; var successPageURL = sf[0].ReturnUrl.Substring(0, sf[0].ReturnUrl.LastIndexOf("/")) + "/" + serviceSuccessPage; url.AppendFormat("&return={0}", HttpUtility.UrlEncode(successPageURL.ToString())); } if (!string.IsNullOrEmpty(sf[0].VerificationUrl)) { url.AppendFormat("¬ify_url={0}", HttpUtility.UrlEncode(sf[0].VerificationUrl)); } if (!string.IsNullOrEmpty(sf[0].CancelUrl)) { url.AppendFormat("&cancel_return={0}", HttpUtility.UrlEncode(sf[0].CancelUrl)); } url.AppendFormat("&upload={0}", HttpUtility.UrlEncode("1")); url.AppendFormat("&rm={0}", HttpUtility.UrlEncode("1")); url.AppendFormat("&custom={0}", HttpUtility.UrlEncode(ids)); HttpContext.Current.Response.Redirect(url.ToString(), false); } else { List <CartInfoforPaypal> cd = pw.GetCartDetails(storeID, portalID, customerID, UserName, CultureName, SessionCode); int nCount = 1; foreach (CartInfoforPaypal oItem in cd) { double itemPrice = Convert.ToDouble(oItem.Price) * Rate; url.AppendFormat("&item_name_" + nCount + "={0}", HttpUtility.UrlEncode(oItem.ItemName)); url.AppendFormat("&amount_" + nCount + "={0}", HttpUtility.UrlEncode(Math.Round(itemPrice, 2).ToString())); url.AppendFormat("&quantity_" + nCount + "={0}", HttpUtility.UrlEncode(oItem.Quantity.ToString())); nCount++; } nCount--; decimal gcamount = 0; List <GiftCardUsage> list = CheckOutSessions.Get <List <GiftCardUsage> >("UsedGiftCard");// (List<GiftCardUsage>)Session["UsedGiftCard"]; if (list.Count > 0) { gcamount = list.Sum(e => e.ReducedAmount); } double discountAll = CheckOutSessions.Get <double>("DiscountAmount", 0) + Convert.ToDouble(gcamount.ToString()) * Rate; double couponDiscount = (double)orderdata2.ObjOrderDetails.CouponDiscountAmount * Rate; double taxAll = CheckOutSessions.Get <double>("TaxAll", 0) * Rate; double shippingCostAll = CheckOutSessions.Get <double>("ShippingCostAll", 0) * Rate; url.AppendFormat("&num_cart_items={0}", HttpUtility.UrlEncode(nCount.ToString())); url.AppendFormat("&discount_amount_cart={0}", HttpUtility.UrlEncode(Math.Round((discountAll + couponDiscount), 2).ToString())); url.AppendFormat("&tax_cart={0}", HttpUtility.UrlEncode(Math.Round(taxAll, 2).ToString())); url.AppendFormat("&no_shipping={0}", HttpUtility.UrlEncode("1")); url.AppendFormat("&shipping_1={0}", HttpUtility.UrlEncode(Math.Round(shippingCostAll, 2).ToString())); url.AppendFormat("¤cy_code={0}", HttpUtility.UrlEncode(MainCurrency)); if (sf[0].ReturnUrl != null && sf[0].ReturnUrl.Trim() != "") { url.AppendFormat("&return={0}", HttpUtility.UrlEncode(sf[0].ReturnUrl.ToString())); } if (!string.IsNullOrEmpty(sf[0].VerificationUrl)) { url.AppendFormat("¬ify_url={0}", HttpUtility.UrlEncode(sf[0].VerificationUrl)); } if (!string.IsNullOrEmpty(sf[0].CancelUrl)) { url.AppendFormat("&cancel_return={0}", HttpUtility.UrlEncode(sf[0].CancelUrl)); } url.AppendFormat("&upload={0}", HttpUtility.UrlEncode("1")); url.AppendFormat("&rm={0}", HttpUtility.UrlEncode("1")); url.AppendFormat("&custom={0}", HttpUtility.UrlEncode(ids)); HttpContext.Current.Response.Redirect(url.ToString(), false); } } catch { lblnotity.Text = "Something goes wrong, hit refresh or go back to checkout"; clickhere.Visible = false; //ProcessException(ex); } }
public string SendPaymentInfoAIM(OrderDetailsCollection OrderDetail, string TemplateName, string addressPath) { var objRequest = new WebClient(); var objInf = new System.Collections.Specialized.NameValueCollection(30); string strError; //OrderDetail.ObjOrderDetails.CustomerID = int.Parse(Crypto.GenerateCustomerID()); OrderDetail.ObjOrderDetails.InvoiceNumber = Crypto.GenerateInvoiceNumber(); OrderDetail.ObjOrderDetails.PurchaseOrderNumber = Crypto.GeneratePurchaseOrderNumber(); //merchant generated field objInf.Add("x_version", OrderDetail.ObjOrderDetails.Version); objInf.Add("x_delim_data", "True"); objInf.Add("x_login", OrderDetail.ObjOrderDetails.APILogin); objInf.Add("x_tran_key", OrderDetail.ObjOrderDetails.TransactionKey); objInf.Add("x_relay_response", "False"); objInf.Add("x_delim_char", ","); objInf.Add("x_encap_char", "|"); objInf.Add("x_invoice_num", OrderDetail.ObjOrderDetails.InvoiceNumber); objInf.Add("x_cust_id", OrderDetail.ObjOrderDetails.CustomerID.ToString(CultureInfo.InvariantCulture)); objInf.Add("x_po_num", OrderDetail.ObjOrderDetails.PurchaseOrderNumber); // Billing Address objInf.Add("x_first_name", OrderDetail.ObjBillingAddressInfo.FirstName); objInf.Add("x_last_name", OrderDetail.ObjBillingAddressInfo.LastName); objInf.Add("x_company", OrderDetail.ObjBillingAddressInfo.CompanyName); objInf.Add("x_email", OrderDetail.ObjBillingAddressInfo.EmailAddress); objInf.Add("x_address", OrderDetail.ObjBillingAddressInfo.Address); objInf.Add("x_city", OrderDetail.ObjBillingAddressInfo.City); objInf.Add("x_state", OrderDetail.ObjBillingAddressInfo.State); objInf.Add("x_zip", OrderDetail.ObjBillingAddressInfo.Zip); objInf.Add("x_country", OrderDetail.ObjBillingAddressInfo.Country); objInf.Add("x_phone", OrderDetail.ObjBillingAddressInfo.Phone); objInf.Add("x_fax", OrderDetail.ObjBillingAddressInfo.Fax); objInf.Add("x_email_customer", OrderDetail.ObjOrderDetails.IsEmailCustomer); if (OrderDetail.ObjOrderDetails.IsMultipleCheckOut == false) { //shipping address objInf.Add("x_ship_to_first_name", OrderDetail.ObjShippingAddressInfo.FirstName); objInf.Add("x_ship_to_last_name", OrderDetail.ObjShippingAddressInfo.LastName); objInf.Add("x_ship_to_company", OrderDetail.ObjShippingAddressInfo.CompanyName); objInf.Add("x_ship_to_address", OrderDetail.ObjShippingAddressInfo.Address); objInf.Add("x_ship_to_city", OrderDetail.ObjShippingAddressInfo.City); objInf.Add("x_ship_to_state", OrderDetail.ObjShippingAddressInfo.State); objInf.Add("x_ship_to_zip", OrderDetail.ObjShippingAddressInfo.Zip); objInf.Add("x_ship_to_country", OrderDetail.ObjShippingAddressInfo.Country); } // Card Details objInf.Add("x_card_num", OrderDetail.ObjPaymentInfo.CardNumber); objInf.Add("x_card_type", OrderDetail.ObjPaymentInfo.CardType); objInf.Add("x_exp_date", OrderDetail.ObjPaymentInfo.ExpireDate); var ssc = new StoreSettingConfig(); double rate; string mainCurrency = ssc.GetStoreSettingsByKey(StoreSetting.MainCurrency, OrderDetail.ObjCommonInfo.StoreID, OrderDetail.ObjCommonInfo.PortalID, OrderDetail.ObjCommonInfo.CultureName); const string gateWayCurrency = "USD"; AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.CustomerID = OrderDetail.ObjOrderDetails.CustomerID; aspxCommonObj.SessionCode = OrderDetail.ObjOrderDetails.SessionCode; aspxCommonObj.StoreID = OrderDetail.ObjCommonInfo.StoreID; aspxCommonObj.PortalID = OrderDetail.ObjCommonInfo.PortalID; if (gateWayCurrency.ToLower().Trim() == mainCurrency.ToLower().Trim()) { rate = 1; } else { AspxCoreController acc = new AspxCoreController(); rate = acc.GetCurrencyRateOnChange(aspxCommonObj, mainCurrency, gateWayCurrency.Trim(), "en-US"); } //double amountTotal = double.Parse(HttpContext.Current.Session["GrandTotalAll"].ToString()) * rate; double amountTotal = double.Parse(CheckOutSessions.Get <Double>("GrandTotalAll", 0).ToString()) * rate; decimal amount = decimal.Parse(amountTotal.ToString(CultureInfo.InvariantCulture)); //string amount = Regex.Replace(OrderDetail.ObjOrderDetails.GrandTotal.ToString("0.00"), @"[A-Z]", String.Empty); objInf.Add("x_amount", Math.Round(amount, 2).ToString(CultureInfo.InvariantCulture)); objInf.Add("x_test_request", "False"); if (OrderDetail.ObjPaymentInfo.PaymentMethodCode == "CC") { // Authorization code of the card (CCV) objInf.Add("x_card_code", OrderDetail.ObjPaymentInfo.CardCode.Trim()); objInf.Add("x_method", OrderDetail.ObjPaymentInfo.PaymentMethodCode.Trim()); objInf.Add("x_type", OrderDetail.ObjPaymentInfo.TransactionType.Trim()); // string amount = Regex.Replace(OrderDetail.ObjOrderDetails.GrandTotal.ToString("0.00"), @"[A-Z]", String.Empty); // objInf.Add("x_amount", amount); objInf.Add("x_description", OrderDetail.ObjOrderDetails.Remarks.Trim()); } else { //bank objInf.Add("x_bank_aba_code", OrderDetail.ObjPaymentInfo.RoutingNumber.Trim()); objInf.Add("x_bank_acct_num", OrderDetail.ObjPaymentInfo.AccountNumber.Trim()); objInf.Add("x_bank_acct_type", OrderDetail.ObjPaymentInfo.AccountType.Trim()); objInf.Add("x_bank_name", OrderDetail.ObjPaymentInfo.BankName.Trim()); objInf.Add("x_bank_acct_name", OrderDetail.ObjPaymentInfo.AccountHolderName.Trim()); objInf.Add("x_echeck_type", OrderDetail.ObjPaymentInfo.ChequeType.Trim()); objInf.Add("x_bank_check_number", OrderDetail.ObjPaymentInfo.ChequeNumber.Trim()); } // Currency setting. Check the guide for other supported currencies objInf.Add("x_currency_code", OrderDetail.ObjOrderDetails.CurrencyCode.Trim()); if (OrderDetail.ObjOrderDetails.IsTest.ToLower().Trim() == "true" || OrderDetail.ObjOrderDetails.IsTest.ToLower() == "1") { objRequest.BaseAddress = "https://test.authorize.net/gateway/transact.dll"; } else { objRequest.BaseAddress = "https://secure.authorize.net/gateway/transact.dll"; } try { // POST request byte[] objRetBytes = objRequest.UploadValues(objRequest.BaseAddress, "POST", objInf); string[] objRetVals = System.Text.Encoding.ASCII.GetString(objRetBytes).Split(",".ToCharArray()); // Process Return Values OrderDetail.ObjOrderDetails.ResponseCode = int.Parse(objRetVals[0].Trim(char.Parse("|"))); OrderDetail.ObjOrderDetails.ResponseReasonCode = int.Parse(objRetVals[2].Trim(char.Parse("|"))); if (objRetVals[0].Trim(char.Parse("|")) == "1") { // Returned Authorisation Code //response.AuthorizationCode = objRetVals[4].Trim(char.Parse("|")); // Returned Transaction ID OrderDetail.ObjOrderDetails.TransactionID = Convert.ToString(objRetVals[6].Trim(char.Parse("|"))); strError = "Transaction completed successfully."; AspxCoreController acc = new AspxCoreController(); OrderDetail.ObjOrderDetails.OrderStatusID = 8; OrderDetail.ObjOrderDetails.TransactionID = Convert.ToString(objRetVals[6].Trim(char.Parse("|"))); acc.AddOrderDetails(OrderDetail); HttpContext.Current.Session["TransDetailsAIM"] = OrderDetail.ObjOrderDetails.InvoiceNumber + "#" + OrderDetail.ObjOrderDetails.TransactionID + "#" + "AIM Authorize.Net"; if (HttpContext.Current.Session["OrderCollection"] != null) { OrderDetailsCollection orderdata2 = new OrderDetailsCollection(); if (HttpContext.Current.Session["OrderCollection"] != null) { orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; } AspxOrderController.UpdateItemQuantity(orderdata2); AspxGiftCardController.IssueGiftCard(orderdata2.LstOrderItemsInfo, orderdata2.ObjOrderDetails.OrderID, true, aspxCommonObj); if (orderdata2.GiftCardDetail != null && HttpContext.Current.Session["UsedGiftCard"] != null) { //updating giftcard used in chekout AspxGiftCardController.UpdateGiftCardUsage(orderdata2.GiftCardDetail, orderdata2.ObjCommonInfo.StoreID, orderdata2.ObjCommonInfo.PortalID, orderdata2.ObjOrderDetails.OrderID, orderdata2.ObjCommonInfo.AddedBy, orderdata2.ObjCommonInfo.CultureName); HttpContext.Current.Session.Remove("UsedGiftCard"); } var tinfo = new TransactionLogInfo(); var tlog = new TransactionLog(); tinfo.TransactionID = OrderDetail.ObjOrderDetails.TransactionID; tinfo.AuthCode = objRetVals[4].Trim(char.Parse("|"));//auth Code tinfo.TotalAmount = OrderDetail.ObjOrderDetails.GrandTotal; tinfo.ResponseCode = "1"; tinfo.ResponseReasonText = strError; tinfo.OrderID = orderdata2.ObjOrderDetails.OrderID; tinfo.StoreID = OrderDetail.ObjCommonInfo.StoreID; tinfo.PortalID = OrderDetail.ObjCommonInfo.PortalID; tinfo.AddedBy = OrderDetail.ObjCommonInfo.AddedBy; tinfo.CustomerID = OrderDetail.ObjOrderDetails.CustomerID; tinfo.SessionCode = OrderDetail.ObjOrderDetails.SessionCode; tinfo.PaymentGatewayID = OrderDetail.ObjOrderDetails.PaymentGatewayTypeID; tinfo.PaymentStatus = "Processed"; tinfo.PayerEmail = OrderDetail.ObjBillingAddressInfo.EmailAddress; tinfo.CreditCard = OrderDetail.ObjPaymentInfo.CardNumber; tinfo.CurrencyCode = gateWayCurrency.Trim(); tlog.SaveTransactionLog(tinfo); } var cms = new AspxCommerce.Core.CartManageSQLProvider(); cms.ClearCartAfterPayment(aspxCommonObj); // StoreSettingConfig ssc = new StoreSettingConfig(); string sendEmailFrom = ssc.GetStoreSettingsByKey(StoreSetting.SendEcommerceEmailsFrom, OrderDetail.ObjCommonInfo.StoreID, OrderDetail.ObjCommonInfo.PortalID, OrderDetail.ObjCommonInfo.CultureName); string sendOrderNotice = ssc.GetStoreSettingsByKey(StoreSetting.SendOrderNotification, OrderDetail.ObjCommonInfo.StoreID, OrderDetail.ObjCommonInfo.PortalID, OrderDetail.ObjCommonInfo.CultureName); if (sendOrderNotice.ToLower() == "true") { try { EmailTemplate.SendEmailForOrder(OrderDetail.ObjCommonInfo.PortalID, OrderDetail, addressPath, TemplateName, OrderDetail.ObjOrderDetails.TransactionID); } catch (Exception ex) { throw ex; } } acc.ClearSessionVariable("OrderCollection"); CheckOutHelper cHelper = new CheckOutHelper(); cHelper.ClearSessions(); } else { // Error! strError = objRetVals[3].Trim(char.Parse("|")) + " (" + objRetVals[2].Trim(char.Parse("|")) + ")"; if (objRetVals[2].Trim(char.Parse("|")) == "44") { // CCV transaction decline strError += "Our Card Code Verification (CCV) returned " + "the following error: "; switch (objRetVals[38].Trim(char.Parse("|"))) { case "N": strError += "Card Code does not match."; break; case "P": strError += "Card Code was not processed."; break; case "S": strError += "Card Code should be on card but was not indicated."; break; case "U": strError += "Issuer was not certified for Card Code."; break; } } if (objRetVals[2].Trim(char.Parse("|")) == "45") { if (strError.Length > 1) { strError += "<br />n"; } // AVS transaction decline strError += "Our Address Verification System (AVS) " + "returned the following error: "; switch (objRetVals[5].Trim(char.Parse("|"))) { case "A": strError += " the zip code entered does not match " + "the billing address."; break; case "B": strError += " no information was provided for the AVS check."; break; case "E": strError += " a general error occurred in the AVS system."; break; case "G": strError += " the credit card was issued by a non-US bank."; break; case "N": strError += " neither the entered street address nor zip " + "code matches the billing address."; break; case "P": strError += " AVS is not applicable for this transaction."; break; case "R": strError += " please retry the transaction; the AVS system " + "was unavailable or timed out."; break; case "S": strError += " the AVS service is not supported by your " + "credit card issuer."; break; case "U": strError += " address information is unavailable for the " + "credit card."; break; case "W": strError += " the 9 digit zip code matches, but the " + "street address does not."; break; case "Z": strError += " the zip code matches, but the address does not."; break; } } var tinfo = new TransactionLogInfo(); var tlog = new TransactionLog(); tinfo.TransactionID = ""; tinfo.AuthCode = objRetVals[4].Trim(char.Parse("|"));//auth Code tinfo.TotalAmount = amount; tinfo.ResponseCode = objRetVals[2].Trim(char.Parse("|")); tinfo.ResponseReasonText = strError; tinfo.OrderID = OrderDetail.ObjOrderDetails.OrderID; tinfo.StoreID = OrderDetail.ObjCommonInfo.StoreID; tinfo.PortalID = OrderDetail.ObjCommonInfo.PortalID; tinfo.AddedBy = OrderDetail.ObjCommonInfo.AddedBy; tinfo.CustomerID = OrderDetail.ObjOrderDetails.CustomerID; tinfo.SessionCode = OrderDetail.ObjOrderDetails.SessionCode; tinfo.PaymentGatewayID = OrderDetail.ObjOrderDetails.PaymentGatewayTypeID; tinfo.PaymentStatus = "Failed"; tinfo.PayerEmail = OrderDetail.ObjBillingAddressInfo.EmailAddress; tinfo.CreditCard = OrderDetail.ObjPaymentInfo.CardNumber; tinfo.CurrencyCode = gateWayCurrency.Trim(); tlog.SaveTransactionLog(tinfo); } } catch (Exception ex) { strError = ex.Message; } OrderDetail.ObjOrderDetails.ResponseReasonText = strError; return(OrderDetail.ObjOrderDetails.ResponseReasonText); }