# 手动付款接口 (https://talivia.com/zh-CN/docs/revenue-guides/manual)



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

## 创建接口密钥 [#创建接口密钥]

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

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

## 发送付款 [#发送付款]

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

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

```javascript title="记录已确认付款"
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` 将付款关联到准确的访客路径。首次付款匹配成功后，客户字段可以进一步关联后续续费。

## 验证 [#验证]

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