// When the user selects a product, create a new checkout for that product.
        private async Task CreateCheckoutAsync(Product product)
        {
            ShowLoadingDialog(Resource.String.syncing_data);

            try
            {
                var checkout = await SampleApplication.CreateCheckoutAsync(product);

                DismissLoadingDialog();

                // If the selected product requires shipping, show the list of shipping rates so the user can pick one.
                // Otherwise, skip to the discounts activity (gift card codes and discount codes).
                if (checkout.RequiresShipping)
                {
                    StartActivity(new Intent(this, typeof(ShippingRateListActivity)));
                }
                else
                {
                    StartActivity(new Intent(this, typeof(DiscountActivity)));
                }
            }
            catch (ShopifyException ex)
            {
                OnError(ex.Error);
            }
        }