Я пытаюсь интегрировать Google Pay в свое приложение оболочки Xamarin.Forms. Я не нашел ни одного учебника без использования полосы, только Kotlin один. Я попытался воссоздать пример в моем классе Payment. Метод Pay () выглядит так:
var activity = Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity;
client = WalletClass.GetPaymentsClient(activity, new WalletClass.WalletOptions.Builder()
.SetEnvironment(WalletConstants.EnvironmentTest)
.SetTheme(WalletConstants.ThemeLight)
.Build());
PaymentMethodTokenizationParameters param = PaymentMethodTokenizationParameters.NewBuilder()
.SetPaymentMethodTokenizationType(WalletConstants.PaymentMethodTokenizationTypePaymentGateway)
.Build();
PaymentDataRequest request = PaymentDataRequest.NewBuilder()
.SetEmailRequired(false)
.SetShippingAddressRequired(false)
.SetPhoneNumberRequired(false)
.SetTransactionInfo(new TransactionInfo(1,"Test","Test"))
.SetPaymentMethodTokenizationParameters(param)
.AddAllowedPaymentMethod(WalletConstants.PaymentMethodTokenizedCard)
.AddAllowedPaymentMethod(WalletConstants.PaymentMethodCard)
.SetCardRequirements(CardRequirements.NewBuilder()
.AddAllowedCardNetwork(WalletConstants.CardNetworkVisa)
.AddAllowedCardNetwork(WalletConstants.CardNetworkMastercard)
.Build())
.Build();
var data = await client.LoadPaymentDataAsync(request);
Но после последней строки Xamarin возвращает странную ошибку '6: BuyFlow UI needs to be shown.'
. Но я полагаю, что в последней строке должна отображаться форма пользовательского интерфейса из Google Pay, но почему-то она не работает. Я использую плагины PlaySevices, Gms.Wallet и CurrentActivity