protected void Page_Load(object sender, EventArgs e) { var gcPaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("GoogleCheckout"); if (gcPaymentMethod == null || !gcPaymentMethod.IsActive) { this.Visible = false; return; } var cart = ShoppingCartManager.GetCurrentShoppingCart(ShoppingCartTypeEnum.ShoppingCart); if (cart.Count == 0) { this.Visible = false; return; } if (cart.IsRecurring && PaymentManager.SupportRecurringPayments(gcPaymentMethod.PaymentMethodId) == RecurringPaymentTypeEnum.NotSupported) { this.Visible = false; return; } GCheckoutButton1.UseHttps = CommonHelper.IsCurrentConnectionSecured(); }
protected void btnPaypalExpress_Click(object sender, EventArgs e) { if ((NopContext.Current.User == null) || (NopContext.Current.User.IsGuest && !CustomerManager.AnonymousCheckoutAllowed)) { string loginURL = SEOHelper.GetLoginPageUrl(true); Response.Redirect(loginURL); } var payPalExpress = new PayPalExpressPaymentProcessor(); var ppePaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("PayPalExpress"); if (ppePaymentMethod != null && ppePaymentMethod.IsActive) { //apply reward points CheckoutPaymentMethodControl checkoutPaymentMethodControl = CommonHelper.FindControlRecursive <CheckoutPaymentMethodControl>(this.Page.Controls); if (checkoutPaymentMethodControl != null) { checkoutPaymentMethodControl.ApplyRewardPoints(); } //payment var cart = ShoppingCartManager.GetCurrentShoppingCart(ShoppingCartTypeEnum.ShoppingCart); decimal?cartTotal = ShoppingCartManager.GetShoppingCartTotal(cart, ppePaymentMethod.PaymentMethodId, NopContext.Current.User); if (cartTotal.HasValue && cartTotal.Value > decimal.Zero) { string expressCheckoutURL = payPalExpress.SetExpressCheckout(cartTotal.Value, CommonHelper.GetStoreLocation(false) + "paypalexpressreturn.aspx", CommonHelper.GetStoreLocation(false)); Response.Redirect(expressCheckoutURL); } } }
protected void btnNextStep_Click(object sender, EventArgs e) { if (Page.IsValid) { try { PayPalExpressPaymentProcessor payPalExpress = new PayPalExpressPaymentProcessor(); string token = CommonHelper.QueryString("token"); PaypalPayer payer = payPalExpress.GetExpressCheckout(token); if (string.IsNullOrEmpty(payer.PayerID)) { throw new NopException("Payer ID is not set"); } PaymentInfo paymentInfo = new PaymentInfo(); PaymentMethod paypalExpressPaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("PayPalExpress"); paymentInfo.PaymentMethodId = paypalExpressPaymentMethod.PaymentMethodId; paymentInfo.BillingAddress = NopContext.Current.User.BillingAddress; paymentInfo.ShippingAddress = NopContext.Current.User.ShippingAddress; paymentInfo.PaypalPayerId = payer.PayerID; paymentInfo.PaypalToken = token; paymentInfo.CustomerLanguage = NopContext.Current.WorkingLanguage; paymentInfo.CustomerCurrency = NopContext.Current.WorkingCurrency; int orderId = 0; string result = OrderManager.PlaceOrder(paymentInfo, NopContext.Current.User, out orderId); Order order = OrderManager.GetOrderById(orderId); if (!String.IsNullOrEmpty(result)) { lConfirmOrderError.Text = Server.HtmlEncode(result); btnNextStep.Visible = false; return; } else { PaymentManager.PostProcessPayment(order); } Response.Redirect("~/checkoutcompleted.aspx"); } catch (Exception exc) { LogManager.InsertLog(LogTypeEnum.OrderError, exc.Message, exc); lConfirmOrderError.Text = Server.HtmlEncode(exc.ToString()); btnNextStep.Visible = false; } } }
private Order getMerchantOrderByGoogleOrderID(string GoogleOrderID) { if (String.IsNullOrEmpty(GoogleOrderID)) { return(null); } PaymentMethod googleCheckoutPaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("GoogleCheckout"); if (googleCheckoutPaymentMethod == null) { return(null); } return(OrderManager.GetOrderByAuthorizationTransactionIdAndPaymentMethodId(GoogleOrderID, googleCheckoutPaymentMethod.PaymentMethodId)); }
protected void Page_Load(object sender, EventArgs e) { PaymentMethod payPalExpressPaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("PayPalExpress"); if (payPalExpressPaymentMethod == null || !payPalExpressPaymentMethod.IsActive) { this.Visible = false; return; } Cart = ShoppingCartManager.GetCurrentShoppingCart(ShoppingCartTypeEnum.ShoppingCart); if (Cart.Count == 0) { this.Visible = false; return; } }
protected void Page_Load(object sender, EventArgs e) { PaymentMethod googleCheckoutPaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("GoogleCheckout"); if (googleCheckoutPaymentMethod == null || !googleCheckoutPaymentMethod.IsActive) { this.Visible = false; return; } NopSolutions.NopCommerce.BusinessLogic.Orders.ShoppingCart Cart = ShoppingCartManager.GetCurrentShoppingCart(ShoppingCartTypeEnum.ShoppingCart); if (Cart.Count == 0) { this.Visible = false; return; } }
protected void Page_Load(object sender, EventArgs e) { var ppePaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("PayPalExpress"); if (ppePaymentMethod == null || !ppePaymentMethod.IsActive) { this.Visible = false; return; } cart = ShoppingCartManager.GetCurrentShoppingCart(ShoppingCartTypeEnum.ShoppingCart); if (cart.Count == 0) { this.Visible = false; return; } if (cart.IsRecurring && PaymentManager.SupportRecurringPayments(ppePaymentMethod.PaymentMethodId) == RecurringPaymentTypeEnum.NotSupported) { this.Visible = false; return; } }
protected void Page_Load(object sender, EventArgs e) { //validate payment method availablity var ppePaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("PayPalExpress"); if (ppePaymentMethod == null || !ppePaymentMethod.IsActive) { this.Visible = false; return; } //cart validation var cart = ShoppingCartManager.GetCurrentShoppingCart(ShoppingCartTypeEnum.ShoppingCart); if (cart.Count == 0) { this.Visible = false; return; } //order total validation decimal?cartTotal = ShoppingCartManager.GetShoppingCartTotal(cart, ppePaymentMethod.PaymentMethodId, NopContext.Current.User); if (!cartTotal.HasValue || cartTotal.Value == decimal.Zero) { this.Visible = false; return; } //recurring order support if (cart.IsRecurring && PaymentManager.SupportRecurringPayments(ppePaymentMethod.PaymentMethodId) == RecurringPaymentTypeEnum.NotSupported) { this.Visible = false; return; } }
protected void btnPaypalExpress_Click(object sender, EventArgs e) { if ((NopContext.Current.User == null) || (NopContext.Current.User.IsGuest && !CustomerManager.AnonymousCheckoutAllowed)) { string loginURL = SEOHelper.GetLoginPageUrl(true); Response.Redirect(loginURL); } var payPalExpress = new PayPalExpressPaymentProcessor(); var ppePaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("PayPalExpress"); if (ppePaymentMethod != null && ppePaymentMethod.IsActive) { decimal?cartTotal = ShoppingCartManager.GetShoppingCartTotal(cart, ppePaymentMethod.PaymentMethodId, NopContext.Current.User, false); if (cartTotal.HasValue) { string expressCheckoutURL = payPalExpress.SetExpressCheckout(cartTotal.Value, CommonHelper.GetStoreLocation(false) + "paypalexpressreturn.aspx", CommonHelper.GetStoreLocation(false)); Response.Redirect(expressCheckoutURL); } } }
private void processNewOrderNotification(string xmlData) { try { NewOrderNotification newOrderNotification = (NewOrderNotification)EncodeHelper.Deserialize(xmlData, typeof(NewOrderNotification)); string googleOrderNumber = newOrderNotification.googleordernumber; XmlNode CustomerInfo = newOrderNotification.shoppingcart.merchantprivatedata.Any[0]; int CustomerID = Convert.ToInt32(CustomerInfo.Attributes["CustomerID"].Value); int CustomerLanguageID = Convert.ToInt32(CustomerInfo.Attributes["CustomerLanguageID"].Value); int CustomerCurrencyID = Convert.ToInt32(CustomerInfo.Attributes["CustomerCurrencyID"].Value); Customer customer = CustomerManager.GetCustomerById(CustomerID); NopSolutions.NopCommerce.BusinessLogic.Orders.ShoppingCart Cart = ShoppingCartManager.GetCustomerShoppingCart(customer.CustomerId, ShoppingCartTypeEnum.ShoppingCart); if (customer == null) { logMessage("Could not load a customer"); return; } NopContext.Current.User = customer; if (Cart.Count == 0) { logMessage("Cart is empty"); return; } //validate cart foreach (NopSolutions.NopCommerce.BusinessLogic.Orders.ShoppingCartItem sci in Cart) { bool ok = false; foreach (Item item in newOrderNotification.shoppingcart.items) { if (!String.IsNullOrEmpty(item.merchantitemid)) { if ((Convert.ToInt32(item.merchantitemid) == sci.ShoppingCartItemId) && (item.quantity == sci.Quantity)) { ok = true; break; } } } if (!ok) { logMessage(string.Format("Shopping Cart item has been changed. {0}. {1}", sci.ShoppingCartItemId, sci.Quantity)); return; } } string[] billingFullname = newOrderNotification.buyerbillingaddress.contactname.Trim().Split(new char[] { ' ' }, 2, StringSplitOptions.RemoveEmptyEntries); string billingFirstName = billingFullname[0]; string billingLastName = string.Empty; if (billingFullname.Length > 1) { billingLastName = billingFullname[1]; } string billingEmail = newOrderNotification.buyerbillingaddress.email.Trim(); string billingAddress1 = newOrderNotification.buyerbillingaddress.address1.Trim(); string billingAddress2 = newOrderNotification.buyerbillingaddress.address2.Trim(); string billingPhoneNumber = newOrderNotification.buyerbillingaddress.phone.Trim(); string billingCity = newOrderNotification.buyerbillingaddress.city.Trim(); int billingStateProvinceID = 0; StateProvince billingStateProvince = StateProvinceManager.GetStateProvinceByAbbreviation(newOrderNotification.buyerbillingaddress.region.Trim()); if (billingStateProvince != null) { billingStateProvinceID = billingStateProvince.StateProvinceId; } string billingZipPostalCode = newOrderNotification.buyerbillingaddress.postalcode.Trim(); int billingCountryID = 0; Country billingCountry = CountryManager.GetCountryByTwoLetterIsoCode(newOrderNotification.buyerbillingaddress.countrycode.Trim()); if (billingCountry != null) { billingCountryID = billingCountry.CountryId; } NopSolutions.NopCommerce.BusinessLogic.CustomerManagement.Address BillingAddress = customer.BillingAddresses.FindAddress( billingFirstName, billingLastName, billingPhoneNumber, billingEmail, string.Empty, string.Empty, billingAddress1, billingAddress2, billingCity, billingStateProvinceID, billingZipPostalCode, billingCountryID); if (BillingAddress == null) { BillingAddress = CustomerManager.InsertAddress(CustomerID, true, billingFirstName, billingLastName, billingPhoneNumber, billingEmail, string.Empty, string.Empty, billingAddress1, billingAddress2, billingCity, billingStateProvinceID, billingZipPostalCode, billingCountryID, DateTime.Now, DateTime.Now); } customer = CustomerManager.SetDefaultBillingAddress(customer.CustomerId, BillingAddress.AddressId); NopSolutions.NopCommerce.BusinessLogic.CustomerManagement.Address ShippingAddress = null; customer.LastShippingOption = null; bool shoppingCartRequiresShipping = ShippingManager.ShoppingCartRequiresShipping(Cart); if (shoppingCartRequiresShipping) { string[] shippingFullname = newOrderNotification.buyershippingaddress.contactname.Trim().Split(new char[] { ' ' }, 2, StringSplitOptions.RemoveEmptyEntries); string shippingFirstName = shippingFullname[0]; string shippingLastName = string.Empty; if (shippingFullname.Length > 1) { shippingLastName = shippingFullname[1]; } string shippingEmail = newOrderNotification.buyershippingaddress.email.Trim(); string shippingAddress1 = newOrderNotification.buyershippingaddress.address1.Trim(); string shippingAddress2 = newOrderNotification.buyershippingaddress.address2.Trim(); string shippingPhoneNumber = newOrderNotification.buyershippingaddress.phone.Trim(); string shippingCity = newOrderNotification.buyershippingaddress.city.Trim(); int shippingStateProvinceID = 0; StateProvince shippingStateProvince = StateProvinceManager.GetStateProvinceByAbbreviation(newOrderNotification.buyershippingaddress.region.Trim()); if (shippingStateProvince != null) { shippingStateProvinceID = shippingStateProvince.StateProvinceId; } int shippingCountryID = 0; string shippingZipPostalCode = newOrderNotification.buyershippingaddress.postalcode.Trim(); Country shippingCountry = CountryManager.GetCountryByTwoLetterIsoCode(newOrderNotification.buyershippingaddress.countrycode.Trim()); if (shippingCountry != null) { shippingCountryID = shippingCountry.CountryId; } ShippingAddress = customer.ShippingAddresses.FindAddress( shippingFirstName, shippingLastName, shippingPhoneNumber, shippingEmail, string.Empty, string.Empty, shippingAddress1, shippingAddress2, shippingCity, shippingStateProvinceID, shippingZipPostalCode, shippingCountryID); if (ShippingAddress == null) { ShippingAddress = CustomerManager.InsertAddress(CustomerID, false, shippingFirstName, shippingLastName, shippingPhoneNumber, shippingEmail, string.Empty, string.Empty, shippingAddress1, shippingAddress2, shippingCity, shippingStateProvinceID, shippingZipPostalCode, shippingCountryID, DateTime.Now, DateTime.Now); } customer = CustomerManager.SetDefaultShippingAddress(customer.CustomerId, ShippingAddress.AddressId); string shippingMethod = string.Empty; decimal shippingCost = decimal.Zero; if (newOrderNotification.orderadjustment != null && newOrderNotification.orderadjustment.shipping != null && newOrderNotification.orderadjustment.shipping.Item != null) { FlatRateShippingAdjustment ShippingMethod = (FlatRateShippingAdjustment)newOrderNotification.orderadjustment.shipping.Item; shippingMethod = ShippingMethod.shippingname; shippingCost = ShippingMethod.shippingcost.Value; ShippingOption shippingOption = new ShippingOption(); shippingOption.Name = shippingMethod; shippingOption.Rate = shippingCost; customer.LastShippingOption = shippingOption; } } //customer.LastCalculatedTax = decimal.Zero; PaymentMethod googleCheckoutPaymentMethod = PaymentMethodManager.GetPaymentMethodBySystemKeyword("GoogleCheckout"); PaymentInfo paymentInfo = new PaymentInfo(); paymentInfo.PaymentMethodId = googleCheckoutPaymentMethod.PaymentMethodId; paymentInfo.BillingAddress = BillingAddress; paymentInfo.ShippingAddress = ShippingAddress; paymentInfo.CustomerLanguage = LanguageManager.GetLanguageById(CustomerLanguageID); paymentInfo.CustomerCurrency = CurrencyManager.GetCurrencyById(CustomerCurrencyID); paymentInfo.GoogleOrderNumber = googleOrderNumber; int orderID = 0; string result = OrderManager.PlaceOrder(paymentInfo, customer, out orderID); if (!String.IsNullOrEmpty(result)) { logMessage("new-order-notification received. CreateOrder() error: Order Number " + orderID + ". " + result); return; } Order order = OrderManager.GetOrderById(orderID); logMessage("new-order-notification received and saved: Order Number " + orderID); } catch (Exception exc) { logMessage("processNewOrderNotification Exception: " + exc.Message + ": " + exc.StackTrace); } }