退款
purser 不经手钱:退款时调用你们自己的接口,金额由你们的系统算,AI 只在规则允许时提出,额度内自动执行,其余等人批准。
purser 不碰钱
purser 不经手钱,也不保存任何支付凭证。退款时,它调用你们服务器上的一个 HTTPS 接口,由你们自己的系统去退。每个请求都带签名和幂等键,重试不会重复退款。
这个功能适合自己开发的商城。退款等动作需要 Growth 或更高套餐;降到不含这个功能的套餐后,设置会保留,但退款动作自动关闭。
接口的请求格式、签名和返回值见 动作接口。
开通
在「设置 → 退款」里(只有店主和管理员可以修改):
- 退款接口地址:你们服务器上的一个 https 地址。
- 生成密钥:只显示这一次,复制到你们系统的环境变量里。之后可以「换新密钥」,旧密钥立刻失效,你们的系统要同时更新。
- 测试连接:purser 发一个带签名的测试请求,页面显示「连接正常」或失败原因。
- 怎么退:
- 「直接退款」:你们的接口收到就退,并返回结果;
- 「只提交退款申请」:接口只登记申请,你们的人或 ERP 处理完再通过状态接口回报结果。
- 不用人批准的额度:币种、每笔最多、每天最多。默认是 USD,每笔 100、每天 500。
- 打开「启用」。没填接口地址、没生成密钥时不能启用。关着的时候 AI 不会提出退款,客服也不能从收件箱发起。
谁可以发起退款
客服
在收件箱里,客服可以对任意订单点「退款」:选原因(破损 / 与描述不符、没收到货、退货、其他),可以写一段说明(会发给你们的系统),点「先看金额」,看到你们系统算出的金额后点「确认退款」。发起的客服就是批准人,确认后立即执行。
如果在看金额和确认之间,你们系统算出的金额变了,这次确认会被拒绝,并提示按新金额重新确认。
AI
目前 AI 只在一种情况下主动提出退款:顾客在聊天里说收到的东西坏了或发错了并上传照片,照片核验结果干净,而且「破损/错发」这类问题的自主档位是 R3 或 R4(见 AI 怎么回答)。这时理赔会被自动通过,AI 向顾客提出退款。
AI 提出退款前,以下条件必须全部满足。这些是写死的规则,不经过模型判断:
- 顾客是已登录顾客,而且订单是他自己的;
- 订单没有退过款、没有被取消;
- 期限:破损或与描述不符,按退货期限和保修期中较长的一个;普通退货只按退货期限。从签收日算起,没有签收记录时从下单日算。期限取自知识库的「政策数字」,两个都没填时交给人判断;
- 「没收到货」和其他原因,AI 一律不提,交给人处理;
- 这个订单没有另一笔正在处理的退款(同一订单同一时间只能有一笔,客服发起的也一样);
- 这个订单还没通过 purser 退过款(客服仍然可以再退,比如补退差额);
- 你们接口的
refund.preview给出了金额,没有拒绝。
金额永远来自你们的 refund.preview,不是模型算的。
顾客确认
顾客在聊天窗口里看到金额,点「好的,退款」或「不用了」。24 小时内没回应,这次退款报价就过期。顾客看到的所有退款相关的话都是固定模板(12 种语言),不由模型生成。
自动执行,还是等人批准
顾客确认后,以下条件全部满足才会自动执行:
- 退款已启用;
- 自动退款没有被冻结;
- 这类问题(「破损/错发」)的自主档位是 R4;
- 币种和额度的币种一致(其他币种的退款总是要人批准);
- 金额不超过「每笔最多」;
- 当天(按 UTC)已经自动退的金额加上这一笔,不超过「每天最多」。
任何一条不满足,这笔退款就进左侧「退款」页的「等你批准」,并写明原因(比如「这类问题的自主档位是 R2,自动退款需要 R4」「超过单笔自动退款额度」)。团队成员点「批准并退款」立即调用你们的接口,或者点「拒绝」并写原因(顾客看不到,只记在审计里)。
自动冻结
每次自动退款后都会检查:今天自动退款的总额,是否超过前 7 天每天自动退款总额中位数的 3 倍。超过就立即冻结自动退款,之后顾客确认的每一笔都要人批准。
- 只按额度币种计算,按 UTC 日期分天。
- 前 7 天里少于 4 天有自动退款时(中位数是 0),不会触发冻结,这时只靠「每天最多」兜底。
- 冻结后「退款」页和「设置 → 退款」顶部会写明原因,店主或管理员在设置里点「恢复自动退款」解除。
幂等和重试
- 每笔退款有唯一的幂等键,请求头和请求体里都带。
- 你们的接口没有给出明确答复(出错、超时 10 秒、返回跳转、返回的不是约定的 JSON)时,purser 用同一个幂等键退避重试,最多重试 5 次;你们按幂等键去重,就不会重复退款。purser 不跟随跳转。
- 你们的接口明确拒绝(4xx 并返回
"ok": false,包括签名校验失败的 401)时记为失败,不重试。 - 重试都失败后,这笔记为「失败」,原因写在这笔退款的记录里,需要人来处理。
- 「只提交退款申请」模式,或者接口返回「处理中」时,状态是「商家处理中」,等你们用状态接口回报结果,顾客会在原来的对话里收到结果。
审计
「退款」页的「最近的退款」列出 AI 提出的和客服发起的每一笔。展开「经过」能看到完整记录:谁提出、依据什么规则(比如签收后第几天、期限多少天)、顾客是否确认、谁批准或拒绝、你们接口每次回了什么。
退款的状态:
| 状态 | 含义 |
|---|---|
| 等顾客确认 | AI 已经给出金额,等顾客点确认 |
| 等人批准 | 顾客已确认,但不满足自动执行条件 |
| 正在退款 | 正在调用你们的接口 |
| 商家处理中 | 你们的系统已受理,等回报结果 |
| 已退款 | 完成 |
| 失败 | 接口拒绝或重试都失败 |
| 顾客不需要 | 顾客点了「不用了」 |
| 已拒绝 | 团队成员拒绝了 |
| 已取消 | 被取消 |
| 顾客没回应,已过期 | 24 小时内顾客没确认 |
试聊里顾客一方可以点确认,但永远不会调用你们的退款接口。