# Polar 订阅与续费 (https://talivia.com/zh-CN/docs/revenue-guides/polar/subscriptions-and-renewals)



Talivia 会监听 Polar 订阅生命周期事件，并从 `order.paid` 记录已付款续费订单。首次结账应同时包含 Talivia 会话编号和稳定的应用客户编号。

```javascript title="创建循环结账"
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 客户编号后再调用一次。

```javascript title="关联 Polar 客户"
window.talivia.identify(user.id, {
  email: user.email,
  externalCustomerId: user.id,
  providerName: 'polar',
  polarCustomerId: polarCustomer.id,
});
```

结账时设置相同值后，外部编号通常已经足够；增加 Polar 客户编号可提升匹配韧性。

## Talivia 导入哪些内容 [#talivia-导入哪些内容]

* 首次已付款订单和之后的已付款续费；
* 累计的全额或部分退款；
* 订阅创建和状态变化；
* 首次连接回填时的有效订阅上下文。

没有已付款订单的试用只保存为订阅状态，不计为收入。
