private void ProcessCheckout() { string OrderNumber = string.Empty; // ---------------------------------------------------------------- // Process The Order: // ---------------------------------------------------------------- if (string.IsNullOrEmpty(ThisCustomer.PaymentTermCode)) { Response.Redirect("checkoutpayment.aspx?errormsg=" + Server.UrlEncode(AppLogic.GetString("checkoutpayment.aspx.7", ThisCustomer.SkinID, ThisCustomer.LocaleSetting))); } else { string receiptCode = string.Empty; string status = string.Empty, multiorder = string.Empty; if (cart.HasMultipleShippingAddresses()) // Paypal will never hit this { var splittedCarts = cart.SplitIntoMultipleOrdersByDifferentShipToAddresses(); bool gatewayAuthFailed = false; for (int ctr = 0; ctr < splittedCarts.Count; ctr++) { var splitCart = splittedCarts[ctr]; splitCart.BuildSalesOrderDetails(); var shippingAddress = Address.Get(ThisCustomer, AddressTypes.Shipping, splitCart.FirstItem().m_ShippingAddressID); string processedSalesOrderCode = string.Empty; string processedReceiptCode = string.Empty; // NOTE: // 3DSecure using Sagepay Gateway is not supported on multiple shipping orders // We will revert to the regular IS gateway defined on the WebStore status = splitCart.PlaceOrder(null, ThisCustomer.PrimaryBillingAddress, shippingAddress, ref processedSalesOrderCode, ref processedReceiptCode, false, true, false); OrderNumber = processedSalesOrderCode; receiptCode = processedReceiptCode; if (status == AppLogic.ro_INTERPRISE_GATEWAY_AUTHORIZATION_FAILED) { gatewayAuthFailed = true; if (ctr == 0) { ThisCustomer.IncrementFailedTransactionCount(); if (ThisCustomer.FailedTransactionCount >= AppLogic.AppConfigUSInt("MaxFailedTransactionCount")) { cart.ClearTransaction(); ThisCustomer.ResetFailedTransactionCount(); Response.Redirect("orderfailed.aspx"); } ThisCustomer.ClearTransactions(false); if (AppLogic.AppConfigBool("Checkout.UseOnePageCheckout")) { Response.Redirect("checkout1.aspx?paymentterm=" + ThisCustomer.PaymentTermCode + "&errormsg=" + Server.UrlEncode(status)); } else { Response.Redirect("checkoutpayment.aspx?paymentterm=" + ThisCustomer.PaymentTermCode + "&errormsg=" + Server.UrlEncode(status)); } } } // NOTE : // Should handle cases when 1 or more orders failed the payment processor // if using a payment gateway on credit card multiorder = multiorder + "," + OrderNumber; } if (multiorder != string.Empty) { OrderNumber = multiorder.Remove(0, 1); } if (!gatewayAuthFailed) { cart.ClearTransaction(); } } else { var billingAddress = ThisCustomer.PrimaryBillingAddress; Address shippingAddress = null; //added for PayPal ADDRESSOVERRIDE if (IsPayPalCheckout && !AppLogic.AppConfigBool("PayPalCheckout.OverrideAddress")) { if (!cart.HasShippableComponents()) { shippingAddress = ThisCustomer.PrimaryShippingAddress; } else { pp = new PayPalExpress(); var GetPayPalDetails = pp.GetExpressCheckoutDetails(Request.QueryString["token"]).GetExpressCheckoutDetailsResponseDetails; shippingAddress = new Address() { Name = GetPayPalDetails.PayerInfo.Address.Name, Address1 = GetPayPalDetails.PayerInfo.Address.Street1 + (GetPayPalDetails.PayerInfo.Address.Street2 != String.Empty ? Environment.NewLine : String.Empty) + GetPayPalDetails.PayerInfo.Address.Street2, City = GetPayPalDetails.PayerInfo.Address.CityName, State = GetPayPalDetails.PayerInfo.Address.StateOrProvince, PostalCode = GetPayPalDetails.PayerInfo.Address.PostalCode, Country = AppLogic.ResolvePayPalAddressCode(GetPayPalDetails.PayerInfo.Address.CountryName.ToString()), CountryISOCode = AppLogic.ResolvePayPalAddressCode(GetPayPalDetails.PayerInfo.Address.Country.ToString()), Phone = GetPayPalDetails.PayerInfo.ContactPhone }; } } else { // Handle the scenario wherein the items in the cart // does not ship to the customer's primary shipping address if (cart.OnlyShippingAddressIsNotCustomerDefault()) { shippingAddress = Address.Get(ThisCustomer, AddressTypes.Shipping, cart.FirstItem().m_ShippingAddressID); } else { shippingAddress = ThisCustomer.PrimaryShippingAddress; } } if (!cart.IsSalesOrderDetailBuilt) { cart.BuildSalesOrderDetails(); } Gateway gatewayToUse = null; try { if (IsPayPalCheckout) { //Insert PayPal call here for response - For authorize and capture of order from paypal inside IS pp = new PayPalExpress(); var PayPalDetails = pp.GetExpressCheckoutDetails(Request.QueryString["token"]).GetExpressCheckoutDetailsResponseDetails; var doExpressCheckoutResp = pp.DoExpressCheckoutPayment(PayPalDetails.Token, PayPalDetails.PayerInfo.PayerID, OrderNumber, cart); var payPalResp = new GatewayResponse(string.Empty) { AuthorizationCode = doExpressCheckoutResp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].TransactionID, TransactionResponse = doExpressCheckoutResp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].PaymentStatus.ToString(), Details = doExpressCheckoutResp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].PaymentStatus.ToString(), AuthorizationTransID = doExpressCheckoutResp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].TransactionID }; status = cart.PlaceOrder(gatewayToUse, billingAddress, shippingAddress, ref OrderNumber, ref receiptCode, true, true, payPalResp, IsPayPalCheckout, false); } else { status = cart.PlaceOrder(gatewayToUse, billingAddress, shippingAddress, ref OrderNumber, ref receiptCode, true, true, null, !IsPayPalCheckout, false); } } catch (Exception ex) { if (ex.Message == "Unable to instantiate Default Credit Card Gateway") { cart.ClearLineItems(); Response.Redirect("pageError.aspx?Parameter=" + "An Error Occured while Authorizing your Credit Card, However your order has been Placed."); } Response.Redirect("pageError.aspx?Parameter=" + Server.UrlEncode(ex.Message)); } if (status == AppLogic.ro_3DSecure) { // If credit card is enrolled in a 3D Secure service (Verified by Visa, etc.) Response.Redirect("secureform.aspx"); } if (status != AppLogic.ro_OK) { ThisCustomer.IncrementFailedTransactionCount(); if (ThisCustomer.FailedTransactionCount >= AppLogic.AppConfigUSInt("MaxFailedTransactionCount")) { cart.ClearTransaction(); ThisCustomer.ResetFailedTransactionCount(); Response.Redirect("orderfailed.aspx"); } ThisCustomer.ClearTransactions(false); if (AppLogic.AppConfigBool("Checkout.UseOnePageCheckout")) { Response.Redirect("checkout1.aspx?paymentterm=" + ThisCustomer.PaymentTermCode + "&errormsg=" + Server.UrlEncode(status)); } else { Response.Redirect("checkoutpayment.aspx?paymentterm=" + ThisCustomer.PaymentTermCode + "&errormsg=" + Server.UrlEncode(status)); } } } } AppLogic.ClearCardNumberInSession(ThisCustomer); ThisCustomer.ClearTransactions(true); if (!_PayPalFailed) { Response.Redirect(string.Format("orderconfirmation.aspx?ordernumber={0}", Server.UrlEncode(OrderNumber))); } }
public void ProcessRequest(HttpContext context) { var ThisCustomer = ((InterpriseSuiteEcommercePrincipal)context.User).ThisCustomer; var m_PayPalExpress = new PayPalExpress(); //Get PayPal info var PayPalDetails = m_PayPalExpress.GetExpressCheckoutDetails(context.Request.QueryString["token"]).GetExpressCheckoutDetailsResponseDetails; var paypalShippingAddress = Address.New(ThisCustomer, AddressTypes.Shipping); if (PayPalDetails.PayerInfo.Address.Name.IsNullOrEmptyTrimmed() && (PayPalDetails.PayerInfo.Address.Street1.IsNullOrEmptyTrimmed() || PayPalDetails.PayerInfo.Address.Street2.IsNullOrEmptyTrimmed()) && PayPalDetails.PayerInfo.Address.CityName.IsNullOrEmptyTrimmed() && PayPalDetails.PayerInfo.Address.StateOrProvince.IsNullOrEmptyTrimmed() && PayPalDetails.PayerInfo.Address.PostalCode.IsNullOrEmptyTrimmed() && PayPalDetails.PayerInfo.Address.CountryName.ToString().IsNullOrEmptyTrimmed() || PayPalDetails.PayerInfo.ContactPhone.IsNullOrEmptyTrimmed()) { paypalShippingAddress = ThisCustomer.PrimaryShippingAddress; } else { string streetAddress = PayPalDetails.PayerInfo.Address.Street1 + (!PayPalDetails.PayerInfo.Address.Street2.IsNullOrEmptyTrimmed() ? Environment.NewLine : String.Empty) + PayPalDetails.PayerInfo.Address.Street2; string sql = String.Empty; if (ThisCustomer.IsRegistered) { sql = String.Format("SELECT COUNT(ShipToCode) AS N FROM CustomerShipTo where Address = {0} and City = {1} and State = {2} and PostalCode = {3} and Country = {4} and ShipToName = {5} and CustomerCode = {6}", streetAddress.ToDbQuote(), PayPalDetails.PayerInfo.Address.CityName.ToDbQuote(), PayPalDetails.PayerInfo.Address.StateOrProvince.ToDbQuote(), PayPalDetails.PayerInfo.Address.PostalCode.ToDbQuote(), AppLogic.ResolvePayPalAddressCode(PayPalDetails.PayerInfo.Address.CountryName).ToString().ToDbQuote(), PayPalDetails.PayerInfo.Address.Name.ToDbQuote(), ThisCustomer.CustomerCode.ToDbQuote()); } else { sql = String.Format("SELECT COUNT(1) AS N FROM EcommerceAddress where ShipToAddress = {0} and ShipToCity = {1} and ShipToState = {2} and ShipToPostalCode = {3} and ShipToCountry = {4} and ShipToName = {5} and CustomerID = {6}", streetAddress.ToDbQuote(), PayPalDetails.PayerInfo.Address.CityName.ToDbQuote(), PayPalDetails.PayerInfo.Address.StateOrProvince.ToDbQuote(), PayPalDetails.PayerInfo.Address.PostalCode.ToDbQuote(), AppLogic.ResolvePayPalAddressCode(PayPalDetails.PayerInfo.Address.CountryName).ToString().ToDbQuote(), PayPalDetails.PayerInfo.Address.Name.ToDbQuote(), ThisCustomer.CustomerCode.ToDbQuote()); paypalShippingAddress.EMail = ThisCustomer.IsRegistered ? ThisCustomer.EMail : ThisCustomer.GetAnonEmail(); paypalShippingAddress.Name = PayPalDetails.PayerInfo.Address.Name; paypalShippingAddress.Address1 = PayPalDetails.PayerInfo.Address.Street1 + (PayPalDetails.PayerInfo.Address.Street2 != String.Empty ? Environment.NewLine : String.Empty) + PayPalDetails.PayerInfo.Address.Street2; paypalShippingAddress.City = PayPalDetails.PayerInfo.Address.CityName; paypalShippingAddress.State = PayPalDetails.PayerInfo.Address.StateOrProvince; paypalShippingAddress.PostalCode = PayPalDetails.PayerInfo.Address.PostalCode; paypalShippingAddress.Country = AppLogic.ResolvePayPalAddressCode(PayPalDetails.PayerInfo.Address.CountryName.ToString()); paypalShippingAddress.Phone = PayPalDetails.PayerInfo.ContactPhone ?? String.Empty; } int isAddressExists = DB.GetSqlN(sql); if (AppLogic.AppConfigBool("PayPalCheckout.RequireConfirmedAddress") || isAddressExists == 0) { ServiceFactory.GetInstance <ICustomerService>().UpdateCustomerNotesWhenPaypalAddressIsUsed(); } } ThisCustomer.PrimaryShippingAddress = paypalShippingAddress; paypalShippingAddress.Save(); string redirectUrl = String.Empty; //Checking for redirectURL of PayPal -- Express Checkout button in Shopping Cart page or PayPal Radio Button in Payment Page if (Customer.Current.ThisCustomerSession["paypalfrom"] == "shoppingcart" || Customer.Current.ThisCustomerSession["paypalfrom"] == "checkoutanon") { redirectUrl = "checkoutshipping.aspx?PayPal=True&token=" + context.Request.QueryString["token"]; } else { if (AppLogic.AppConfigBool("Checkout.UseOnePageCheckout")) { if (!AppLogic.AppConfigBool("Checkout.UseOnePageCheckout.UseFinalReviewOrderPage")) { //Insert PayPal call here for response - For authorize and capture of order from paypal inside IS ThisCustomer.ThisCustomerSession["paypalfrom"] = "onepagecheckout"; string OrderNumber = String.Empty; string status = String.Empty; string receiptCode = String.Empty; var billingAddress = ThisCustomer.PrimaryBillingAddress; Address shippingAddress = null; var cart = new InterpriseShoppingCart(null, ThisCustomer.SkinID, ThisCustomer, CartTypeEnum.ShoppingCart, String.Empty, false, true); if (cart.IsNoShippingRequired()) { cart.BuildSalesOrderDetails(false, true); } else { cart.BuildSalesOrderDetails(); } if (!AppLogic.AppConfigBool("PayPalCheckout.OverrideAddress")) { if (!cart.HasShippableComponents()) { shippingAddress = ThisCustomer.PrimaryShippingAddress; } else { if (ThisCustomer.IsRegistered) { var GetShippingAddress = new Address() { Name = PayPalDetails.PayerInfo.Address.Name, Address1 = PayPalDetails.PayerInfo.Address.Street1 + (PayPalDetails.PayerInfo.Address.Street2 != String.Empty ? Environment.NewLine : String.Empty) + PayPalDetails.PayerInfo.Address.Street2, City = PayPalDetails.PayerInfo.Address.CityName, State = PayPalDetails.PayerInfo.Address.StateOrProvince, PostalCode = PayPalDetails.PayerInfo.Address.PostalCode, Country = AppLogic.ResolvePayPalAddressCode(PayPalDetails.PayerInfo.Address.CountryName.ToString()), CountryISOCode = AppLogic.ResolvePayPalAddressCode(PayPalDetails.PayerInfo.Address.Country.ToString()), Phone = PayPalDetails.PayerInfo.ContactPhone ?? String.Empty }; shippingAddress = GetShippingAddress; } else { shippingAddress = paypalShippingAddress; } } } var doExpressCheckoutResp = m_PayPalExpress.DoExpressCheckoutPayment(PayPalDetails.Token, PayPalDetails.PayerInfo.PayerID, OrderNumber, cart); string result = String.Empty; if (doExpressCheckoutResp.Errors != null && !doExpressCheckoutResp.Errors[0].ErrorCode.IsNullOrEmptyTrimmed()) { if (AppLogic.AppConfigBool("ShowGatewayError")) { result = String.Format(AppLogic.GetString("shoppingcart.aspx.27", ThisCustomer.SkinID, ThisCustomer.LocaleSetting), doExpressCheckoutResp.Errors[0].ErrorCode, doExpressCheckoutResp.Errors[0].LongMessage); } else { result = AppLogic.GetString("shoppingcart.aspx.28", ThisCustomer.SkinID, ThisCustomer.LocaleSetting); } context.Response.Redirect("shoppingcart.aspx?ErrorMsg=" + result.ToUrlEncode(), false); return; } else { Gateway gatewayToUse = null; var payPalResp = new GatewayResponse(String.Empty) { AuthorizationCode = doExpressCheckoutResp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].TransactionID, TransactionResponse = doExpressCheckoutResp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].PaymentStatus.ToString(), Details = doExpressCheckoutResp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].PaymentStatus.ToString(), AuthorizationTransID = doExpressCheckoutResp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].TransactionID }; InterpriseHelper.UpdateCustomerPaymentTerm(ThisCustomer, DomainConstants.PAYMENT_METHOD_CREDITCARD); status = cart.PlaceOrder(gatewayToUse, billingAddress, shippingAddress, ref OrderNumber, ref receiptCode, true, true, payPalResp, true, false); if (status != AppLogic.ro_OK) { ThisCustomer.IncrementFailedTransactionCount(); if (ThisCustomer.FailedTransactionCount >= AppLogic.AppConfigUSInt("MaxFailedTransactionCount")) { cart.ClearTransaction(); ThisCustomer.ResetFailedTransactionCount(); context.Response.Redirect("orderfailed.aspx"); } ThisCustomer.ClearTransactions(false); context.Response.Redirect("checkout1.aspx?paymentterm=" + ThisCustomer.PaymentTermCode + "&errormsg=" + status.ToUrlEncode()); } AppLogic.ClearCardNumberInSession(ThisCustomer); ThisCustomer.ClearTransactions(true); context.Response.Redirect(String.Format("orderconfirmation.aspx?ordernumber={0}", OrderNumber.ToUrlEncode())); } } else { InterpriseHelper.UpdateCustomerPaymentTerm(ThisCustomer, DomainConstants.PAYMENT_METHOD_CREDITCARD); redirectUrl = "checkoutreview.aspx?PayPal=True&token=" + context.Request.QueryString["token"]; } } else { InterpriseHelper.UpdateCustomerPaymentTerm(ThisCustomer, DomainConstants.PAYMENT_METHOD_CREDITCARD); redirectUrl = "checkoutreview.aspx?PayPal=True&token=" + context.Request.QueryString["token"]; } } context.Response.Redirect(redirectUrl); }
private void InitializePageContent() { checkoutheadergraphic.ImageUrl = AppLogic.LocateImageURL("skins/skin_" + SkinID.ToString() + "/images/step_5.gif"); for (int i = 0; i < checkoutheadergraphic.HotSpots.Count; i++) { var rhs = checkoutheadergraphic.HotSpots[i] as RectangleHotSpot; if (rhs.NavigateUrl.IndexOf("shoppingcart") != -1) { rhs.AlternateText = AppLogic.GetString("checkoutreview.aspx.2", SkinID, ThisCustomer.LocaleSetting); } if (rhs.NavigateUrl.IndexOf("account") != -1) { rhs.AlternateText = AppLogic.GetString("checkoutreview.aspx.3", SkinID, ThisCustomer.LocaleSetting); } if (rhs.NavigateUrl.IndexOf("checkoutshipping") != -1) { rhs.AlternateText = AppLogic.GetString("checkoutreview.aspx.4", SkinID, ThisCustomer.LocaleSetting); } if (rhs.NavigateUrl.IndexOf("checkoutpayment") != -1) { rhs.AlternateText = AppLogic.GetString("checkoutreview.aspx.5", SkinID, ThisCustomer.LocaleSetting); } } if (!AppLogic.AppConfigBool("SkipShippingOnCheckout")) { checkoutheadergraphic.HotSpots[2].HotSpotMode = HotSpotMode.Navigate; if (AppLogic.AppConfigBool("Checkout.UseOnePageCheckout")) { checkoutheadergraphic.HotSpots[2].NavigateUrl = "checkout1.aspx"; } else { checkoutheadergraphic.HotSpots[2].NavigateUrl = CommonLogic.IIF(cart.HasMultipleShippingAddresses(), "checkoutshippingmult.aspx", "checkoutshipping.aspx"); } } if (AppLogic.AppConfigBool("Checkout.UseOnePageCheckout")) { checkoutheadergraphic.HotSpots[3].NavigateUrl = "checkout1.aspx"; } if (IsPayPalCheckout) { checkoutheadergraphic.HotSpots[1].HotSpotMode = HotSpotMode.Inactive; checkoutheadergraphic.HotSpots[2].NavigateUrl += string.Format("?PayPal={0}&token={1}", bool.TrueString, Request.QueryString["token"]); checkoutheadergraphic.HotSpots[3].HotSpotMode = HotSpotMode.Inactive; } String XmlPackageName = AppLogic.AppConfig("XmlPackage.CheckoutReviewPageHeader"); if (XmlPackageName.Length != 0) { XmlPackage_CheckoutReviewPageHeader.Text = "<br/>" + AppLogic.RunXmlPackage(XmlPackageName, base.GetParser, ThisCustomer, SkinID, String.Empty, null, true, true); } if (cart.HasMultipleShippingAddresses()) { var splittedCarts = cart.SplitIntoMultipleOrdersByDifferentShipToAddresses(); foreach (var splitCart in splittedCarts) { splitCart.BuildSalesOrderDetails(); CartSummary.Text += splitCart.RenderHTMLLiteral(new MobileCheckOutPaymentPageLiteralRenderer()); } litShippingAddress.Text = "<br/>Multiple Ship Addresses"; } else { //If the shopping cart contains only Electronic Downloads or Services then pass a "false" parameter for computeFreight. if (cart.IsNoShippingRequired()) { cart.BuildSalesOrderDetails(false, true); } else { cart.BuildSalesOrderDetails(); } Address shippingAddress = null; //added for PayPal ADDRESSOVERRIDE if (IsPayPalCheckout && !AppLogic.AppConfigBool("PayPalCheckout.OverrideAddress")) { if (!cart.HasShippableComponents()) { shippingAddress = ThisCustomer.PrimaryShippingAddress; } else { pp = new PayPalExpress(); var GetPayPalDetails = pp.GetExpressCheckoutDetails(Request.QueryString["token"]).GetExpressCheckoutDetailsResponseDetails; var GetShippingAddress = new Address(); GetShippingAddress.Name = GetPayPalDetails.PayerInfo.Address.Name; GetShippingAddress.Address1 = GetPayPalDetails.PayerInfo.Address.Street1 + (GetPayPalDetails.PayerInfo.Address.Street2 != String.Empty ? Environment.NewLine : String.Empty) + GetPayPalDetails.PayerInfo.Address.Street2; GetShippingAddress.City = GetPayPalDetails.PayerInfo.Address.CityName; GetShippingAddress.State = GetPayPalDetails.PayerInfo.Address.StateOrProvince; GetShippingAddress.PostalCode = GetPayPalDetails.PayerInfo.Address.PostalCode; GetShippingAddress.Country = AppLogic.ResolvePayPalAddressCode(GetPayPalDetails.PayerInfo.Address.CountryName.ToString()); GetShippingAddress.CountryISOCode = AppLogic.ResolvePayPalAddressCode(GetPayPalDetails.PayerInfo.Address.Country.ToString()); GetShippingAddress.Phone = GetPayPalDetails.PayerInfo.ContactPhone; shippingAddress = GetShippingAddress; } } else { if (cart.OnlyShippingAddressIsNotCustomerDefault()) { shippingAddress = Address.Get(ThisCustomer, AddressTypes.Shipping, cart.FirstItem().m_ShippingAddressID); } else { shippingAddress = ThisCustomer.PrimaryShippingAddress; } } litShippingAddress.Text = shippingAddress.DisplayString(true, true, true, "<br/>"); CartSummary.Text = cart.RenderHTMLLiteral(new MobileCheckOutPaymentPageLiteralRenderer()); } if (AppLogic.AppConfigBool("ShowEditAddressLinkOnCheckOutReview")) { pnlEditBillingAddress.Visible = true; pnlEditShippingAddress.Visible = true; //removed image arrow in mobile //imgBillingRedArrow.ImageUrl = AppLogic.LocateImageURL("skins/skin_" + SkinID.ToString() + "/images/redarrow.gif"); //imgShippingRedArrow.ImageUrl = AppLogic.LocateImageURL("skins/skin_" + SkinID.ToString() + "/images/redarrow.gif"); } litBillingAddress.Text = ThisCustomer.PrimaryBillingAddress.DisplayString(true, true, true, "<br/>"); if (IsPayPalCheckout) { litPaymentMethod.Text = "PayPal Express Checkout"; } else { litPaymentMethod.Text = GetPaymentMethod(ThisCustomer.PrimaryBillingAddress); } string XmlPackageName2 = AppLogic.AppConfig("XmlPackage.CheckoutReviewPageFooter"); if (XmlPackageName2.Length != 0) { XmlPackage_CheckoutReviewPageFooter.Text = "<br/>" + AppLogic.RunXmlPackage(XmlPackageName2, base.GetParser, ThisCustomer, SkinID, String.Empty, null, true, true); } //mobile button AppLogic.GetButtonDisable(btnContinueCheckout1.TheButton); CheckoutReviewPageHeader.SetContext = this; CheckoutReviewPageFooter.SetContext = this; }