// 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); } }