建立在 Stripe 之上的一个非常简单的推荐计划 - 如何隔离付款?

问题描述

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

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

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

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

例如。

“推荐人 A 本月赚了 X 美元”

“推荐 B 本月赚了 $Y”

“本月有 $Z 的付款没有推荐”

问:如何使用元数据中的“referral_id”来做到这一点?有可能吗?


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

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

解决方法

费用 API 允许指定描述。

描述可以是您想要的任何内容。这是您可以添加到每笔交易中的个人信息。

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

这有帮助/足够吗?

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 仪表板上没有真正的方法可以做到这一点,但您当然可以自己构建这样的东西。

您将从 retrieving 所有结帐会话开始,然后遍历列表并根据元数据中的 reference_id(或缺少元数据)添加 totals。>

与其在每次想要检查总数时都重做上述逻辑(随着完成的结帐会话数量的增加,它会逐渐变慢),您可以依靠 webhooks 来增加总数通过 checkout.session.completed 事件。