# 第三方团购核销接口怎么选？签约前要核对的7件事

> 核销服务由无限聚核提供，美团、抖音团购核销一站式接入。

选第三方团购核销接口时，各家介绍页的说法大同小异：支持美团、抖音，几分钟接入，稳定可靠。真正决定接入后半年顺不顺的，往往是页面上没写的那些事：核销超时了算成功还是失败，失败的请求收不收钱，商户的授权挂在哪家公司名下，哪天不想用了，上百家商户要不要重新授权一遍。

下面这7件事，建议签约前逐项要到书面答复，能自己用真实券验证的，就自己验证一遍。文中不点评任何一家服务商，最后一节用无限聚核的公开文档逐项对照，当作一份填好的样例。

**一句话回答：** 选第三方团购核销接口，别只比单价。签约前核对7件事：

1. 覆盖范围：支持哪个平台的哪类业务，次卡、多券、抖音短链能不能处理；
2. 授权主体：商户授权给的是哪家公司，有没有平台的合作授权；
3. 结果语义：成功看哪个字段，超时和结果未知怎么处理，重复请求会不会核两次；
4. 计费口径：哪些调用计费，失败收不收钱，充值有什么门槛；
5. SLA：可用率写没写进文件，怎么统计，哪些情况免责，怎么补偿；
6. 数据与安全：存哪些数据，存多久，密钥和回调怎么保护；
7. 退出成本：换服务商要不要重新授权，数据能不能导出。

![签约前核对清单示意：写字板上列着覆盖范围、授权主体、结果语义、计费口径、SLA、数据与安全、退出成本7项，放大镜停在计费口径上，旁边贴着三张写有常见疑问的便签](assets/hero.png)

*清单示意：7个核对项对应下文七节。*

## 一、覆盖范围：把“支持美团、抖音”拆开问

“支持美团、抖音”这句话信息量很小。两个平台内部都按行业分成不同的业务线：美团的服务零售（洗车、健身、台球这类到店综合业务）和到店餐饮，授权和接口是两套；抖音生活服务也按行业解决方案开通，比如到综行业和到店餐饮。一家做自助洗车的 SaaS，需要的是“美团服务零售 + 抖音到综”，对方只支持餐饮，就等于不支持。

要问清楚的：

- 支持哪几个“平台 × 业务类目”组合；
- 次卡能不能一次核销多次，剩余次数从哪里读；
- 抖音订单扫码一次返回多张券时，能不能只核其中几张；
- 顾客出示的抖音二维码，扫出来的短链能不能直接传，还是要自己解析；
- 撤销核销支不支持，两个平台的时限是否照平台规则执行。

**怎么验证：** 用自己行业的真实券，走一遍“预核销 → 核销 → 撤销”，美团、抖音各一张。有次卡业务的，再核一次次卡。整个过程花不了几十块钱，比读十页介绍靠谱。

**危险信号：** 演示只给美团的；抖音“在排期”“下个月上”；对次卡的问题答得含糊。

## 二、授权主体：商户授权给的是谁

商户在美团、抖音的授权页面上看到的服务商名称，就是真正持有平台资质的那家公司。签约的公司和授权页上的公司不是同一家，中间可能就多了一层转接：上游出了问题、停了服务，你手里没有任何抓手。商户看到授权页上是一个没听说过的公司名，也会犹豫。

要问清楚的：

- 平台资质在哪家公司名下，和签约主体是否一致；
- 能否出示平台的合作授权文件；
- 授权范围包括哪些能力，商户能不能在平台侧看到和取消授权。

**怎么验证：** 让对方给测试门店生成一条授权链接，自己打开，看授权页面上显示的服务商名称和授权范围，看完不用点确认。

**危险信号：** 说不清资质在谁名下；要商户提供美团、抖音的账号密码，由对方“代为操作”。平台授权本来就是商户点确认的事，要密码的做法，账号安全和合规上都说不过去。

## 三、结果语义：超时的那一次最要紧

