代码之家  ›  专栏  ›  技术社区  ›  jacobi_matrix

使用条带订阅创建用户[已关闭]

  •  -1
  • jacobi_matrix  · 技术社区  · 3 年前

    我目前正在建立一个网站来销售基于订阅的服务。 目前,用户创建表单类似于常见的注册表单(电子邮件和密码)+订阅层的选择。提交时,我将用户信息(电子邮件和密码)发送到后端,并将其存储为非活动用户,然后使用stripe为每个产品提供的链接将用户重定向到stripe支付页面(注意,该表单需要电子邮件)。

    我有一个stripe webhook,它可以监听paymentient.successed事件(以及处理取消订阅、回报和其他事情的其他事件),如果我在webhook事件中收到的电子邮件与一个非活动帐户匹配,则该帐户将变为活动帐户,并可以根据用户选择的级别访问功能。虽然如果用户使用相同的电子邮件进行注册并以条带形式进行注册,这将起作用,但在其他情况下(即,如果用户出于某种原因使用不同的电子邮件),这将失败,并且该过程感觉不太稳健。 我想知道是否有更稳健的方法来获得相同的结果(用户创建+验证正确的支付)。后端是使用activx+async stripe在Rust中编写的,如果这很重要的话。提前谢谢。

    1 回复  |  直到 3 年前
        1
  •  0
  •   Lucky2501    3 年前

    stripe支付页面使用stripe为每个产品提供的链接(注意,该表单需要一封电子邮件)。

    我猜你是指这里的Stripe Checkout或Payment Links。
    这两种解决方案都允许您预先填充电子邮件:
    -使用 customer_email Checkout会话的参数:
    https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=checkout#prefill-customer-data
    -使用 prefilled_email 带有支付链接的查询参数:
    https://stripe.com/docs/payment-links/customer-info#customize-checkout-with-url-parameters
    (注意,有了这个,客户实际上仍然可以更改字段的值)

    如果不预先填写电子邮件,您似乎要重复两次相同的过程:
    -将用户注册/登录到其帐户。
    -在会话中再次收集电子邮件。
    我认为预先填写电子邮件将有助于简化您的流程。