Inheritance: CardEntryPage
		internal async void RegisterCardHandler(object sender, IResult<ITransactionResult> result)
		{
			await Navigation.PopAsync();

			if (result.HasError)
			{
				await DisplayAlert("Error adding card", "Code: " + result.Error.Code, "OK");
			}
			else if ("Success".Equals(result.Response.Result))
			{
				var receipt = result.Response as PaymentReceiptModel;
				var cardType = (CardNetwork)Enum.Parse(typeof(CardNetwork), receipt.CardDetails.CardType.ToString());

				var token = new TokenPaymentViewModel
				{
					LastFour = receipt.CardDetails.CardLastfour,
					ExpiryDate = receipt.CardDetails.EndDate,
					CardType = cardType,
					Token = receipt.CardDetails.CardToken,
					ConsumerToken = receipt.Consumer.ConsumerToken,
					ConsumerReference = receipt.Consumer.YourConsumerReference
				};

				Settings.CardToken = JsonConvert.SerializeObject(token);

				if (await DisplayAlert("Card added", "Perform token payment?", "Yes", "No"))
				{
					var page = new TokenPaymentPage(BuildJudo(), new TokenPaymentDefaultsViewModel(token.LastFour, token.ExpiryDate, token.Token, token.ConsumerToken, token.CardType));
					page.resultHandler += Handler;
					await Navigation.PushAsync(page);
				}
			}
		}
		async void ShowTokenPaymentForm(object sender, EventArgs e)
		{
			if (!string.IsNullOrWhiteSpace(Settings.CardToken))
			{
				var page = new TokenPaymentPage(BuildJudo(), GetTokenViewModel());
				page.resultHandler += Handler;

				await Navigation.PushAsync(page);
			}
			else
			{
				await DisplayAlert("No card saved", "Add card before attempting token payment", "OK");
			}
		}