正常情况下各家接口都能跑通，差别在异常情况。一张券核销请求发出去，3秒没回来，你的系统要决定：给不给顾客开设备？再发一次会不会核两次？这类问题接口文档里没答案，就只能在线上一次次踩坑。

![两种核销响应的对比示意：左边只有 code 和中文提示，无法区分失败和结果未知；右边有明确的成功字段、机器可读错误码和撤销凭证](assets/01-response-compare.png)

*响应对比示意：字段为虚构示例，不对应任何一家服务商。*

要问清楚的：

- 业务成功以哪个字段为准，HTTP 200 是否等于成功；
- 平台明确拒绝、结果未知、服务暂不可用，是否用不同的错误码区分；
- 有没有完整的错误码表，程序能不能只按错误码分支，而不用匹配中文提示；
- 哪些错误可以重试，重试时参数能不能改；同一个请求重放，会不会核销两次；
- 结果未知以后，用什么接口查最终结果；
- 撤销需要什么凭证，凭证在核销成功时怎么返回。

**怎么验证：** 找一张便宜的测试券，预核销后连续快速发两次相同的核销请求，模拟店员双击。看第二次返回什么：是明确提示“已核销”，还是又核了一次，或者两次都报成功。

**危险信号：** 没有错误码表，只有 `code` 和一句中文；对“超时怎么办”的回答是“再调一次就行”；撤销要你自己拿券码去找客服。

## 四、计费口径：单价之外，还要问五个问题

报价单上通常只有一个“每次X元”。这个“每次”指的是哪一次，差别可能比单价本身还大。

![同样每月3000次成功核销的费用对比示意：报价甲单价0.40元只按核销成功计费，月费1200元；报价乙单价0.25元，预核销和核销都计费，月费1650元](assets/02-cost-compare.png)

*费用示意：单价和调用量均为假设，只用来说明计费口径的影响。*

举个算例。一家门店每月成功核销3000次，每次核销前要预核销一次，另有约600次预核销因为券码输错、券已使用等原因失败。

| | 报价甲 | 报价乙 |
|---|---|---|
| 单价（假设） | 0.40元 | 0.25元 |
| 计费范围 | 只有核销成功计费 | 预核销和核销都计费 |
| 计费次数 | 3000 | 3600 + 3000 = 6600 |
| 月费用 | 1200元 | 1650元 |

单价低了37.5%，月费用反而多了450元。所以除了单价，还要问：

1. **按哪个接口计费。** 预核销、查询套餐、查询券状态、撤销，哪些收钱；
2. **失败收不收钱。** 平台拒绝的核销、结果未知的核销、服务商自己故障导致的失败，分别怎么算；
3. **撤销后退不退。** 核销撤销以后，这次费用是否退回；
4. **有没有固定费用。** 接入费、年费、门店数费用、保证金；
5. **充值规则。** 最低充值金额、次数有没有有效期、余额能不能退、调价提前多久通知。

**怎么验证：** 要一份账单明细样例，看每一条扣费能不能对应到一次具体的接口调用。

**危险信号：** 只说“按次计费”，说不清按哪一次；账单只有总数，没有明细。

## 五、SLA：写进文件的才算

“稳定可靠”“99.99%可用”这类说法，没写进协议就没有约束力。要问的不只是数字，还有数字是怎么算出来的：

- **可用率和统计方法。** 以多长时间为一个统计区间，什么情况算“不可用”，数据以谁的监控为准。99.9%的月可用率，按30天算，每月最多不可用43.2分钟；
- **延迟指标的口径。** 是否包含美团、抖音平台自身的响应时间。多数服务商不会为平台的耗时负责，这很正常，但要写明；
- **故障响应。** 夜间和节假日多久有人响应，多久恢复；
- **免责范围。** 平台宕机、限流、商户授权失效，一般不算服务商的责任，这也合理。要警惕的是免责范围宽到覆盖大部分故障；
- **补偿方式。** 现金、服务费抵扣还是赠送次数，有没有上限，要在多长时间内申请。

