【发布时间】:2021-12-31 07:45:45
【问题描述】:
我正在将 Stripe 集成为支付网关,我正在查看它在锡上写的 flutter_stripe 包
简化的安全性:我们让您可以轻松收集信用卡号等敏感数据并保持 PCI 合规性。这意味着敏感数据会直接发送到 Stripe,而不是通过您的服务器。有关详细信息,请参阅我们的集成安全指南。
所以我期待一个集成直接调用 Stripe sdk,就像我在我的 Nodejs 服务器中一样,我在其中创建 PaymentIntent,如 Stripe 自定义流程指南中所述
创建一个 PaymentIntent 在您的服务器上添加一个创建 PaymentIntent 的端点。 PaymentIntent 跟踪客户的支付生命周期,跟踪任何失败的支付尝试,并确保只向客户收取一次费用。在响应中返回 PaymentIntent 的客户端密码以在客户端完成支付。 (服务器)
使用 Stripe.js 通过确保将付款详细信息直接发送到 Stripe 而不会访问您的服务器来保持 PCI 合规性。 (客户)
并在我的 Flutter 应用程序中确认 PaymentIntent 而不点击尝试服务器。
我期待在他们的 API 中找到与 Stripe 节点 sdk 等效的东西
const paymentIntent = await stripe.paymentIntents.confirm(
'pi_1EUq4543klKuxW9fVKimzjFV',
{payment_method: 'pm_card_visa'}
);
但我只找到了方法
Future<PaymentIntent> confirmPayment( String paymentIntentClientSecret,PaymentMethodParams data,[ Map<String, String> options = const {},])
会的
使用提供的 paymentIntentClientSecret 和数据确认付款方式。 有关详细信息,请参阅 PaymentMethodParams。该方法返回一个 PaymentIntent。确认支付方式失败时抛出 StripeException
我从他们的示例应用程序中看到,他们使用服务器来注册客户,从而使 PCI 合规性付诸东流,对吗?
https://github.com/flutter-stripe/flutter_stripe/blob/main/example/server/src/index.ts
我确定我不了解该软件包,但他们的 API confirmPayment 只是将 paymentMethod 广告到 PaymentIntent。
任何解释都会很有帮助。 干杯
【问题讨论】:
-
它说使用“Stripe.js 来保持 PCI 兼容”,括号中有“客户端”,我认为他们(或编写 Flutter 库的人)可能在 Flutter 中被忽略(很多)图书馆
-
嗨,在 Stripe 自定义流程中,我猜这里引用了一个用 js 编写的客户端应用程序,因此建议使用 Stripe.js