# 测试与排查 Dodo Payments (https://talivia.com/zh-CN/docs/revenue-guides/dodo-payments/testing-and-troubleshooting)



先使用[通用付款测试配置](https://talivia.com/zh-CN/docs/revenue-guides/testing-payment-providers)分离测试与生产收入，再完成以下 Dodo 专项检查。

## 连接测试账户 [#连接测试账户]

在 Dodo 测试环境中创建拥有写入权限的接口密钥，并连接到测试 Talivia 网站。Talivia 会识别密钥属于测试环境还是正式环境，然后调用相应接口验证商户、导入可用历史并创建网络回调。

Talivia 中没有 Dodo 环境选择器。如果当前 Dodo 密钥没有环境前缀，Talivia 会在各服务商环境中验证，并保存验证成功的连接。

## 最小测试矩阵 [#最小测试矩阵]

| 场景           | Talivia 预期结果                          |
| ------------ | ------------------------------------- |
| 从已追踪页面点击付款链接 | 付款匹配到来源会话                             |
| 通过接口创建结账会话   | 通过 `metadata.talivia_session_id` 匹配付款 |
| 浮层或内嵌结账      | 与其底层结账会话结果相同                          |
| 未访问网站而直接打开链接 | 付款记录为**未归因**                          |
| 全额或部分退款      | 保留原始付款并减少净收入                          |
| 重复网络回调       | 不重复创建付款或退款                            |

## 连接失败 [#连接失败]

* \*\*两个环境都拒绝密钥：\*\*从 Dodo 复制新接口密钥后重试。
* \*\*禁止创建网络回调：\*\*为密钥启用写入权限。
* \*\*找不到商户：\*\*确认密钥所属 Dodo 账户有可用的商户或品牌。

重新连接会更新 Talivia 网络回调网址对应的托管端点。账户或环境改变时，Talivia 会导入新历史并删除之前的托管端点。

## 没有出现付款 [#没有出现付款]

在 Dodo 网络回调设置中，确认 Talivia 端点已启用，并且 `payment.succeeded` 投递返回成功响应。退款更新需要 `refund.succeeded`。

若缺少投递，请重新连接 Dodo，让 Talivia 修复网络回调并取回签名密钥。若投递被拒绝，请确认事件来自连接密钥所在的同一 Dodo 环境。

## 付款未归因 [#付款未归因]

* \*\*付款链接：\*\*通过运行 Talivia 追踪器的页面上的普通链接打开。
* \*\*结账会话、浮层或内嵌结账：\*\*后端创建结账会话时，将当前会话加入 `metadata.talivia_session_id`。
* \*\*共享原始链接：\*\*买家从未访问已追踪网站时，付款未归因属于预期结果。

请勿将 Talivia 会话编号用于身份验证。它只是一个不透明的归因值。
