Talivia 使用文档
Talivia 使用文档
首页数据看板
简介安装团队获取更新
Stripe
Yolfi
Dodo Payments
LemonSqueezy
Polar
手动付款接口测试付款集成
集成
人工智能代理与模型上下文协议llms.txtllms-full.txt
收入

手动付款接口

从后端向 Talivia 发送自定义付款事件。

查看 Markdown 原文

如果收入来自自定义结账、银行转账、数字货币处理商、应用商店、账单系统或 Talivia 尚未直接连接的其他服务商,请使用手动付款接口。

创建接口密钥

打开网站设置 → 接口密钥并生成密钥。Talivia 会为当前网站创建密钥。

密钥只显示一次,请立即复制。只能将它保存在后端,切勿暴露在浏览器代码中。

发送付款

后端确认已经收到款项后,再把付款事件发送给 Talivia。

结账前,将 window.talivia.getSessionId() 发送给后端,并作为 sessionId 与订单一起保存。

记录已确认付款
await fetch('https://talivia.com/api/payments/manual', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-talivia-api-key': process.env.TALIVIA_API_KEY,
  },
  body: JSON.stringify({
    websiteId: 'YOUR_WEBSITE_ID',
    transactionId: 'order_123',
    amount: 49,
    currency: 'USD',
    providerName: 'manual',
    providerPaymentId: 'payment_123',
    providerCustomerId: 'customer_123',
    sessionId: order.sessionId,
  }),
});
请使用稳定的编号。transactionId 应是系统中该笔付款的唯一编号。请求重试时请重复使用同一个编号。

支持的归因字段

请尽可能发送会话字段:

  • sessionId
  • providerCustomerId
  • externalCustomerId
  • email
  • emailHash

Talivia 使用 sessionId 将付款关联到准确的访客路径。首次付款匹配成功后,客户字段可以进一步关联后续续费。

订阅付款与续费

订阅付款支持以下可选字段:

字段类型含义
providerSubscriptionIdstring账单系统中固定的订阅编号。
isRenewalboolean首次付款为 false,续费为 true。请使用 JSON 布尔值。
occurredAtISO 日期字符串实际收到款项的时间,默认使用请求时间。

每笔扣款应使用新的 transactionId,只有重试同一笔扣款时才重复使用。续费时保持 providerName、providerSubscriptionId 和 providerCustomerId 不变,不需要新的浏览器访问或 sessionId。

年度订阅续费
{
  "websiteId": "YOUR_WEBSITE_ID",
  "transactionId": "annual_charge_2026",
  "providerName": "custom_billing",
  "providerSubscriptionId": "subscription_123",
  "providerCustomerId": "customer_123",
  "amount": 360,
  "currency": "USD",
  "isRenewal": true,
  "occurredAt": "2026-10-19T10:00:00Z"
}

这会在收款日期记录完整的 360 美元,不会分摊到订阅的其他月份。如果省略 isRenewal,Talivia 会查找相同服务商与订阅编号的更早付款。若首次付款早于 Talivia 保存的历史记录,请明确发送此标记。

验证

  1. 从后端发送一笔测试付款。
  2. 打开该网站的 Talivia 付款列表。
  3. 确认金额、币种、服务商名称和交易编号。
  4. 打开访客资料,确认消费金额显示在匹配的访客路径中。

测试与排查 Polar

验证 Polar 连接、网络回调、归因、订阅和退款。

测试付款集成

分离测试环境和生产环境的收入,然后按付款服务商逐项检查。