建立在 Stripe 之上的一个非常简单的推荐程序——如何隔离付款?

A very simple referral program built on top on Stripe - how to segregate payments?

我有一个页面,其中有一个创建 Stripe 会话的按钮,用户被重定向到 Stripe 并在那里为某些数字产品付款。

我的一些用户也将成为我推荐计划的成员。这样的用户将拥有一个特殊的 URL 和他独特的“referral_id”。在付款页面上,我会检查 URL 是否包含“referral_id”。从付款用户的角度来看,其余过程将保持不变 - 重定向到 Stripe 并付款。

我计划将“referral_id”保存在 元数据 中并将其与其他参数一起发送,以创建 Stripe 会话。

我的目标: 能够轻松 根据“referral_id 确定哪些付款属于其推荐 ID ]”在元数据中。而且根本没有推荐。而且,为了隔离每个推荐的付款,将它们汇总......最好通过我的 Stripe 仪表板。

例如

“推荐人 A 这个月赚了 $X”

“推荐人 B 这个月赚了 $Y”

“本月在没有推荐的情况下支付了 $Z”

问: 如何在元数据中使用“referral_id”?有可能吗?


不会有很多推荐用户...假设暂时有 10 个。

我可能不需要 Stripe Connect,因为我现在希望一切都尽可能简单。

费用 API 允许指定描述。

描述可以是任何你想要的。这是您自己的信息花絮,您可以添加到每笔交易中。

当您将 Stripe 网站上的交易导出为 CSV 时,描述也可以导出。我想它也可以用他们的 APIs 提取。

这有帮助/足够吗?

const stripe = require('stripe')
await stripe(stripe_secret_key).charges.create({
    amount: ..,
    currency: ..,
    source: ..,
    application_fee: ..,
    description: "this here can be whatever"
  }, {
    stripe_account: accountId
  });

在 Stripe 仪表板上并没有真正的方法来执行此操作,但您当然可以自己构建类似的东西。

根据元数据中的 reference_id(或缺少元数据),您将从 retrieving all the Checkout Sessions, then loop over the list and add up the totals 开始。

与其每次要检查总计时都重做上述逻辑(随着已完成的结账会话数量的增加,这将逐渐变慢),您可以依靠 webhooks 来增加总计,因为它们通过 checkout.session.completed 活动进入。