private async void OnSave_Tapped(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(txtCardNumber.Text) || string.IsNullOrEmpty(txtCountry.Text) || string.IsNullOrEmpty(txtCardName.Text) || string.IsNullOrEmpty(txtcvv.Text) || string.IsNullOrEmpty(txtExp.Text)) { await DisplayAlert(AppResource.alertAlert, AppResource.alertAlert, AppResource.textOk); return; } Acr.UserDialogs.UserDialogs.Instance.ShowLoading(AppResource.alertLoading); if (string.IsNullOrEmpty(lblBrand.Text) || lblBrand.Text == "Invalid Card Number") { await DisplayAlert(AppResource.alertAlert, "Invalid Card Number", AppResource.textOk); return; } var userService = new UserServicev2(); var stripe = new StripeService(); var expDate = txtExp.Text.Split('/'); var token = stripe.Generate(txtCardNumber.Text, txtcvv.Text, Convert.ToInt32(expDate[0]), Convert.ToInt32(expDate[1])); var result = await userService.AddCardV2(token, ""); //var result = await userService.AddCard(new Models.UserWallet() //{ // CardBrand = lblBrand.Text, // CardName = txtCardName.Text, // CVV = txtcvv.Text, // UserId = Helpers.Settings.DisplayUserId, // ExpirationDate = txtExp.Text, // CardNumber = txtCardNumber.Text //}, Helpers.Settings.DisplayUserToken); if (result) { App.AppCurrent.NavigationService.ModalGoBack(); return; //if (_ret) // return; } else { await DisplayAlert(AppResource.alertAlert, AppResource.alertAtention, AppResource.textOk); return; } await App.AppCurrent.NavigationService.ModalGoBack(); } catch (Exception ex) { await DisplayAlert(AppResource.alertAlert, ex.Message, AppResource.textOk); } finally { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); } App.AppCurrent.NavigationService.ModalGoBack(); }