禁用客户名称的条带结帐自动填充

Posted

技术标签:

【中文标题】禁用客户名称的条带结帐自动填充【英文标题】:Stripe checkout autofill of disable customer name 【发布时间】:2022-01-20 15:31:48 【问题描述】:

我正在使用条带结帐。我已经收集了一些用户数据,我不希望客户填写他们的名字两次。如何自动填充或禁用名称字段?

const session = await stripe.checkout.sessions.create(
        customer_email: !customerFound ? data.email : undefined,
        customer: customerFound ? customer.id : undefined,
        customer_update: customerFound
          ? 
              address: 'auto',
              name: 'auto',
            
          : undefined,
        line_items: lineItems,
        client_reference_id: data.userId,
        payment_method_types: ['card', 'bancontact'],
        mode: 'payment',
        success_url: `$domain/betaling-gelukt?session_id=CHECKOUT_SESSION_ID`,
        cancel_url: `$domain/betaling-mislukt`,
        locale: 'nl',
        billing_address_collection: 'auto',
        metadata: 
          reservation: data.reservatieId,
        ,
      );

【问题讨论】:

这是打字稿吗? 【参考方案1】:

As per the documentation:

在付款模式下,将使用客户最近的银行卡付款方式在结帐页面上预填电子邮件、姓名、银行卡详细信息和帐单地址。

在订阅模式下,如果是卡,将使用客户的默认付款方式,否则将使用最近的卡。 Checkout 需要一个有效的帐单地址才能预填客户的信用卡详细信息。

这可能适合您的情况,也可能不适合您的情况。


或者,您可以完全取消 Stripe Checkout,并在 Stripe 提供的后端 API 旁边使用 Stripe.js。这种方法有其优点/缺点:

优点:

对元素和元素流的完全控制 根据您自己的选择自定义/样式元素

缺点

您必须手动创建后端并处理PaymentIntentSubscription

我们遇到了与您类似的问题,虽然从 Stripe Checkout 到 Stripe.js 的初始更改有点学习曲线,但它给了我们更多的控制权,让我们无需重定向到外部站点即可进行付款。

注意:我故意省略了代码,因为 Stripe.js 的实现可能会根据您的需要而有所不同,但如果需要,我可以提供一些示例。

【讨论】:

谢谢,下一个项目我将使用 Stripe.js (=elements?)【参考方案2】:

请注意,结帐会话的 name 字段不一定是您客户的姓名,而是他们使用的付款方式上的姓名。

除非customer 已经附加了可以与​​setup_future_usage 一起使用的付款方式,否则无法预填充此name 字段。

对于 bancontact 付款方式,这是不可能的,因为它只适用于一次性付款。 对于卡付款方式,这是可能的。这将预先填写Stripe documentation 中提到的电子邮件、姓名、卡详细信息和帐单地址。

一般来说,我建议让 Stripe Checkout 收集所有信息,然后据此更新您的系统,而不是反过来。

【讨论】:

该名称不是付款方式的名称,而是客户名称。我需要一些额外的自定义字段,所以我必须在结帐前收集一些信息,所以我不妨收集所有信息。

以上是关于禁用客户名称的条带结帐自动填充的主要内容,如果未能解决你的问题,请参考以下文章

为 DropdownList 禁用 Chrome 自动填充

在每个文件(不是文件类型)的基础上禁用自动填充模式

如何在 iOS 11 应用程序登录屏幕中禁用新密码自动填充功能?

在自动填充被破坏或禁用的站点上强制登录自动填充

使用角形和镀铬禁用自动填充/自动完成

网页禁用表单的自动完成功能禁用密码自动填充autocomplete