private async Task OnSaveCommandExecute() { if (IsBusy) { return; } IsBusy = true; try { Int64 orderId = await IdService.CreateOrderIdAsync(); User user = await UserService.GetUserAsync(Helpers.DeviceHelper.GetMunchyId()); Card card = await CreditCardService.CreateCreditCard(); card = await CreditCardService.AuthorizeCreditCard(card.id.ToString(), "1000000000000008", "2112", 123); Subscription subscription = await SubscriptionService.CreateSubscription(orderId); CardDetails cardDetails = await CreditCardService.CreateCreditCardToken(card.id.ToString()); Subscription authSub = await SubscriptionService.AuthorizeSubscription(subscription.id.ToString(), 1000, cardDetails.token); authSub = await SubscriptionService.GetSubscription(authSub.id.ToString()); if (authSub.accepted) { SimpleCreditCard creditCard = new SimpleCreditCard(card.metadata.brand.ToString(), card.metadata.exp_year.ToString(), card.metadata.exp_month.ToString(), "XXXX XXXX XXXX " + card.metadata.last4); await this.UserService.CreateUserCreditCard(user.Id, creditCard); await Application.Current.MainPage.Navigation.PushAsync(new CreatePaymentAuthenticationPage(authSub.id.ToString())); } } catch (Exception e) { await Application.Current.MainPage.DisplayAlert("Fejl!", e.ToString(), "OK"); } finally { IsBusy = false; } }