Stripe Checkout 无需姓名或电子邮件

9gt*_*3wS 5 stripe-payments

我想为订阅实现 Stripe 结账。我已遵循此处的指导,一切正常。然而,Stripe 提供的结账表单要求用户输入 (i) 卡上的姓名以及 (ii) 用户的电子邮件。

有没有办法去掉这两项,这样用户就不需要输入它们了?删除这些项目是否可以接受(就安全而言)?

这里的目标是让用户轻松完成支付流程,并限制我有权访问的有关用户的信息。

我正在使用节点。

请注意,我将在注册过程中的其他地方收集用户的电子邮件,因此在结帐表单上显示电子邮件是多余的(即使我可以预先填写它)。

以下是更多细节:

当我使用 Stripe Elements 而不是 Checkout 时,一切似乎都工作正常,不需要客户的姓名。

我还以为旧的 Checkout 不需要名称 - 我相信旧的模式没有名称字段。多年来我完成的许多具有条纹样式的信用卡表格都不需要信用卡表格中的姓名或电子邮件。

根据此答案,表单通常不需要名称,因为它通常不会在验证过程中实际使用(尽管该答案已有几年历史)。

我在这里看到 2017 年的一个答案,指出电子邮件字段是必填字段。我想知道情况是否仍然如此。

编辑:我知道如果我想使用完全可定制的表单,那么我可以使用 Elements。但这是关于结帐的问题。Elements 加载的表单不要求用户输入姓名,而 Checkout 以前也不要求用户输入姓名。如果 Checkout 现在确实需要姓名,Stripe 是否解释过原因?

hmu*_*noz 3

customer_emailCheckout 目前支持在创建 CheckoutSession [0] 时使用该字段预填写用户的电子邮件,但 Checkout 不支持不收集电子邮件。

“名称”输入字段不可配置且无法预先填写。您可能必须使用 Stripe.js 和 Elements 创建自己的自定义表单,才能不收集用户的电子邮件和姓名。

[0] https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-customer_email