Esempio n. 1
0
        public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
        {
            UINavigationController navigationController;
            PaymentConfiguration   config;

            tableView.DeselectRow(indexPath, true);

            Demo example = (Demo)indexPath.Row;
            var  theme   = themeViewController.Theme.GetStripeTheme();

            switch (example)
            {
            case Demo.PaymentCardTextField:
                var cardFieldViewContoller = new CardFieldViewController();
                cardFieldViewContoller.Theme = theme;
                navigationController         = new UINavigationController(cardFieldViewContoller);
                navigationController.NavigationBar.SetStripeTheme(theme);
                PresentViewController(navigationController, true, null);
                break;

            case Demo.AddCardViewController:
                config = new PaymentConfiguration();
                config.RequiredBillingAddressFields = BillingAddressFields.Full;
                var viewController = new MockAddCardViewController(config, theme);
                viewController.Delegate = this;
                navigationController    = new UINavigationController(viewController);
                navigationController.NavigationBar.SetStripeTheme(theme);
                PresentViewController(navigationController, true, null);
                break;

            case Demo.PaymentMethodsViewController:
                config = new PaymentConfiguration();
                config.AdditionalPaymentMethods     = PaymentMethodType.All;
                config.RequiredBillingAddressFields = BillingAddressFields.None;
                config.AppleMerchantIdentifier      = "dummy-merchant-id";
                var paymentMethodsViewController = new PaymentMethodsViewController(config, theme, customerContext, this);
                navigationController = new UINavigationController(paymentMethodsViewController);
                navigationController.NavigationBar.SetStripeTheme(theme);
                PresentViewController(navigationController, true, null);
                break;

            case Demo.ShippingInfoViewController:
                config = new PaymentConfiguration();
                config.RequiredShippingAddressFields = PKAddressField.PostalAddress;
                var shippingAddressViewController = new ShippingAddressViewController(config, theme, "usd", null, null, null);
                shippingAddressViewController.Delegate = this;
                navigationController = new UINavigationController(shippingAddressViewController);
                navigationController.NavigationBar.SetStripeTheme(theme);
                PresentViewController(navigationController, true, null);
                break;

            case Demo.ChangeTheme:
                navigationController = new UINavigationController(themeViewController);
                PresentViewController(navigationController, true, null);
                break;

            default:
                throw new NotImplementedException();
            }
        }
Esempio n. 2
0
 public void PaymentMethodsViewControllerFinished(PaymentMethodsViewController paymentMethodsViewController)
 {
     paymentMethodsViewController.NavigationController.PopViewController(true);
 }
Esempio n. 3
0
 public void PaymentMethodsViewControllerCancelled(PaymentMethodsViewController paymentMethodsViewController)
 {
     DismissViewController(true, null);
 }
Esempio n. 4
0
 public void PaymentMethodsViewControllerFailedToLoad(PaymentMethodsViewController paymentMethodsViewController, NSError error)
 {
     DismissViewController(true, null);
 }