直接从我的 Flutter 应用程序创建 PaymentIntent 是否符合 PCI 标准?

Is it PCI compliant to create PaymentIntent directly from my Flutter app?

我已经尝试过不同的方式来通过无 webhook 流程来处理支付,但唯一的解决方案是直接从我的 dart 代码中调用 stripe API,如下所示:

var response = await http.post(
        Uri.parse('https://api.stripe.com/v1/payment_intents'),
        body: {
          'amount': _calculateAmount(amount),
          'currency': currency,
          'payment_method_types[]': 'card',
          'description': description,
          'receipt_email': email,
        },
        headers: {
          'Authorization': 'Bearer ${AppConfig.instance.stripeSecretKey}',
          'Content-Type': 'application/x-www-form-urlencoded'
        },
      );

我的代码是否仍然符合 PCI 标准并得到适当保护以用于生产?

您的代码仍然符合 PCI,但不安全。密钥必须安全地存储在您的网络或移动应用程序的 server-side 代码中(例如在环境变量或凭证管理系统中)。从 Dart 调用意味着您正在向全世界公开您的凭证。在 Stripe Doc

中有解释