收入Polar
Polar 订阅与续费
在 Polar 订阅创建、生命周期变化和循环订单中保留归因。
Talivia 会监听 Polar 订阅生命周期事件,并从 order.paid 记录已付款续费订单。首次结账应同时包含 Talivia 会话编号和稳定的应用客户编号。
const checkout = await polar.checkouts.create({
products: [process.env.POLAR_RECURRING_PRODUCT_ID],
successUrl: 'https://your-site.com/thanks?checkout_id={CHECKOUT_ID}',
externalCustomerId: user.id,
customerEmail: user.email,
metadata: { talivia_session_id: sessionId },
});Polar 会把结账元数据复制到创建的订阅。Talivia 保存订阅状态,并在没有新浏览器会话的后续订单中复用客户身份。
识别已登录客户
登录后调用 identify;获得 Polar 客户编号后再调用一次。
window.talivia.identify(user.id, {
email: user.email,
externalCustomerId: user.id,
providerName: 'polar',
polarCustomerId: polarCustomer.id,
});结账时设置相同值后,外部编号通常已经足够;增加 Polar 客户编号可提升匹配韧性。
Talivia 导入哪些内容
- 首次已付款订单和之后的已付款续费;
- 累计的全额或部分退款;
- 订阅创建和状态变化;
- 首次连接回填时的有效订阅上下文。
没有已付款订单的试用只保存为订阅状态,不计为收入。