Stripe Checkout:避免为每次付款创建新客户

Stripe Checkout: Avoid creating new customer for every payment

我正在创建如下的条带结帐 -

stripe.checkout.sessions.create({
    payment_method_types: ['card'],
    line_items: [
      {
        price_data: {
          currency: "USD",
          product_data: {
            name: "Product Name",
            images: ["ProductImage"]
          },
          unit_amount: "200",
        },
        quantity: 2,
      },
    ],
    mode: 'payment',
    success_url: "https://example.test/success",
    cancel_url: "https://example.test/cancel",
  });

我没有任何客户登录。我希望在对应于电子邮件的条带端只创建 1 个客户。 由于我没有客户登录,因此在创建结帐会话时无法传递客户 ID。

是否有任何方法可以使用结帐付款表格中添加的电子邮件来验证客户。我们可以为此使用任何 webhook 或事件吗?任何指针? TIA.

如果您不存储客户对象 ID 并在创建结帐会话时传递它们,并且您不希望为每个成功的会话创建一个新的客户对象,那么您可以将 customer_creation parameter 传递给防止这种情况。

stripe.checkout.sessions.create({
    payment_method_types: ['card'],
    line_items: [
      {
        price_data: {
          currency: "USD",
          product_data: {
            name: "Product Name",
            images: ["ProductImage"]
          },
          unit_amount: "200",
        },
        quantity: 2,
      },
    ],
    mode: "payment",
    success_url: "https://example.test/success",
    cancel_url: "https://example.test/cancel",
    customer_creation: "if_required"
  });