收入Stripe
Stripe 订阅与账单
在订阅注册、续费、失败和生命周期变化中保留归因。
循环收入涉及两个归因问题:匹配最初的订阅注册,以及把之后的账单付款重新关联到同一客户路径。
归因订阅注册
结账创建订阅时,请同时在结账会话和后续订阅上设置 Talivia 会话。
const metadata = { talivia_session_id: sessionId };
await stripe.checkout.sessions.create({
mode: 'subscription',
line_items: [{ price: 'price_monthly', quantity: 1 }],
success_url: 'https://your-site.com/thanks?session_id={CHECKOUT_SESSION_ID}',
metadata,
subscription_data: { metadata },
});Stripe 会在结账事件上提供结账元数据,在订阅事件上提供订阅元数据。订阅生成的账单会把元数据放在账单的订阅详情下。Talivia 同时读取当前的 parent.subscription_details.metadata 结构和较早的 subscription_details.metadata 结构。
关联客户身份
客户登录、注册或进入已验证产品时调用 identify。
window.talivia.identify('user_123', {
email: currentUser.email,
stripeCustomerId: currentUser.stripeCustomerId,
});续费没有新的浏览器结账会话时,Talivia 仍可通过 Stripe 客户完成归因。
Talivia 维护的事件
托管 Stripe 网络回调会接收:
- 成功和失败的账单付款;
- 订阅创建、更新、取消、暂停、恢复、试用和待处理更新;
- 成功退款和退款更新;
- 争议创建、更新、结束和资金变动。
首次结账和账单事件可能以任意顺序到达。结账会话未提供付款意图时,Talivia 会先通过账单编号进行精确核对,再把付款意图、结账会话、客户、金额和事件时间作为备用证据。匹配成功后会更新已有付款,而不会重复计算注册收入。