【发布时间】:2020-02-03 14:16:13
【问题描述】:
我尝试将 Google Pay 集成到我的 Xamarin.Forms shell 应用程序中。我没有找到任何不使用条纹的教程,只有 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 的 UI 表单,但不知何故它不起作用。我正在使用 PlaySevices、Gms.Wallet 和 CurrentActivity 插件
【问题讨论】:
标签: android xamarin xamarin.android google-play-services google-pay