Flutter Stripe 原生支付崩溃

Posted

技术标签:

【中文标题】Flutter Stripe 原生支付崩溃【英文标题】:Flutter stripe native payment crash 【发布时间】:2020-10-13 17:19:18 【问题描述】:

我正在尝试接受原生苹果付款,我一直在 pubdev 关注并在那里构建示例。我已经尝试以这种方式在我自己的应用中实现原生支付:

Scaffold(body: ListView(....),
  floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
      floatingActionButton: Container(
        width: 100,
        height: 100,
        child: FloatingActionButton(
            splashColor: Colors.red,
            backgroundColor: Colors.white,
            child: const Icon(
              Icons.payment,
              color: Colors.red,
              size: 50.0,
            ),
            onPressed: ()  async 
              Token paymentToken = await StripePayment.paymentRequestWithNativePay(
                androidPayOptions: null,
              applePayOptions: ApplePayPaymentOptions(
              countryCode: 'US',
              currencyCode: 'USD',
              items: [
              ApplePayItem(
              label: 'Test',
              amount: '13',
              )
              ],
              ));
              print(paymentToken.toString());
            ),
      )

ListView 会根据选择的项目动态呈现 Card 小部件。当我按下浮动操作按钮进行购买时,应用程序崩溃了。我收到此错误:

Lost connection to device.
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff23e3cf0e __exceptionPreprocess + 350
    1   libobjc.A.dylib                     0x00007fff50ba89b2 objc_exception_throw + 48
    2   UIKitCore                           0x00007fff485f256e -[UIViewController _presentViewController:withAnimationController:completion:] + 5218
    3   UIKitCore                           0x00007fff485f4a2e __63-[UIViewController _presentViewController:animated:completion:]_block_invoke + 98
    4   UIKitCore                           0x00007fff485f4f37 -[UIViewController _performCoordinatedPresentOrDismiss:animated:] + 511
    5   UIKitCore                           0x00007fff485f498c -[UIViewController _presentViewController:animated:completion:] + 187
    6   UIKitCore                           0x00007fff485f4bf8 -[U<…>

我认为我的浮动操作按钮妨碍了苹果动画。我想将浮动按钮保留在那里,它看起来非常好。任何帮助都会很棒,谢谢!

【问题讨论】:

【参考方案1】:

兄弟尝试删除任何其他条带库。我有同样的问题,但两者都有

    stripe_native
    stripe_payment

所以删除 stripe_native 我的错误解决了

【讨论】:

以上是关于Flutter Stripe 原生支付崩溃的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter Web 中实现 Stripe 支付?

如何在 Flutter 中使用 Xcode 12.5 解决 Stripe 支付问题?

“无法识别的特征:‘支付’。”,来源:https://js.stripe.com/v3/ (1)

Stripe 支付是不是支持阿联酋的三星支付?

Flutter Stripe 不显示/显示付款单

Flutter Stripe 在展示付款单时抛出 StripeException