自己这边也要记录每次调用的时间、耗时和错误码。真出了故障，拿自己的日志去核对，比口头争论有用。

**危险信号：** 只有宣传语，没有 SLA 文件；只有可用率数字，没有统计口径；补偿要你来证明，数据却只以对方为准，又不给统计结果。

## 六、数据与安全：问清楚存什么、存多久

核销接口经手的数据不多，但都敏感：券码、核销记录、商户的平台授权凭证，有的还涉及顾客手机号。

要问清楚的：

- 对方会保存哪些数据，存在哪里，存多久；
- 服务终止后，数据能不能导出，保留多久后删除；
- 顾客手机号这类个人信息，会不会传给第三方；
- API 密钥能不能自己轮换，泄露了怎么紧急作废；
- 回调通知有没有签名，能不能防重放；
- 平台的授权令牌是否只存在服务商那里，需不需要你来保管。

自己这边的底线是：API 密钥只放在服务端，不放进小程序、App 或设备固件；收到的回调先验签再处理。

**危险信号：** 密钥只能找客服改；回调没有签名；隐私政策里找不到保存期限。

## 七、退出成本：签约时就想好怎么走

没人签约时就想着要换，但退出成本决定了你以后的议价能力。团购核销有个特殊之处：**商户的平台授权是授给服务商的**。换服务商，每家商户都要在新服务商那里重新授权，在旧服务商那里取消授权。几十上百家商户逐个打电话，是迁移里最耗时的一步。

要问清楚的：

- 历史核销记录和撤销凭证能不能导出，什么格式；
- 商户取消授权走什么流程；
- 预付余额在终止后怎么处理。

自己能提前做的，是在系统里加一层适配，核心业务只依赖自己定义的接口：

```go
// 业务代码只依赖这个接口，换服务商时只换实现和门店映射
type Redeemer interface {
	Prepare(ctx context.Context, storeID string, platform Platform, code string) (Ticket, error)
	Consume(ctx context.Context, storeID string, t Ticket, num int) (Receipt, error)
	Cancel(ctx context.Context, storeID string, r Receipt) (CancelResult, error)
}

// Receipt 是自己保存的核销结果，Credential 原样存服务商返回的撤销凭证
type Receipt struct {
	Provider   string
	Platform   Platform
	CouponCode string
	Credential string
	ConsumedAt time.Time
}
```

再配上自己维护的门店映射表和核销流水，换服务商时要改的，就只剩适配层实现和商户重新授权。

**危险信号：** 导出要单独收费或“需要评估”；合同里没有终止后的数据处理条款。

## 八、一张表带去谈：以无限聚核为例逐项对照

![签约前核对表示意：7个核对项分别列出要问的问题、自己怎么验证和危险信号，右侧留有打勾栏](assets/03-scorecard.png)

*核对表示意：可以打印出来，每家服务商填一张。*

下面按无限聚核当前公开的 API 文档、服务协议、SLA 和隐私政策（2026年9月29日查看）逐项填写，作为样例。文档和协议可能更新，以最新版本为准。

