加密订阅扣款一直是假的——我们做了第一个真的

·9 分钟

市面上的『加密订阅』大多是换了皮的付款提醒:到期让用户手动再付一次。拆解链上自动扣款为什么难,以及『条款焊死进地址的用户金库』如何第一次把它真正做出来。

本文目录
  1. 1为什么链上自动扣款在原理上就难
  2. 2假订阅的三种形态(识别指南)
  3. 3真正的解法:条款即地址的金库
  4. 4"顾客金库没钱了怎么办?"
  5. 5诚实对比:Stripe Billing 和托管型"订阅"
  6. 6接入长什么样
  7. 7FAQ

先给答案:今天市面上号称"加密订阅"的产品,几乎全是换了皮的付款提醒——到期时给顾客发封邮件或钱包通知,让他手动再付一次。那不叫订阅扣款,叫定期催款。真正的订阅计费意味着扣款自动、按时发生,顾客什么都不用做——而要在区块链上做到这一点、又不托管任何人的资金,是个真正的难题。这篇文章讲清楚它为什么难、假订阅长什么样,以及最终让循环加密扣款成真的架构:条款焊死进地址本身的顾客金库(vault)。(不想读只想看?沙盒零真钱跑完整个生命周期。)

为什么链上自动扣款在原理上就难

信用卡订阅能成立,因为卡是拉取(pull)系统:商户(经由 Stripe)持有授权,按时把钱拉走。加密货币是推送(push)系统:私钥持有人不签名,一分钱都不会动。任何主流公链上,都不存在"授权每月扣我款"这个原语。

所以做加密订阅的人都撞上同一个三难:

  1. 1让顾客每期手动付 → 那不是计费,是提醒(每个月都在流失边缘走一遭)
  2. 2托管 ——把顾客预存款收进平台中心化账户,按期划扣 → 自动化是真的,但你成了托管方:顾客必须信你,监管把它看作客户资金,"加密"退化成一种充值方式
  3. 3无限额度授权 ——让顾客给合约(更糟的是给后端钱包)开放无上限的花费权限 → 自动化有了,安全模型却是行业里最丑陋的那几次被盗的同款

你见过的每个"加密订阅"产品都在这三条里选了一条。大多数选第 1 条,然后把那封邮件叫作 webhook。

假订阅的三种形态(识别指南)

真正的解法:条款即地址的金库

Finality 的订阅建立在一个想法上:把钱放在只有顾客能控制的地方,并把计费条款焊进这个账户的身份里。

完整生命周期:

1. 订阅 = 创建一个专属金库。顾客签一笔交易,在链上建立自己的专属 vault 并存入首期(想多存几期也可以)。关键在:vault 的地址由订阅条款本身派生——每期金额、周期长度、收款人及分成、促销价、总期数上限。改任何一项条款,得到的是另一个地址。条款不存在于某个平台可以偷偷改的数据库里;条款就是这个账户的身份。

2. 扣款自动发生——但只能做一件事。keeper 进程在到期时触发扣款并支付 gas。它有且只有一个权力:按焊死的条款执行扣款。金额、周期、去向,一个都改不了——链上程序会从条款重新计算一切并拒绝任何偏差。keeper 消失了?任何人都可以无许可地触发扣款。keeper 变坏了?它除了执行约定的扣款,什么也做不了。

3. 顾客全程握有完全控制权。vault 里的余额属于顾客:随时可取回,随时可取消。关闭订阅是一笔交易——停止扣款、退回全部剩余储值、连账户的租金押金也退回(在 Solana 上,连开户时网络要求的约 0.004 SOL 都会回来)。没有退出费,因为那笔押金从来就不是我们的钱。

4. 商户拿到 Stripe 级的使用体验。subscription.active、subscription.charged、subscription.canceled 三个 webhook;总览 API 给出 MRR、活跃数、逐订阅续费健康度(金库余额、还够扣几期);客户专属订阅链接;优惠券和试用价。你的集成代码读起来就是订阅计费——因为它就是。

5. 升降级不需要信任我们的算术。周期中途换套餐要算按比例抵扣(proration)——这正是计费系统悄悄做手脚的地方。在这里,后端只是提议一个抵扣额,链上程序从头重算并在不一致时直接拒绝。不诚实的平台(或有 bug 的平台)想在换套餐时多收钱?链会替顾客把账算一遍。

"顾客金库没钱了怎么办?"

那就按双方都希望的方式发生:先进入宽限期(商户可配,默认 7 天),期内充值自动续上;过了宽限期,订阅在链上作废——扣款指令本身会拒绝执行。没有僵尸状态,没有"我们会连续一个月尝试扣你的卡"。商户提前收到 insufficient_balance 事件,有足够时间做挽留;顾客不会为已经离开的服务多付一分钱。(宽限、充值、恢复——三条路都能在沙盒里先排练,一个 webhook 都不用先接。)

诚实对比:Stripe Billing 和托管型"订阅"

Stripe Billing 是优秀的软件——如果你的顾客刷卡,就用它。但它给不了你:分钟级结算(卡的钱要走几天)、免于拒付(订阅业务吃掉的争议单比例格外高)、以及不经托管的资金流。算上计费工具的抽成,费率轻松越过 3%。

