用途:为软件产品实现许可证密钥管理,支持按席位控制、订阅绑定与付费功能门控。
主要能力:区分三类资源——client.licenses.* 为终端用户激活流程(公开、无需 API key),提供 activate()、validate()、deactivate();client.licenseKeys.* 为商家侧密钥管理(需 API key),提供 list()、retrieve()、create()、update();client.licenseKeyInstances.* 追踪每台设备实例。激活上限为空表示不限,超限返回 422。一次性付费密钥按有效期失效;订阅签发的密钥随订阅状态,暂停暂时禁用,立即取消永久禁用,cancel_at_next_billing_date 则保留至期末;导入密钥 expires_at 为 null 表示永久。
使用方式:先安装 dodopayments SDK,终端用户侧无需 bearerToken;商家侧使用 bearerToken 与 environment。桌面应用(Electron)可存储密钥与实例 ID,离线时按本地激活时间给予宽限期;CLI 可用 commander 注册 activate、deactivate、status 命令。Webhook 需用 client.webhooks.unwrap 校验签名,处理 entitlement_grant.delivered、entitlement_grant.revoked,以及 subscription.cancelled 和 subscription.expired;取消时按订阅 ID 查询持久化的密钥映射再禁用,避免误伤其他客户密钥。
适用场景:桌面软件、CLI 工具、Web 服务中的许可校验与付费功能门控。
限制:不要只在安装时校验一次,应周期性或每次启动校验;需处理激活上限错误并给用户解绑旧设备的路径;敏感功能必须在服务端校验,不能只信任客户端。官方文本未提供定价与平台支持细节。