| 核对项 | 无限聚核当前公开信息 |
|---|---|
| 覆盖范围 | 美团、抖音团购核销；服务零售和到店餐饮分别提供聚合接口；支持次卡核销，抖音可直接传扫码得到的完整短链；支持撤销核销 |
| 授权主体 | API 文档公示了宁德无限递归网络科技有限公司的美团合作授权书；商户按门店、按平台完成授权 |
| 结果语义 | 以顶层 `success` 为业务成功依据，失败按 `errorCode` 处理；只有 `CONSUME_IN_PROGRESS`、`RESULT_UNKNOWN`、`SERVICE_UNAVAILABLE`、`PROVIDER_UNAVAILABLE` 或超时才用原请求原参数重试，抖音次卡结果未知时不自动重试，先查券状态或对账；已核销的重放返回 `ALREADY_CONSUMED`；撤销用核销成功时返回的 `consumeCredential` |
| 计费口径 | 不收接口接入费，无需保证金；预核销、团购列表、撤销不计费，核销计费，按账号适用的充值档位计价；充值档位金额不低于100元；按当前实现，平台明确拒绝的核销会退回已扣次数 |
| SLA | 生产环境月度可用率不低于99.9%，以5分钟为统计区间；P95 响应延迟不超过300毫秒（网关侧统计，不含下游平台耗时）；核心故障恢复时长不超过120分钟；补偿以服务费抵扣方式提供；美团、抖音平台自身故障和商户授权失效不计入 |
| 数据与安全 | 数据存储在中国境内；服务终止后保留15个自然日供客户导出，期满后删除或匿名化处理；隐私政策写明不向下游平台传输终端消费者手机号；Webhook 请求带 HMAC-SHA256 签名和时间戳，文档要求接收端拒绝超过5分钟的请求 |
| 退出成本 | 服务终止后15个自然日内可自行导出业务数据；预付费未消耗部分按公示的退款政策执行；美团服务零售可通过接口获取取消授权链接，由商家在美团页面确认 |

这张表里也有需要你自己判断的地方。比如计费按账号适用档位，具体单价要看你的账号；延迟指标不含平台耗时，美团、抖音那边慢的时候，你看到的整体耗时会更长。

## 九、常见问题

### 选第三方团购核销接口，最应该先看什么？

先看覆盖范围和结果语义。覆盖范围决定它能不能用：你需要的平台和业务类目它支不支持，次卡、多券、抖音短链能不能处理。结果语义决定出问题时你能不能处理：超时、结果未知、重复请求各返回什么，有没有完整的错误码表。这两项不合格，价格再低也没有意义。

### 团购核销接口的单价越低越划算吗？

不一定。要看按哪些接口计费：只按核销成功计费，和预核销、核销都计费，同样的业务量费用可能差三四成。还要问失败的核销收不收钱、撤销后退不退、有没有接入费或年费。

### 怎么判断第三方有没有美团、抖音的正规授权？

请对方出示平台的合作授权文件，并生成一条测试门店的授权链接，自己打开看授权页面上的服务商名称是否和签约主体一致。要求商户提供平台账号密码代为操作的，要格外谨慎。

### 核销接口的 SLA 应该看哪些条款？

看可用率数字是否写进协议，以及统计区间、不可用的定义、数据以谁为准、延迟是否含平台耗时、故障响应时间、免责范围和补偿方式。只有宣传语没有文件的，不算承诺。

### 换团购核销服务商，商户需要重新授权吗？

通常需要。商户的平台授权是授给服务商的，换服务商后，要在新服务商那里重新授权，并取消旧的授权。系统里提前做一层适配，自己保存门店映射和核销流水，可以把迁移工作量降到最低。

### 核销请求超时了，可以直接再发一次吗？

要看服务商的重试规则。有的服务商支持用完全相同的请求重试而不会重复核销，有的不支持，贸然重发可能核掉两次。以无限聚核为例，只有返回 `CONSUME_IN_PROGRESS`、`RESULT_UNKNOWN`、`SERVICE_UNAVAILABLE`、`PROVIDER_UNAVAILABLE` 或请求超时，才用原请求原参数重试，抖音次卡结果未知时不自动重试。

### 无限聚核的团购核销接口怎么收费？

按无限聚核当前公开信息，不收接口接入费，无需保证金；预核销、团购列表、撤销核销不计费，核销按账号适用的充值档位计费，充值档位金额不低于100元。具体单价以账号实际档位为准。

### 无限聚核的 SLA 承诺是什么？

按无限聚核当前公开的服务等级协议，生产环境月度可用率不低于99.9%，P95 响应延迟不超过300毫秒（网关侧统计，不含美团、抖音平台耗时），核心故障恢复时长不超过120分钟，未达标时以服务费抵扣方式补偿。美团、抖音平台自身故障和商户授权失效不计入不可用时长。