托管型加密"订阅"能自动划扣——从它们持有的余额里。你在顾客对第三方存钱的疑虑之上,又叠了一层账户冻结风险。而提醒模式的产品根本不是计费系统,是催缴 CRM。

金库模式是我们所知唯一同时做到三件事的架构:自动按期扣款、零托管、事后无人能改的条款。所以我们说这是第一个真正的加密订阅计费——不是第一个用这个词的,是第一个让这个词名副其实的。

接入长什么样

bash
# 创建套餐
curl -X POST https://finality.money/v1/subscriptions/plans \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pro Monthly",
    "amount": "9.99",
    "cycle": "monthly",
    "pricing_mode": "usd",
    "chain": "solana",
    "token": "USDC"
  }'
# → 返回可直接分享的套餐收银台链接

处理两个 webhook(subscription.active 开通服务、subscription.charged 续费成功)就能上线。沙盒套餐带"模拟支付成功"按钮,不动真钱就能把全生命周期演练一遍。细节见订阅文档,每个接口都能在 API 测试台里实测。

FAQ

加密订阅到底是什么?

指商户按周期自动从顾客的加密资产里收费——而不是每期发一次付款请求。在金库模型下,它是一个顾客自控的链上账户,计费条款在创建时就固定。

加密订阅是怎么运作的?

顾客给只有自己控制的金库充值;计费条款住在金库地址里;keeper 按时触发扣款,链拒绝任何偏离承诺条款的操作。完整机制就是上面这篇正文。

加密货币支付可以循环扣款吗?

可以——但只能靠架构实现,因为没有任何公链有"以后扣我款"的原语。循环扣款要么靠托管、要么靠开放授权、要么靠这里说的金库模型;只有最后一种既自动化、又不持有顾客资金。

商户怎么接受循环加密付款?

建一个套餐(一次 API 调用或控制台表单),分享套餐的收银链接,处理两个 webhook——subscription.active 和 subscription.charged。沙盒可以先排练再上线。

顾客怎么开通自动加密付款?

打开商户的订阅链接,签一次名——创建金库并存入首期——完成。没有钱包授权额度,没有托管方,随时可提取可取消。

加密订阅会自动续费吗?

金库模型下会——只要金库有余额,续费自动发生。背后没有任何"自动续费"的把戏:扣款严格按焊死的条款执行,顾客一取消或余额耗尽过了宽限期,立即停止。

能像绑卡一样用加密货币订阅吗?

能——开始时签一次名(代替填卡号),之后扣款自动进行。对你有利的差别是:余额在你手里,不在商户或处理商手里。

顾客能用加密货币付订阅、又保住自己的托管权吗?

这正是金库设计的意义:顾客从一个只有自己控制的账户里付订阅费。商户从不持有余额,我们也不。

自动加密扣款安全吗?

在结构上比替代方案更安全:这个模型下的自动循环扣款,金额不能超过焊死值、去向不能改、取消后不能继续——三条都由链强制执行。对比无限代币授权的最坏情况("最多能扣多少?"——答案是全部)。

能自动从加密钱包里扣款吗?

普通钱包不能——这正是问题本身,也是大多数"订阅"沦为提醒邮件的诚实原因。能被自动扣款的,是一个条款预先承诺好的专用金库——顾客订阅时创建的就是它。

支持 USDT 订阅吗?

支持——USDT 订阅和 USDC 完全一样:建套餐时选币种即可。在 USDT 当家的市场,它往往就是正确的默认。

能用 USDC 按周期扣费吗?

能——USDC 循环扣款是最常见的配置:美元计价的套餐、USDC 结算的扣款,没有波动性对话。

稳定币循环扣款有什么优势?

稳定币循环扣款是订阅的理性默认:顾客当初认可的金额就是每期实付的金额,任何方向都没有汇率惊吓。

有专门的 Solana 订阅方案吗?

有——Solana 是金库订阅的旗舰链:亚美分的扣款成本让按月计费真正划算,而且关闭时租金押金会退回。

链上订阅怎么做到非托管?

余额从不离开顾客的控制。非托管循环计费的意思是:平台能按承诺条款触发扣款,但不能持有、改道或冻结资金——每一步都没有托管。

订阅和付款提醒的区别是什么?

提醒是"请求",订阅是"扣款"。加密订阅与付款提醒之辨就是上面整篇文章:只要顾客每期都得动手,那就不是计费——营销词说什么都不算。

顾客必须一直在金库里放很多钱吗?

不用——够接下来几期就行。很多顾客会一次预存几期;余额任何时刻都能取回。

支持哪些链?

Solana 和已支持的 EVM 链(Ethereum、Base、BNB Chain),每个套餐可选稳定币或原生币计价。

能做免费试用和首期折扣吗?

能——试用与促销价属于套餐条款的一部分(所以和其他条款一样,焊死进金库地址的派生里)。

我改了套餐,老订户会受影响吗?

不会——每条订阅在建立时对条款做了快照。新条款只对新订户生效;老订户换套餐走零信任迁移流程。

相关文章