public void ParseIPN(int orderId, string transId, string status, int storeId, int portalId, string userName, int customerId, string sessionCode) { var ph = new PayPalHandler(); try { var ot = new OrderDetailsCollection(); var odinfo = new OrderDetailsInfo(); var cms = new CartManageSQLProvider(); var cf = new CommonInfo { StoreID = storeId, PortalID = portalId, AddedBy = userName }; // UpdateOrderDetails var objad = new AspxOrderDetails(); var sqlH = new SQLHandler(); // use split to split array we already have using "=" as delimiter // WcfSession ws = new WcfSession(); odinfo.OrderID = orderId;//ws.GetSessionVariable("OrderID"); odinfo.ResponseReasonText = status; odinfo.TransactionID = transId; ot.ObjOrderDetails = odinfo; ot.ObjCommonInfo = cf; odinfo.OrderStatusID = 8; objad.UpdateOrderDetails(ot); } catch (Exception ex) { throw ex; } }
public static void ParseIPN(int orderID, string transID, string status, int storeID, int portalID, string userName, int customerID, string sessionCode) { GoogleCheckOutHandler ph = new GoogleCheckOutHandler(); try { OrderDetailsCollection ot = new OrderDetailsCollection(); OrderDetailsInfo odinfo = new OrderDetailsInfo(); CartManageSQLProvider cms = new CartManageSQLProvider(); CommonInfo cf = new CommonInfo(); cf.StoreID = storeID; cf.PortalID = portalID; cf.AddedBy = userName; // UpdateOrderDetails AspxOrderDetails objad = new AspxOrderDetails(); SQLHandler sqlH = new SQLHandler(); // use split to split array we already have using "=" as delimiter // WcfSession ws = new WcfSession(); odinfo.OrderID = orderID;//ws.GetSessionVariable("OrderID"); odinfo.ResponseReasonText = status; odinfo.TransactionID = transID; ot.ObjOrderDetails = odinfo; ot.ObjCommonInfo = cf; odinfo.OrderStatusID = 8; objad.UpdateOrderDetails(ot); // UpdateItemQuantity } catch (Exception ex) { throw ex; } }
public OrderDetailsCollection OrderDetails_LoadAll() { OrderDetailsCollection coll = new OrderDetailsCollection(); coll.es.IsLazyLoadDisabled = true; coll.LoadAll(); return(coll); }
public OrderDetailsCollection.OrderDetailsCollectionWCFPacket OrderDetails_LoadAll() { OrderDetailsCollection coll = new OrderDetailsCollection(); if (coll.LoadAll()) { return(coll); } return(null); }
public OrderDetailsCollection OrderDetails_LoadByDynamic(string serializedQuery) { OrderDetailsQuery query = OrderDetailsQuery.SerializeHelper.FromXml( serializedQuery, typeof(OrderDetailsQuery), AllKnownTypes) as OrderDetailsQuery; OrderDetailsCollection coll = new OrderDetailsCollection(); coll.es.IsLazyLoadDisabled = true; coll.Load(query); return(coll); }
public OrderDetailsCollectionProxyStub OrderDetails_SaveCollection(OrderDetailsCollectionProxyStub collection) { if (collection != null) { OrderDetailsCollection c = collection.GetCollection(); c.Save(); return(c); } return(null); }
public OrderDetailsCollectionProxyStub OrderDetails_LoadAll() { OrderDetailsCollection coll = new OrderDetailsCollection(); if (coll.LoadAll()) { return(coll); } return(null); }
public OrderDetailsCollectionProxyStub OrderDetails_QueryForCollection(string serializedQuery) { OrderDetailsQuery query = OrderDetailsQuery.SerializeHelper.FromXml( serializedQuery, typeof(OrderDetailsQuery), AllKnownTypes) as OrderDetailsQuery; OrderDetailsCollection coll = new OrderDetailsCollection(); if (coll.Load(query)) { return(coll); } return(null); }
static private void CorrelatedSubQuery() { OrderDetailsQuery oiq = new OrderDetailsQuery("oi"); ProductsQuery pq = new ProductsQuery("p"); oiq.Select(oiq.OrderID, (oiq.Quantity * oiq.UnitPrice).Sum().As("Total")) .Where(oiq.ProductID .In( pq.Select(pq.ProductID).Where(oiq.ProductID == pq.ProductID).Distinct() ) ) .GroupBy(oiq.OrderID); OrderDetailsCollection coll = new OrderDetailsCollection(); if (coll.Load(oiq)) { } }
public static string Parse(string transId, string invoice, string POrderno, int responseCode, int responsereasonCode, string responsetext, int storeID, int portalID, string userName, int customerID, string sessionCode) { try { OrderDetailsCollection ot = new OrderDetailsCollection(); OrderDetailsInfo odinfo = new OrderDetailsInfo(); CartManageSQLProvider cms = new CartManageSQLProvider(); CommonInfo cf = new CommonInfo(); cf.StoreID = storeID; cf.PortalID = portalID; cf.AddedBy = userName; // UpdateOrderDetails AspxOrderDetails objad = new AspxOrderDetails(); SQLHandler sqlH = new SQLHandler(); odinfo.OrderID = int.Parse(HttpContext.Current.Session["OrderID"].ToString()); odinfo.TransactionID = odinfo.ResponseCode.ToString(transId); odinfo.InvoiceNumber = Convert.ToString(invoice); odinfo.PurchaseOrderNumber = Convert.ToString(POrderno); odinfo.ResponseCode = Convert.ToInt32(responseCode); odinfo.ResponseReasonCode = Convert.ToInt32(responsereasonCode); odinfo.ResponseReasonText = Convert.ToString(responsetext); ot.ObjOrderDetails = odinfo; ot.ObjCommonInfo = cf; odinfo.OrderStatusID = 8; objad.UpdateOrderDetails(ot); if (HttpContext.Current.Session["OrderCollection"] != null) { OrderDetailsCollection orderdata2 = new OrderDetailsCollection(); orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; objad.UpdateItemQuantity(orderdata2); } HttpContext.Current.Session.Remove("OrderID"); // cms.ClearCartAfterPayment(customerID, sessionCode, storeID, portalID); return("This transaction has been approved"); } catch (Exception ex) { throw ex; } }
static private void CaseWhenThenEnd() { OrderDetailsQuery oq = new OrderDetailsQuery(); oq.Select ( oq.Quantity, oq.UnitPrice, oq.UnitPrice .Case() .When(oq.Quantity < 50).Then(oq.UnitPrice) .When(oq.Quantity >= 50 && oq.Quantity < 70).Then(oq.UnitPrice * .90) .When(oq.Quantity >= 70 && oq.Quantity < 99).Then(oq.UnitPrice * .80) .Else(oq.UnitPrice * .70) .End().As("Adjusted Unit Price") ).OrderBy(oq.Quantity.Descending); OrderDetailsCollection coll = new OrderDetailsCollection(); if (coll.Load(oq)) { } }
public static string ParseForMobile(string transId, OrderInfo orderInfo, string POrderno, int responseCode, int responsereasonCode, string responsetext) { try { var ot = new OrderDetailsCollection(); var odinfo = new OrderDetailsInfo(); var cms = new CartManageSQLProvider(); var cf = new CommonInfo { StoreID = orderInfo.StoreId, PortalID = orderInfo.PortalId, AddedBy = orderInfo.AddedBy }; // UpdateOrderDetails var objad = new AspxOrderDetails(); odinfo.OrderID = orderInfo.OrderId; odinfo.TransactionID = odinfo.ResponseCode.ToString(transId); odinfo.InvoiceNumber = orderInfo.InvoiceNumber; odinfo.PurchaseOrderNumber = Convert.ToString(POrderno); odinfo.ResponseCode = Convert.ToInt32(responseCode); odinfo.ResponseReasonCode = Convert.ToInt32(responsereasonCode); odinfo.ResponseReasonText = Convert.ToString(responsetext); ot.ObjOrderDetails = odinfo; ot.ObjCommonInfo = cf; odinfo.OrderStatusID = 8; objad.UpdateOrderDetails(ot); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.CustomerID = orderInfo.CustomerId; aspxCommonObj.SessionCode = orderInfo.SessionCode; aspxCommonObj.StoreID = orderInfo.StoreId; aspxCommonObj.PortalID = orderInfo.PortalId; cms.ClearCartAfterPayment(aspxCommonObj); return("This transaction has been approved"); } catch (Exception ex) { throw ex; } }
public static string Parse(string transId, string invoice, string POrderno, int responseCode, int responsereasonCode, string responsetext, AspxCommonInfo aspxCommonObj) { try { var ot = new OrderDetailsCollection(); var odinfo = new OrderDetailsInfo(); var cms = new CartManageSQLProvider(); var cf = new CommonInfo { StoreID = aspxCommonObj.StoreID, PortalID = aspxCommonObj.PortalID, AddedBy = aspxCommonObj.UserName }; // UpdateOrderDetails var objad = new AspxOrderDetails(); odinfo.OrderID = int.Parse(HttpContext.Current.Session["OrderID"].ToString()); odinfo.TransactionID = odinfo.ResponseCode.ToString(transId); odinfo.InvoiceNumber = Convert.ToString(invoice); odinfo.PurchaseOrderNumber = Convert.ToString(POrderno); odinfo.ResponseCode = Convert.ToInt32(responseCode); odinfo.ResponseReasonCode = Convert.ToInt32(responsereasonCode); odinfo.ResponseReasonText = Convert.ToString(responsetext); ot.ObjOrderDetails = odinfo; ot.ObjCommonInfo = cf; odinfo.OrderStatusID = 8; objad.UpdateOrderDetails(ot); if (HttpContext.Current.Session["OrderCollection"] != null) { var orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; objad.UpdateItemQuantity(orderdata2); } HttpContext.Current.Session.Remove("OrderID"); cms.ClearCartAfterPayment(aspxCommonObj); return("This transaction has been approved"); } catch (Exception ex) { throw 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, false, aspxCommonObj); if (orderdata.GiftCardDetail != null && HttpContext.Current.Session["UsedGiftCard"] != null) { //updating giftcard used in chekout AspxGiftCardController.UpdateGiftCardUsage(orderdata.GiftCardDetail, orderdata.ObjCommonInfo.StoreID, orderdata.ObjCommonInfo.PortalID, orderdata.ObjOrderDetails.OrderID, orderdata.ObjCommonInfo.AddedBy, orderdata.ObjCommonInfo.CultureName); HttpContext.Current.Session.Remove("UsedGiftCard"); } 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); } } }
public static PayPalHandler ParseAfterIPN(string postData, int storeID, int portalID, string userName, int customerID, string sessionCode, string TemplateName, string addressPath) { String sKey, sValue; PayPalHandler ph = new PayPalHandler(); string transID = string.Empty; try { String[] StringArray = postData.Split('\n'); /* * loop is set to start at 1 rather than 0 because first * string in array will be single word SUCCESS or FAIL * Only used to verify post data */ OrderDetailsCollection ot = new OrderDetailsCollection(); OrderDetailsInfo odinfo = new OrderDetailsInfo(); CartManageSQLProvider cms = new CartManageSQLProvider(); CommonInfo cf = new CommonInfo(); cf.StoreID = storeID; cf.PortalID = portalID; cf.AddedBy = userName; AspxOrderDetails objad = new AspxOrderDetails(); SQLHandler sqlH = new SQLHandler(); odinfo.OrderID = int.Parse(HttpContext.Current.Session["OrderID"].ToString()); int i; for (i = 1; i < StringArray.Length - 1; i++) { String[] StringArray1 = StringArray[i].Split('='); sKey = StringArray1[0]; sValue = HttpUtility.UrlDecode(StringArray1[1]); switch (sKey) { case "payment_status": odinfo.ResponseReasonText = Convert.ToString(sValue); break; case "mc_fee": break; case "payer_email": break; case "Tx Token": break; case "txn_id": odinfo.TransactionID = Convert.ToString(sValue); transID = Convert.ToString(sValue); break; } } ot.ObjOrderDetails = odinfo; ot.ObjCommonInfo = cf; HttpContext.Current.Session.Remove("OrderID"); HttpContext.Current.Session.Remove("OrderCollection"); return(ph); } catch (Exception ex) { throw ex; } }
public void LoadSetting() { PayPalWCFService pw = new PayPalWCFService(); List <PayPalSettingInfo> sf; OrderDetailsCollection orderdata2 = new OrderDetailsCollection(); orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; string postURL = string.Empty; try { sf = pw.GetAllPayPalSetting(int.Parse(Session["GateWay"].ToString()), storeID, portalID); if (bool.Parse(sf[0].IsTestPaypal.ToString())) { 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 = Session["OrderID"].ToString() + "#" + storeID + "#" + portalID + "#" + userName + "#" + customerID + "#" + sessionCode + "#" + Session["IsTestPayPal"].ToString() + "#" + Session["GateWay"].ToString(); StringBuilder url = new StringBuilder(); url.Append(postURL + "?cmd=_cart&business=" + HttpUtility.UrlEncode(sf[0].BusinessAccount.ToString())); List <CartInfoforPaypal> cd; cd = pw.GetCartDetails(storeID, portalID, customerID, userName, GetCurrentCultureName, sessionCode); int nCount = 1; foreach (CartInfoforPaypal oItem in cd) { url.AppendFormat("&item_name_" + nCount.ToString() + "={0}", HttpUtility.UrlEncode(oItem.ItemName.ToString())); url.AppendFormat("&amount_" + nCount.ToString() + "={0}", HttpUtility.UrlEncode(oItem.Price.ToString())); url.AppendFormat("&quantity_" + nCount.ToString() + "={0}", HttpUtility.UrlEncode(oItem.Quantity.ToString())); nCount++; } nCount--; url.AppendFormat("&num_cart_items={0}", HttpUtility.UrlEncode(nCount.ToString())); url.AppendFormat("&discount_amount_cart={0}", HttpUtility.UrlEncode(Session["DiscountAll"].ToString())); url.AppendFormat("&tax_cart={0}", HttpUtility.UrlEncode(Session["TaxAll"].ToString())); url.AppendFormat("&no_shipping={0}", HttpUtility.UrlEncode("1")); url.AppendFormat("&shipping_1={0}", HttpUtility.UrlEncode(Session["ShippingCostAll"].ToString())); if (sf[0].ReturnUrl.ToString() != null && sf[0].ReturnUrl.ToString() != "") { url.AppendFormat("&return={0}", HttpUtility.UrlEncode(sf[0].ReturnUrl.ToString())); } if (sf[0].VerificationUrl != null && sf[0].VerificationUrl != "") { url.AppendFormat("¬ify_url={0}", HttpUtility.UrlEncode(sf[0].VerificationUrl)); } if (sf[0].CancelUrl != null && 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)); Response.Redirect(url.ToString(), false); } 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(int.Parse(Session["GateWay"].ToString()), storeID, portalID); double amountTotal = double.Parse(Session["GrandTotalAll"].ToString()) * rate; decimal grandTotal = decimal.Parse(amountTotal.ToString(CultureInfo.InvariantCulture)); decimal totalTaxableAmount = 0; decimal subtotalAmount = 0; decimal taxSubTotal = 0; decimal shipping = Convert.ToDecimal(Convert.ToDouble(Session["ShippingCostAll"].ToString()) * rate); 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--; //Send Discount Amount 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); } //Send Coupon Amount 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); } //Send Reward Discount Amount 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); } //tax 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); //Shipping Cost string shippingMethod; if (HttpContext.Current.Session["ShippingMethodName"] != null) { shippingMethod = HttpContext.Current.Session["ShippingMethodName"].ToString(); } else { shippingMethod = "Default Shipping"; } //shippingMethod = "Default Shipping"; //decimal shippingcost = Convert.ToDecimal(Convert.ToDouble(Session["ShippingCostAll"].ToString()) * rate); gCartRequest.AddFlatRateShippingMethod(shippingMethod, shippingCost); //Create extra data to pass 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 = (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 = Session["GateWay"].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); //Get response GCheckoutResponse response = gCartRequest.Send(); // Post the request for Google checkout 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--; //Send Discount Amount 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); } //Send Coupon Amount 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); } //Send Reward Discount Amount 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); } //tax 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); //Shipping Cost string shippingMethod; if (HttpContext.Current.Session["ShippingMethodName"] != null) { shippingMethod = HttpContext.Current.Session["ShippingMethodName"].ToString(); } else { shippingMethod = "Default Shipping"; } //shippingMethod = "Default Shipping"; //decimal shippingcost = Convert.ToDecimal(Convert.ToDouble(Session["ShippingCostAll"].ToString()) * rate); gCartRequest.AddFlatRateShippingMethod(shippingMethod, shippingCost); //Create extra data to pass 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 = (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 = Session["GateWay"].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); //Get response GCheckoutResponse response = gCartRequest.Send(); // Post the request for Google checkout 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); } }
public void ParseAfterIPNMobile(OrderInfo orderInfo, string couponUsage, List <OrderItem> itemsInfo, string postData, UserAddressInfo billingAddress, UserAddressInfo shippingAddress, string templateName, string addressPath) { string transId = string.Empty; try { String[] stringArray = postData.Split('\n'); var ot = new OrderDetailsCollection(); var odinfo = new OrderDetailsInfo(); var cms = new CartManageSQLProvider(); var cf = new CommonInfo { StoreID = orderInfo.StoreId, PortalID = orderInfo.PortalId, AddedBy = orderInfo.AddedBy }; // UpdateOrderDetails var objad = new AspxOrderDetails(); var sqlH = new SQLHandler(); // use split to split array we already have using "=" as delimiter int i; for (i = 1; i < stringArray.Length - 1; i++) { String[] stringArray1 = stringArray[i].Split('='); String sKey = stringArray1[0]; String sValue = HttpUtility.UrlDecode(stringArray1[1]); // set string vars to hold variable names using a switch switch (sKey) { case "payment_status": odinfo.ResponseReasonText = Convert.ToString(sValue); break; case "mc_fee": // ph.PaymentFee = Convert.ToDouble(sValue); break; case "payer_email": // ph.PayerEmail = Convert.ToString(sValue); break; case "Tx Token": // ph.TxToken = Convert.ToString(sValue); break; case "txn_id": odinfo.TransactionID = Convert.ToString(sValue); transId = Convert.ToString(sValue); break; } } ot.ObjCommonInfo = cf; //odinfo.OrderStatusID = 8; var orderInfo = (OrderInfo) HttpContext.Current.Session["OrderCollection"]; UpdateItemQuantityAndCoupon(orderInfo, itemsInfo, couponUsage, orderInfo.StoreId, orderInfo.PortalId, orderInfo.AddedBy); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.CustomerID = orderInfo.CustomerId; aspxCommonObj.SessionCode = orderInfo.SessionCode; aspxCommonObj.StoreID = orderInfo.StoreId; aspxCommonObj.PortalID = orderInfo.PortalId; cms.ClearCartAfterPayment(aspxCommonObj); EmailTemplate.SendEmailForOrderMobile(orderInfo, billingAddress, shippingAddress, addressPath, templateName, transId); } catch (Exception ex) { throw ex; } }
public string SendPaymentInfoAIM(OrderDetailsCollection OrderDetail, string TemplateName, string addressPath) { WebClient objRequest = new WebClient(); System.Collections.Specialized.NameValueCollection 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", OrderDetail.ObjOrderDetails.DelimData); objInf.Add("x_login", OrderDetail.ObjOrderDetails.APILogin); objInf.Add("x_tran_key", OrderDetail.ObjOrderDetails.TransactionKey); objInf.Add("x_relay_response", OrderDetail.ObjOrderDetails.RelayResponse); objInf.Add("x_delim_char", OrderDetail.ObjOrderDetails.DelimChar); objInf.Add("x_encap_char", OrderDetail.ObjOrderDetails.EncapeChar); objInf.Add("x_invoice_num", OrderDetail.ObjOrderDetails.InvoiceNumber); objInf.Add("x_cust_id", OrderDetail.ObjOrderDetails.CustomerID.ToString()); objInf.Add("x_po_num", OrderDetail.ObjOrderDetails.PurchaseOrderNumber); //for (int i = 0; i < arr; i++) //{ //} // 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); if (OrderDetail.ObjPaymentInfo.PaymentMethodCode == "CC") { // Authorization code of the card (CCV) objInf.Add("x_card_code", OrderDetail.ObjPaymentInfo.CardCode.ToString()); objInf.Add("x_method", OrderDetail.ObjPaymentInfo.PaymentMethodCode); objInf.Add("x_type", OrderDetail.ObjPaymentInfo.TransactionType); 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); objInf.Add("x_test_request", OrderDetail.ObjOrderDetails.IsTest); } else { //bank objInf.Add("x_bank_aba_code", OrderDetail.ObjPaymentInfo.RoutingNumber); objInf.Add("x_bank_acct_num", OrderDetail.ObjPaymentInfo.AccountNumber); objInf.Add("x_bank_acct_type", OrderDetail.ObjPaymentInfo.AccountType); objInf.Add("x_bank_name", OrderDetail.ObjPaymentInfo.BankName); objInf.Add("x_bank_acct_name", OrderDetail.ObjPaymentInfo.AccountHolderName); objInf.Add("x_echeck_type", OrderDetail.ObjPaymentInfo.ChequeType); objInf.Add("x_bank_check_number", OrderDetail.ObjPaymentInfo.ChequeNumber); } // Currency setting. Check the guide for other supported currencies objInf.Add("x_currency_code", OrderDetail.ObjOrderDetails.CurrencyCode); objRequest.BaseAddress = "https://test.authorize.net/gateway/transact.dll"; try { // POST request byte[] objRetBytes; string[] objRetVals; objRetBytes = objRequest.UploadValues(objRequest.BaseAddress, "POST", objInf); 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."; // AspxCommerceWebService asws = new AspxCommerceWebService(); AspxCoreController asws = new AspxCoreController(); OrderDetail.ObjOrderDetails.OrderStatusID = 8; OrderDetail.ObjOrderDetails.TransactionID = Convert.ToString(objRetVals[6].Trim(char.Parse("|"))); asws.AddOrderDetails(OrderDetail); CartManageSQLProvider cms = new CartManageSQLProvider(); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.CustomerID = OrderDetail.ObjOrderDetails.CustomerID; aspxCommonObj.SessionCode = OrderDetail.ObjOrderDetails.SessionCode; aspxCommonObj.StoreID = OrderDetail.ObjCommonInfo.StoreID; aspxCommonObj.PortalID = OrderDetail.ObjCommonInfo.PortalID; cms.ClearCartAfterPayment(aspxCommonObj); } 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; } } } } catch (Exception ex) { strError = ex.Message; } OrderDetail.ObjOrderDetails.ResponseReasonText = strError; return(OrderDetail.ObjOrderDetails.ResponseReasonText); }
protected void SendConfrimMessage() { try { if (Session["OrderID"] != null) { string transID = string.Empty; // transaction ID from Relay Response int responseCode = 1; // response code, defaulted to Invalid string responsereasontext = string.Empty; responsereasontext = "Transaction occured Successfully"; int responsereasonCode = 1; string purchaseorderNo = string.Empty; string invoice = string.Empty; string paymentmethod = string.Empty; OrderDetailsCollection orderdata2 = new OrderDetailsCollection(); if (HttpContext.Current.Session["OrderCollection"] != null) { orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; } invoice = orderdata2.ObjOrderDetails.InvoiceNumber.ToString(); Random random = new Random(); purchaseorderNo = (random.Next(0, 1000)).ToString(); string timeStamp = ((int)(DateTime.UtcNow - new DateTime(2011, 1, 1)).TotalSeconds).ToString(); transID = (random.Next(99999, 111111)).ToString(); lblTransaction.Text = transID; lblInvoice.Text = invoice; lblPaymentMethod.Text = "Cash On Delivery"; lblDateTime.Text = DateTime.Now.ToString("dddd, dd MMMM yyyy "); int storeID = int.Parse(GetStoreID.ToString()); int portalID = int.Parse(GetPortalID.ToString()); string userName = GetUsername.ToString(); int customerID = int.Parse(GetCustomerID.ToString()); string sessionCode = HttpContext.Current.Session.SessionID.ToString(); string result = CashOnDelivery.Parse(transID, invoice, purchaseorderNo, responseCode, responsereasonCode, responsereasontext, storeID, portalID, userName, customerID, sessionCode); lblerror.Text = result.ToString(); lblerror.Text = GetSageMessage("Payment", "PaymentProcessed"); TransactionLogInfo tinfo = new TransactionLogInfo(); TransactionLog Tlog = new TransactionLog(); tinfo.TransactionID = transID; tinfo.AuthCode = ""; tinfo.TotalAmount = decimal.Parse(orderdata2.ObjOrderDetails.GrandTotal.ToString()); 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 = ""; Tlog.SaveTransactionLog(tinfo); AspxCommerceWebService clSes = new AspxCommerceWebService(); if (Session["IsFreeShipping"] != null) { HttpContext.Current.Session.Remove("IsFreeShipping"); } if (Session["DiscountAmount"] != null) { HttpContext.Current.Session.Remove("DiscountAmount"); } if (Session["CouponCode"] != null) { HttpContext.Current.Session.Remove("CouponCode"); } if (Session["CouponApplied"] != null) { HttpContext.Current.Session.Remove("CouponApplied"); } if (Session["DiscountAll"] != null) { HttpContext.Current.Session.Remove("DiscountAll"); } if (Session["TaxAll"] != null) { HttpContext.Current.Session.Remove("TaxAll"); } if (Session["ShippingCostAll"] != null) { HttpContext.Current.Session.Remove("ShippingCostAll"); } if (Session["GrandTotalAll"] != null) { HttpContext.Current.Session.Remove("GrandTotalAll"); } if (Session["Gateway"] != null) { HttpContext.Current.Session.Remove("Gateway"); } //invoice transID if (Session["OrderCollection"] != null) { OrderDetailsCollection orderdata = new OrderDetailsCollection(); orderdata = (OrderDetailsCollection)Session["OrderCollection"]; try { EmailTemplate.SendEmailForOrder(GetPortalID, orderdata, addressPath, TemplateName, transID); } catch { lblerror.Text = ""; lblerror.Text = GetSageMessage("Payment", "EmailSendOrderProblem"); } clSes.ClearSessionVariable("OrderCollection"); } } else { Response.Redirect(sageRedirectPath, false); } } catch (Exception ex) { ProcessException(ex); } }
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) { //updating giftcard used in chekout AspxGiftCardController.UpdateGiftCardUsage(orderdata.GiftCardDetail, orderdata.ObjCommonInfo.StoreID, orderdata.ObjCommonInfo.PortalID, orderdata.ObjOrderDetails.OrderID, orderdata.ObjCommonInfo.AddedBy, orderdata.ObjCommonInfo.CultureName); HttpContext.Current.Session.Remove("UsedGiftCard"); } } // authToken = "QMtOC54_YHYUkoggkMZ81ivNWSxPXduIqS5oMynafeUGRL1Rv5OTtUd4rvq"; //read in txn token from querystring _txToken = Request.QueryString.Get("tx"); _query = string.Format("cmd=_notify-synch&tx={0}&at={1}", _txToken, _authToken); // Create the request back // string url = "https://www.sandbox.paypal.com/cgi-bin/webscr"; 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); // Set values for the request back req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = _query.Length; // Write the request back IPN strings var stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(_query); stOut.Close(); // Do the request to PayPal and get the response var stIn = new StreamReader(req.GetResponse().GetResponseStream()); _strResponse = stIn.ReadToEnd(); stIn.Close(); // If response was SUCCESS, parse response string and output details if (_strResponse.StartsWith("SUCCESS")) { string sessionCode = HttpContext.Current.Session.SessionID; //for localhost // PayPalHandler pdt = PayPalHandler.Parse(strResponse, storeID, portalID, userName, customerID, sessionCode); //for live site try { var paypalHandler = new PayPalHandler(); var aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.StoreID = storeID; aspxCommonObj.PortalID = portalID; aspxCommonObj.UserName = userName; aspxCommonObj.CustomerID = customerID; aspxCommonObj.SessionCode = sessionCode; paypalHandler.ParseAfterIPN(_strResponse, aspxCommonObj, TemplateName, _addressPath); AspxGiftCardController.IssueGiftCard(orderdata.LstOrderItemsInfo, false, aspxCommonObj); 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"); } } catch (Exception) { lblerror.Text = GetSageMessage("Payment", "PaymentParsingIPNError"); } var clSes = new AspxCommerceWebService(); 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]); // set string vars to hold variable names using a switch 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"); } if (Session["IsFreeShipping"] != null) { HttpContext.Current.Session.Remove("IsFreeShipping"); } if (Session["OrderID"] != null) { HttpContext.Current.Session.Remove("OrderID"); } if (Session["DiscountAmount"] != null) { HttpContext.Current.Session.Remove("DiscountAmount"); } if (Session["IsCouponInPercent"] != null) { HttpContext.Current.Session.Remove("IsCouponInPercent"); } if (Session["CouponPercentValue"] != null) { HttpContext.Current.Session.Remove("CouponPercentValue"); } if (Session["CouponSessionPercentAmount"] != null) { HttpContext.Current.Session.Remove("CouponSessionPercentAmount"); } if (Session["CouponSessionAmount"] != null) { HttpContext.Current.Session.Remove("CouponSessionAmount"); } if (Session["CouponCode"] != null) { HttpContext.Current.Session.Remove("CouponCode"); } if (Session["CouponApplied"] != null) { HttpContext.Current.Session.Remove("CouponApplied"); } Session.Remove("IsTestPayPal"); if (Session["DiscountAll"] != null) { HttpContext.Current.Session.Remove("DiscountAll"); } if (Session["TaxAll"] != null) { HttpContext.Current.Session.Remove("TaxAll"); } if (Session["ShippingCostAll"] != null) { HttpContext.Current.Session.Remove("ShippingCostAll"); } if (Session["GrandTotalAll"] != null) { HttpContext.Current.Session.Remove("GrandTotalAll"); } if (Session["Gateway"] != null) { HttpContext.Current.Session.Remove("Gateway"); } } else { lblerror.Text = GetSageMessage("Payment", "PaymentError"); } } else { Response.Redirect(sageRedirectPath, false); } }
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); } }
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); }
protected void SendConfrimMessage() { AspxCommerce.ServiceItem.BookAnAppointmentInfo appointmentInfo = new AspxCommerce.ServiceItem.BookAnAppointmentInfo(); 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"]; } string invoice = orderdata.ObjOrderDetails.InvoiceNumber; lblInvoice.Text = invoice; var random = new Random(); string transID = (random.Next(99999, 111111)).ToString(); lblTransaction.Text = transID.Trim(); if (Session["PaymentMethodName"] != null) { if (HttpContext.Current.Session["PaymentMethodName"].ToString() == "paypal") { var pw = new PayPalWCFService(); int j = orderdata.ObjOrderDetails.PaymentGatewayTypeID; List <PayPalSettingInfo> setting = pw.GetAllPayPalSetting(j, storeID, portalID); _authToken = setting[0].AuthToken; _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 { PayPalHandler pdtt = ParseAfterIPN(_strResponse, storeID, portalID, userName, customerID, sessionCode, TemplateName, _addressPath); } 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; } } lblTransaction.Text = _transID.Trim(); //lblInvoice.Text = _invoice; lblPaymentMethod.Text = "Paypal"; if (status.ToLower().Trim() == "completed") { lblerror.Text = GetSageMessage("Payment", "PaymentProcessed"); } else if (status.ToLower().Trim() == "pending") { lblerror.Text = GetSageMessage("Payment", "PaymentPending"); } } else { lblerror.Text = GetSageMessage("Payment", "PaymentError"); } } else if (HttpContext.Current.Session["PaymentMethodName"].ToString().ToLower() == "cashondelivery") { const int responseCode = 1; const string responsereasontext = "Transaction occured successfully"; const int responsereasonCode = 1; string purchaseorderNo = (random.Next(0, 1000)).ToString(); string sessionCode = HttpContext.Current.Session.SessionID; string result = Parse(transID, invoice, purchaseorderNo, responseCode, responsereasonCode, responsereasontext, storeID, portalID, userName, customerID, sessionCode); lblerror.Text = result; lblerror.Text = GetSageMessage("Payment", "PaymentProcessed"); var tinfo = new TransactionLogInfo(); var tlog = new TransactionLog(); } } else { Response.Redirect(_sageRedirectPath, false); } if (HttpContext.Current.Session["AppointmentCollection"] != null) { appointmentInfo = (AspxCommerce.ServiceItem.BookAnAppointmentInfo)HttpContext.Current.Session["AppointmentCollection"]; } lblServiceName.Text = appointmentInfo.ServiceCategoryName.Trim(); lblServiceProduct.Text = appointmentInfo.ServiceProductName; lblServiceDuration.Text = appointmentInfo.ServiceDuration; lblStoreLocation.Text = appointmentInfo.StoreLocationName; lblServiceProviderName.Text = appointmentInfo.EmployeeName; lblProductPrice.Text = appointmentInfo.ServiceProductPrice.Trim(); lblPaymentMethod.Text = appointmentInfo.PaymentMethodName; lblDate.Text = appointmentInfo.PreferredDate.ToString("MM/dd/yyyy"); lblTime.Text = appointmentInfo.PreferredTimeInterval.Trim(); } }
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; if (Session["OrderID"] != null) { int storeID = int.Parse(GetStoreID.ToString()); int portalID = int.Parse(GetPortalID.ToString()); string userName = GetUsername.ToString(); int customerID = int.Parse(GetCustomerID.ToString()); OrderDetailsCollection orderdata = new OrderDetailsCollection(); List <PayPalSettingInfo> setting; if (HttpContext.Current.Session["OrderCollection"] != null) { orderdata = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; invoice = orderdata.ObjOrderDetails.InvoiceNumber.ToString(); PayPalWCFService pw = new PayPalWCFService(); int i = int.Parse(orderdata.ObjOrderDetails.PaymentGatewayTypeID.ToString()); setting = pw.GetAllPayPalSetting(i, storeID, portalID); authToken = setting[0].AuthToken.ToString(); } // authToken = "QMtOC54_YHYUkoggkMZ81ivNWSxPXduIqS5oMynafeUGRL1Rv5OTtUd4rvq"; //read in txn token from querystring txToken = Request.QueryString.Get("tx"); query = string.Format("cmd=_notify-synch&tx={0}&at={1}", txToken, authToken); // Create the request back // string url = "https://www.sandbox.paypal.com/cgi-bin/webscr"; string strSandbox = "https://www.sandbox.paypal.com/cgi-bin/webscr"; string strLive = "https://www.paypal.com/cgi-bin/webscr"; string test = string.Empty; if (Session["IsTestPayPal"] != null) { if (bool.Parse(Session["IsTestPayPal"].ToString())) { test = strSandbox; } else { test = strLive; } } HttpWebRequest req = (HttpWebRequest)WebRequest.Create(test); // Set values for the request back req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = query.Length; // Write the request back IPN strings StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(query); stOut.Close(); // Do the request to PayPal and get the response StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); stIn.Close(); // If response was SUCCESS, parse response string and output details if (strResponse.StartsWith("SUCCESS")) { string sessionCode = HttpContext.Current.Session.SessionID.ToString(); //for localhost // PayPalHandler pdt = PayPalHandler.Parse(strResponse, storeID, portalID, userName, customerID, sessionCode); //for live site try { PayPalHandler pdtt = PayPalHandler.ParseAfterIPN(strResponse, storeID, portalID, userName, customerID, sessionCode, TemplateName, addressPath); } catch (Exception) { lblerror.Text = GetSageMessage("Payment", "PaymentParsingIPNError"); } AspxCommerceWebService clSes = new AspxCommerceWebService(); String sKey, sValue; String[] StringArray = strResponse.Split('\n'); int i; string status = string.Empty; for (i = 1; i < StringArray.Length - 1; i++) { String[] StringArray1 = StringArray[i].Split('='); sKey = StringArray1[0]; sValue = HttpUtility.UrlDecode(StringArray1[1]); // set string vars to hold variable names using a switch switch (sKey) { case "txn_id": transID = Convert.ToString(sValue); break; case "payment_status": status = Convert.ToString(sValue); break; } } 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"); } if (Session["IsFreeShipping"] != null) { clSes.ClearSessionVariable("IsFreeShipping"); } if (Session["DiscountAmount"] != null) { clSes.ClearSessionVariable("DiscountAmount"); } if (Session["CouponCode"] != null) { clSes.ClearSessionVariable("CouponCode"); } if (Session["CouponApplied"] != null) { HttpContext.Current.Session.Remove("CouponApplied"); } Session.Remove("IsTestPayPal"); if (Session["DiscountAll"] != null) { HttpContext.Current.Session.Remove("DiscountAll"); } if (Session["TaxAll"] != null) { HttpContext.Current.Session.Remove("TaxAll"); } if (Session["ShippingCostAll"] != null) { HttpContext.Current.Session.Remove("ShippingCostAll"); } if (Session["GrandTotalAll"] != null) { HttpContext.Current.Session.Remove("GrandTotalAll"); } if (Session["Gateway"] != null) { HttpContext.Current.Session.Remove("Gateway"); } } else { lblerror.Text = GetSageMessage("Payment", "PaymentError"); } } else { Response.Redirect(sageRedirectPath, false); } } catch (Exception ex) { 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 ParseAfterIPN(string postData, AspxCommonInfo aspxCommonObj, string templateName, string addressPath) { var ph = new PayPalHandler(); string transId = string.Empty; string orderStatus = string.Empty; try { //split response into string array using whitespace delimeter String[] stringArray = postData.Split('\n'); // NOTE: /* * loop is set to start at 1 rather than 0 because first * string in array will be single word SUCCESS or FAIL * Only used to verify post data */ var ot = new OrderDetailsCollection(); var odinfo = new OrderDetailsInfo(); var cms = new CartManageSQLProvider(); var cf = new CommonInfo { StoreID = aspxCommonObj.StoreID, PortalID = aspxCommonObj.PortalID, AddedBy = aspxCommonObj.UserName }; // UpdateOrderDetails var objad = new AspxOrderDetails(); var sqlH = new SQLHandler(); // use split to split array we already have using "=" as delimiter int i; for (i = 1; i < stringArray.Length - 1; i++) { String[] stringArray1 = stringArray[i].Split('='); String sKey = stringArray1[0]; String sValue = HttpUtility.UrlDecode(stringArray1[1]); // set string vars to hold variable names using a switch switch (sKey) { case "payment_status": odinfo.ResponseReasonText = Convert.ToString(sValue); orderStatus = Convert.ToString(sValue); break; case "mc_fee": // ph.PaymentFee = Convert.ToDouble(sValue); break; case "payer_email": // ph.PayerEmail = Convert.ToString(sValue); break; case "Tx Token": // ph.TxToken = Convert.ToString(sValue); break; case "txn_id": odinfo.TransactionID = Convert.ToString(sValue); transId = Convert.ToString(sValue); break; } } ot.ObjCommonInfo = cf; //odinfo.OrderStatusID = 8; //objad.UpdateOrderDetails(ot); if (odinfo.ResponseReasonText.ToLower().Trim() == "completed") { if (HttpContext.Current.Session["OrderCollection"] != null) { var orderdata2 = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; objad.UpdateItemQuantity(orderdata2); } } cms.ClearCartAfterPayment(aspxCommonObj); //invoice transID if (HttpContext.Current.Session["OrderCollection"] != null) { var orderdata = (OrderDetailsCollection)HttpContext.Current.Session["OrderCollection"]; orderdata.ObjOrderDetails.OrderStatus = orderStatus; EmailTemplate.SendEmailForOrder(aspxCommonObj.PortalID, orderdata, addressPath, templateName, transId); } HttpContext.Current.Session.Remove("OrderCollection"); } catch (Exception ex) { throw ex; } }
private static void HandleNewOrderNotification(GCheckout.AutoGen.NewOrderNotification inputNewOrderNotification) { try { if (inputNewOrderNotification.shoppingcart.merchantprivatedata != null && inputNewOrderNotification.shoppingcart.merchantprivatedata.Any != null && inputNewOrderNotification.shoppingcart.merchantprivatedata.Any.Length > 0) { //Retrieve data from MerchantPrivateData GCheckout.AutoGen.anyMultiple oneAnyMultiple = inputNewOrderNotification.shoppingcart.merchantprivatedata; System.Xml.XmlNode[] oneXmlNodeArray = oneAnyMultiple.Any; foreach (XmlNode xn in oneXmlNodeArray) { if (xn.Name == "OrderID") { orderID = Int32.Parse(xn.InnerText.ToString()); } if (xn.Name == "userName") { userName = xn.InnerText.ToString(); } if (xn.Name == "amount") { totalAmount = decimal.Parse(xn.InnerText.ToString()); } if (xn.Name == "selectedCurrency") { selectedCurrency = xn.InnerText.ToString(); } if (xn.Name == "portalID") { portalID = int.Parse(xn.InnerText.ToString()); } if (xn.Name == "customerID") { customerID = int.Parse(xn.InnerText.ToString()); } if (xn.Name == "itemIds") { itemIds = xn.InnerText.ToString(); } if (xn.Name == "storeID") { storeID = int.Parse(xn.InnerText.ToString()); } if (xn.Name == "couponCode") { couponCode = xn.InnerText.ToString(); } if (xn.Name == "sessionCode") { sessionCode = xn.InnerText.ToString(); } if (xn.Name == "pgID") { pgID = int.Parse(xn.InnerText.ToString()); } if (xn.Name == "MerchantID") { MerchantID = xn.InnerText.ToString(); } if (xn.Name == "MerchantKey") { MerchantID = xn.InnerText.ToString(); } } paymentStatus = GCNotificationStatus.Succeeded.ToString(); transID = inputNewOrderNotification.googleordernumber; if (paymentStatus == "Succeeded") { TransactionLogInfo tinfo = new TransactionLogInfo(); TransactionLog Tlog = new TransactionLog(); OrderDetailsCollection odc = new OrderDetailsCollection(); tinfo.ResponseReasonText = "Succeeded"; tinfo.OrderID = orderID; tinfo.StoreID = storeID; tinfo.PortalID = portalID; tinfo.AddedBy = userName; tinfo.CustomerID = customerID; tinfo.SessionCode = sessionCode; tinfo.PaymentGatewayID = pgID; tinfo.PaymentStatus = paymentStatus; tinfo.PayerEmail = ""; tinfo.CreditCard = ""; tinfo.TotalAmount = totalAmount; tinfo.TransactionID = transID; tinfo.RecieverEmail = ""; tinfo.CurrencyCode = selectedCurrency; Tlog.SaveTransactionLog(tinfo); GoogleCheckOutHandler.ParseIPN(orderID, transID, paymentStatus, storeID, portalID, userName, customerID, sessionCode); GoogleCheckOutHandler.UpdateItemQuantity(itemIds, couponCode, storeID, portalID, userName); CartManageSQLProvider cms = new CartManageSQLProvider(); AspxCommonInfo aspxCommonObj = new AspxCommonInfo(); aspxCommonObj.CustomerID = customerID; aspxCommonObj.SessionCode = sessionCode; aspxCommonObj.StoreID = storeID; aspxCommonObj.PortalID = portalID; aspxCommonObj.CultureName = null; aspxCommonObj.UserName = null; cms.ClearCartAfterPayment(aspxCommonObj); } } } catch (Exception ex) { throw ex; } // TODO: Process the MerchantPrivateData if provided foreach (GCheckout.AutoGen.Item oneItem in inputNewOrderNotification.shoppingcart.items) { // TODO: Get MerchantItemId from shopping cart item (oneItem.merchantitemid) and process it } // TODO: Add custom processing for this notification type }
protected void SendConfrimMessage(string redirectPat) { try { if (Session["OrderID"] != null) { const int responseCode = 1; // response code, defaulted to Invalid 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; string result = CashOnDelivery.Parse(transID, invoice, purchaseorderNo, responseCode, responsereasonCode, responsereasontext, aspxCommonObj); AspxGiftCardController.IssueGiftCard(orderdata2.LstOrderItemsInfo, false, aspxCommonObj); if (orderdata2.GiftCardDetail != null && HttpContext.Current.Session["UsedGiftCard"] != null) { AspxGiftCardController.UpdateGiftCardUsage(orderdata2.GiftCardDetail, orderdata2.ObjCommonInfo.StoreID, orderdata2.ObjCommonInfo.PortalID, orderdata2.ObjOrderDetails.OrderID, orderdata2.ObjCommonInfo.AddedBy, orderdata2.ObjCommonInfo.CultureName); HttpContext.Current.Session.Remove("UsedGiftCard"); } lblerror.Text = result; lblerror.Text = GetSageMessage("Payment", "PaymentProcessed"); var tinfo = new TransactionLogInfo(); var tlog = new TransactionLog(); tinfo.TransactionID = transID; tinfo.AuthCode = ""; // tinfo.TotalAmount = decimal.Parse(orderdata2.ObjOrderDetails.GrandTotal.ToString()); tinfo.TotalAmount = decimal.Parse(Session["GrandTotalAll"].ToString()) * 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); var clSes = new AspxCommerceWebService(); if (Session["IsFreeShipping"] != null) { HttpContext.Current.Session.Remove("IsFreeShipping"); } if (Session["DiscountAmount"] != null) { HttpContext.Current.Session.Remove("DiscountAmount"); } if (Session["CouponDiscountAmount"] != null) { HttpContext.Current.Session.Remove("CouponDiscountAmount"); } if (Session["IsCouponInPercent"] != null) { HttpContext.Current.Session.Remove("IsCouponInPercent"); } if (Session["CouponPercentValue"] != null) { HttpContext.Current.Session.Remove("CouponPercentValue"); } if (Session["CouponSessionPercentAmount"] != null) { HttpContext.Current.Session.Remove("CouponSessionPercentAmount"); } if (Session["CouponSessionAmount"] != null) { HttpContext.Current.Session.Remove("CouponSessionAmount"); } if (Session["CouponCode"] != null) { HttpContext.Current.Session.Remove("CouponCode"); } if (Session["CouponApplied"] != null) { HttpContext.Current.Session.Remove("CouponApplied"); } if (Session["DiscountAll"] != null) { HttpContext.Current.Session.Remove("DiscountAll"); } if (Session["TaxAll"] != null) { HttpContext.Current.Session.Remove("TaxAll"); } if (Session["ShippingCostAll"] != null) { HttpContext.Current.Session.Remove("ShippingCostAll"); } if (Session["GrandTotalAll"] != null) { HttpContext.Current.Session.Remove("GrandTotalAll"); } if (Session["Gateway"] != null) { HttpContext.Current.Session.Remove("Gateway"); } //invoice transID 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); } clSes.ClearSessionVariable("OrderCollection"); } } else { Response.Redirect(_sageRedirectPath, false); } } catch (Exception ex) { throw ex; } }