One-page checkout for 7.2-7.3?
We have an internal corporate store that uses a modified form of the Telerik.Sitefinity.Samples.Ecommerce.Checkout example found on Github. It worked well with Sitefinity 5.4, but after recently upgrading to Sitefinity 7.2 we found it was broken. I merged the project with the latest version of the Github code, updating the Reference Assemblies with the 7.2 dlls. However, the module still does not seem to work, failing with the following error:
Source Error:Line 55: //Use the API to checkoutLine 56: IPaymentResponse paymentResponse = ordersManager.Checkout(cartOrderId, checkoutState, customer);Source File: C:\htdocs\atlasloop.com\Telerik.Sitefinity.Samples.Ecommerce.Checkout\Helpers\OrderHelper.cs Line: 56Stack Trace:[FormatException: Input string was not in a correct format.]System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) +542System.Double.Parse(String s, NumberStyles style, IFormatProvider provider) +59System.ComponentModel.DoubleConverter.FromString(String value, NumberFormatInfo formatInfo) +20System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value) +489[Exception: is not a valid value for Double.]System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value) +8674737System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) +974System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) +213System.Web.Script.Serialization.ObjectConverter.AssignToPropertyOrField(Object propertyValue, Object o, String memberName, JavaScriptSerializer serializer, Boolean throwOnError) +326System.Web.Script.Serialization.ObjectConverter.ConvertDictionaryToObject(IDictionary`2 dictionary, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) +1783System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) +115System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject) +213System.Web.Script.Serialization.ObjectConverter.ConvertObjectToType(Object o, Type type, JavaScriptSerializer serializer) +31Telerik.Sitefinity.Modules.Ecommerce.Orders.Util.OrderUtils.IsPaymentMethodSupportingCards(PaymentMethod paymentMethod) +342Telerik.Sitefinity.Modules.Ecommerce.Orders.Business.OrderCreator.CloneAllCartPaymentRecordsOntoTheOrderPaymentList(CartOrder cartOrder, Order order, CreditCardInfo creditCardInfo, Boolean saveCreditCardNumberInDatabase) +1046Telerik.Sitefinity.Modules.Ecommerce.Orders.Business.OrderCreator.CloneAllCartPropertiesToOrder(CartOrder cartOrder, Order order, CreditCardInfo creditCardInfo) +988Telerik.Sitefinity.Modules.Ecommerce.Orders.Business.OrderCreator.CreateOrderFromCartOrder(CartOrder cartOrder, CreditCardInfo creditCardInfo) +924Telerik.Sitefinity.Modules.Ecommerce.Orders.Business.OrderCheckout.Checkout(Guid cartOrderId, CheckoutState checkoutState, Customer customer) +633Telerik.Sitefinity.Modules.Ecommerce.Orders.OrdersManager.Checkout(Guid cartOrderId, CheckoutState checkoutState, Customer customer) +318Telerik.Sitefinity.Samples.Ecommerce.Checkout.Helpers.OrderHelper.PlaceOrder(OrdersManager ordersManager, CatalogManager catalogManager, UserManager userManager, RoleManager roleManager, UserProfileManager userProfileManager, CheckoutState checkoutState, Guid cartOrderId, List`1 emailRecipients, Boolean showCanadian) in C:\htdocs\sitefinitymultisite\Telerik.Sitefinity.Samples.Ecommerce.Checkout\Helpers\OrderHelper.cs:56Telerik.Sitefinity.Samples.Ecommerce.Checkout.OnePageCheckoutWidget.PlaceOrderButton_Click(Object sender, EventArgs e) in C:\htdocs\atlasloop.com\Telerik.Sitefinity.Samples.Ecommerce.Checkout\OnePageCheckoutWidget.cs:278System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +155System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804
I'm apparently passing an empty string value that needs to be converted to a double, but I cannot see anything in the parameters of the OrdersManager.Checkout method that fit the bill. Any ideas would be appreciated.