为了测试
ApplePayButton
小部件,我尝试使用 flutter create .
创建一个新的示例 Flutter 项目,并且在 Hello world 屏幕中,我只添加了一件事,即来自 ApplePayButton
依赖项的 pay
小部件,因为我的原始项目正在返回一个奇怪的错误,它来自 platformexception(paymenterror, failed to present payment controller, null, null)
属性,但我最终在新的 hello world 项目中遇到了相同的错误,因此几乎没有任何上下文。这是我使用的小部件和配置:onError
关于我的设置和我尝试过的事情的一些注释:
我原来的应用程序的主要语言是阿拉伯语
ApplePayButton(
onPaymentResult: (result) => greenToast(result.toString()),
paymentItems: [
PaymentItem(
amount: "111.01",
label: "test",
),
],
onError: (error) => redToast(error.toString()),
paymentConfiguration: PaymentConfiguration.fromJsonString('''
{
"provider": "apple_pay",
"data": {
"merchantIdentifier": "merchant.xxx.xxx",
"displayName": "app_name",
"merchantCapabilities": ["3DS", "debit", "credit"],
"supportedNetworks": ["amex", "visa", "mada", "masterCard"],
"countryCode": "SA",
"currencyCode": "SAR"
}
}
'''),
),
flutter ios --release --no-tree-shake-icons
编译了应用程序应用程序名称包含阿拉伯字符和字符“|”,但我修复了这个问题,并仅使用英语命名,特别是在新的 Flutter 示例项目中
flutter ios --release
Apple Pay Payment Processing Certificate
PlatformException
所以显然其他库对我有用,但不是
platformexception(paymenterror, failed to present payment controller, null, null)
库中的任何版本。我使用的有效替代库是
pay
、apple_pay_flutter
。