如何在 Heroku 网站上关闭 automatic billing?
明确结论
Heroku 的 automatic billing 通常没有单独的关闭开关。只要账户中还有付费资源,Heroku 就会按实际用量生成账单,并从绑定的付款方式中自动扣款。
停止访问网站、不再部署代码,甚至暂时停用应用,都未必能停止计费。要避免意外扣费,需要删除或降级所有付费资源,并确认账户中没有团队级资源和订阅。如果以后不再使用 Heroku,还应删除应用并申请关闭账户。
如何停止产生费用
1. 检查所有应用和资源
登录 Heroku Dashboard,逐项检查:
- Dyno 类型和运行数量
- Heroku Postgres、Heroku Data for Redis 等数据服务
- 第三方 add-on
- Eco Dynos 等账户级订阅
- Heroku Teams、Private Spaces 或其他团队级资源
- 已停止但仍然保留的数据库、附加服务和应用
特别要注意,把 Web Dyno 缩容到 0 并不会自动删除数据库或 add-on,这些资源仍可能单独计费。
也可以通过 Heroku CLI 查看应用:
heroku apps
heroku ps --app your-app-name
heroku addons --app your-app-name
2. 将不需要的 Dyno 缩容到 0
例如,停止 Web 和 Worker Dyno:
heroku ps:scale web=0 worker=0 --app your-app-name
完成后再次确认:
heroku ps --app your-app-name
这项操作只能停止对应 Dyno 后续产生的运行费用,不会取消其他订阅或附加资源。
3. 删除不再需要的 add-on
先查看现有 add-on:
heroku addons --app your-app-name
确认相关数据已经备份,再删除具体实例:
heroku addons:destroy addon-instance-name --app your-app-name
数据库、缓存和监控服务一旦删除,相关数据通常无法恢复。不要根据服务类型猜测名称,应使用 heroku addons 输出的实例名称。
4. 删除不再使用的应用
如果确定不再需要某个应用,可以直接删除:
heroku apps:destroy --app your-app-name --confirm your-app-name
删除应用通常也会删除它所拥有的附加资源,但共享资源、团队资源或独立订阅未必会随之取消。因此,删除后仍要检查 Billing 页面。
5. 取消账户级或团队级订阅
有些费用不属于某个具体应用,例如 Eco Dynos、团队资源或 Private Spaces,需要到相应的账户、团队或账单设置中单独取消。
Heroku 的控制台界面可能发生调整,请以 Dashboard 当前显示的 Billing、Usage、Subscriptions 或团队资源页面为准。取消后,还要确认页面中不再显示下一个计费周期仍然有效的订阅。
能否直接删除信用卡
不要把移除付款方式当成主要的停费办法。如果账户中还有未结账费用、有效订阅或付费资源,系统可能不允许移除付款方式。即使付款失败,已经产生的费用也不会自动取消。
如果页面中没有删除付款方式的入口,或者所有资源都已清理但账单中仍有有效项目,应联系 Heroku Support,请其核查:
- 是否仍有有效的付费资源
- 是否有尚未结算的当月用量
- 是否可以移除付款方式
- 账户是否符合关闭条件
不要用更换失效卡、冻结卡片或拒付的方式代替取消服务,否则可能留下欠款,并影响账户状态。
删除账户后还会不会扣费
如果费用在删除账户前已经产生,Heroku 仍可能在结算周期结束后收取这部分款项。关闭账户通常只能阻止资源继续使用,无法清除此前已经产生但尚未出账的费用。
建议按以下顺序处理:
- 备份需要保留的数据。
- 停止并删除所有付费 Dyno、数据库和 add-on。
- 取消账户级和团队级订阅。
- 删除不再需要的应用。
- 检查 Billing 和 Usage 页面中是否仍有活动资源。
- 保存取消确认信息和最终账单。
- 确认没有待处理费用后,再关闭账户。
容易忽略的事项
- 不能再按照早期的“免费 Dyno”经验判断 Heroku 是否收费。新建资源时,应查看当前价格和套餐说明。
- “应用休眠”“没有流量”和“没有部署”都不代表不会产生费用。
- Dyno 停止后,数据库和 add-on 可能仍在运行。
- 当月已经产生的按量费用,可能要等资源删除后才会显示或结算。
- 团队拥有的资源需要到团队账单中检查,个人账户页面未必会显示全部费用。
- 删除资源前应导出数据库和文件,因为删除操作通常不可逆。
与其寻找 automatic billing 开关,更稳妥的做法是确认账单页面中没有任何仍处于活动状态的付费资源或订阅,并在下一个结算节点再次核对账单。
备注:内容仅供参考。
