为类似Twitch.tv的产品设置条带订阅

时间:2019-05-10 00:47:48

标签: node.js stripe-payments

我目前在将客户添加到计划的过程中遇到了一些问题。

关于付款类型的一个非常广泛的想法是考虑Twitch Streaming。您可以免费关注用户,但支付少量费用即可“订阅”他们。

当前,当用户填写付款表格时,我会通过source在前端创建一个react-stripe-elements,然后将source.id传递给我的后端。

这是我开始崩溃的地方。

  1. 我应该为每个用户创建一个不同的产品,以便从条纹仪表板中轻松查看哪个用户/产品最擅长吗?

一种解决方法是,当用户创建帐户时,我的后端会自动为该特定用户创建产品以及计划,然后将plan_id存储到用户模型中。

因此,当一个用户订阅另一个用户时,我可以拉出plan_id并以此方式创建订阅。

  1. 当前,每当用户提交付款表格时,我都会创建一个来源。
let attach_source = async ( customer_id, source_id ) => {

    await stripe.customers.createSource( customer_id, {
        source: source_id
    } )

}

我是否检查是否发生错误,并查看该错误是否为重复来源?还是Stripe负责所有事情。

  1. 我也很好奇,Stripe如何处理来自不同信用卡的同一客户的多个订阅。我看不到任何表明订阅来自特定来源的信息。

感谢您抽出宝贵的时间阅读本文档。感谢帮助!

1 个答案:

答案 0 :(得分:1)

您似乎正在描述Stripe(https://stripe.com/docs/billing/subscriptions/creating)的计费用户案例

  1. 您可能无需为每个客户创建一个计划就可以逃脱。您可以做的是创建一个具有使用量(https://stripe.com/docs/billing/subscriptions/quantities)的计划,以便订阅5美元的最低计划,当他们想贡献更多时,更新计划的数量
  2. 当前条带源具有一个fingerprint字段,该字段对于相同的信用卡号(https://stripe.com/docs/api/cards/object#card_object-fingerprint)是唯一的,您可以比较指纹以确定是否已添加卡。 Stripe现在不执行任何重复检查

  3. 有一个default_sourcehttps://stripe.com/docs/api/subscriptions/create#create_subscription-default_source)参数,您可以在其中为不同的订阅设置不同的卡;