---
title: 自动充值
description: 通过保存的卡片或PayPal账户自动保持客户钱包有余额——支持用量计费和固定模式、全局限制以及失败处理。
url: https://nexcmp.com/zh-cn/docs/billing/auto-top-up/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# 自动充值 {#auto-top-up}

> **管理后台位置：**Finance › Payment channels › Fees & limits（`/payments/fees`），卡片**Wallet & top-up (Billing › Policy)**，分区**Auto top-up (Stripe / PayPal)**。**门户位置：**Billing › Settings（`/billing?settings=1`）。

## 功能说明 {#what-it-does}

当客户的钱包余额过低时，NexCMP会对其[saved payment method](https://nexcmp.com/zh-cn/docs/billing/saved-payment-methods/)进行扣款并充值到钱包，从而避免运行中的服务因资金不足而被暂停。后台任务会**每隔5分钟**检查所有启用的客户。

## 前提条件 {#requirements}

| 项目 | 要求 |
|---|---|
| 渠道 | 配置了[Stripe](https://nexcmp.com/zh-cn/docs/billing/stripe/)和/或[PayPal](https://nexcmp.com/zh-cn/docs/billing/paypal/)。 |
| 保存的方法 | 客户拥有保存的卡片或PayPal账户。 |
| 站点 | 主站点，或是其Stripe/PayPal通道由平台收款的分销商站点。 |
| 全局开关 | **Auto top-up enabled**处于开启状态（默认开启）。 |

## 工作原理 {#how-it-works}

在客户进行**首次 Stripe 或 PayPal 充值**后，服务器将保存支付方式并在 **By usage** 模式下开启自动充值——前提是该客户此前从未自己设置过自动充值。充值页面上没有多余的勾选框；服务器会记录时间、IP 地址和支付方式作为凭证。如果客户随后关闭了自动充值，系统将不会再自动将其重新开启。

| 模式 | 触发条件（当余额低于...） | 扣款金额 |
|---|---|---|
| **By usage**（首次充值后的默认模式） | 未来 24 小时运行服务的费用（按小时计费的虚拟机加上 24 小时内到期的预付费续费），但绝不低于 **$5** | 四舍五入到整美元的 24 小时费用，至少为[最低充值金额](https://nexcmp.com/zh-cn/docs/billing/minimum-top-up/)，至多为最高充值金额和每日上限 |
| **Fixed amount** | 客户自定义的阈值（$1 至 $500） | 客户自定义的金额（从最低充值金额到 $1,000，且大于阈值） |

如果在 **By usage** 模式下没有运行中的服务，则不会扣费。

与阈值进行比较的余额是**钱包中的真实资金**。来自促销代码的服务额度单独存放且不计入在内（参见 [Promotions](https://nexcmp.com/zh-cn/docs/billing/promotions/)）。

此费用的处理方式与普通充值相同：当开启 **Customer pays top-up fee** 时，卡片将扣除金额加上手续费，且钱包获得全额；关闭时，钱包获得金额减去手续费。

## 配置全局限制 {#configure-the-global-limits}

1. 打开 **Finance › Payment channels › Fees & limits** (`/payments/fees`)。
2. 在 **Auto top-up (Stripe / PayPal)** 中设置：

   | 设置 | 默认值 | 范围 | 说明 |
   |---|---|---|---|
   | Auto top-up enabled | 开启 | 开或关 | 关闭会立即停止所有后台扣款。 |
   | 默认自动充值阈值（USD，固定模式回退） | $5.00 | $0 到 $10,000 | 仅用作固定模式下的起始阈值。 |
   | 每个客户每24小时最大自动充值次数 | 3 | 1 至 50 | 计算成功和待处理的尝试次数。 |
   | 每个客户每24小时自动充值金额上限（USD） | $500.00 | $0 至 $1,000,000 | 滚动一天内的自动扣款总额。 |

3. 点击 **Save Wallet & top-up**。

![带有全局开关和每日限制的“费率和限制”页面自动充值部分](https://nexcmp.com/zh-cn/docs/images/billing/auto-top-up-01-limits.webp)

## 客户所见内容 {#what-the-customer-sees}

1. 在门户中，客户打开 **Billing** 并点击 **Settings**。
2. 面板显示保存的支付方式、开关、模式（**By usage** 或 **Fixed amount**）、预计当前使用量与下一次扣款，以及**近期自动充值**。
3. 切换到 **Fixed amount** 允许他们输入阈值和金额。关闭开关可停止扣款。

![处于 By usage 模式下的自动充值及近期自动充值的客户账单设置](https://nexcmp.com/zh-cn/docs/images/billing/auto-top-up-02-portal.webp)

## 验证 {#verify}

1. 作为测试客户，使用测试卡（[Stripe](https://nexcmp.com/zh-cn/docs/billing/stripe/#verify)）进行首次充值。打开**Billing › Settings**：自动充值已开启。
2. 运行一个小型虚拟机以产生用量，并将余额降至阈值以下（例如通过 **Customers › customer › Credit / debit**）。
3. 大约 5 分钟内会完成扣款。在客户的 **Overview › Payment** 卡片中，**Auto top-up history** 显示状态为 *Done* 的尝试，并且会发送 *Top-up received* 通知。

## 限制与注意事项 {#limits-notes}

- **每次扣款触发一次。**扣款后，任务会暂停，直到余额回升至阈值以上或等待时间结束：成功后1小时，待处理扣款后24小时，系统错误后30分钟。
- **每日限制。**当达到任一每日限制时，将不进行扣款，并写入一条 *Daily limit reached* 记录（每6小时最多一次）。
- **失败处理。**拒付卡、过期卡或余额不足均计为卡片失败。任务将在1小时后重试，接着是6小时后，然后是24小时后。**在连续3次卡片失败后，自动充值将被关闭**，并会通知客户 (*Auto top-up failed*)。需要客户确认的付款（例如3-D Secure）不计入失败；系统会提示客户进行确认。
- **无重复扣款。**每次扣款在低于阈值时按原子操作执行，并在网关处使用幂等键。
- **移除卡片**会关闭自动充值。
- **分销商。**如果分销商使用自己的支付通道，客户将无法启用自动充值（HTTP 403 `feature_disabled`）。

## 故障排查 {#troubleshooting}

| 症状 | 原因 | 解决办法 |
|---|---|---|
| 客户无法开启："使用银行卡或 PayPal 充值一次" | 无保存的支付方式 | 请先通过银行卡或 PayPal 进行一次充值。 |
| Error `no_card` (422) | 所选网关没有保存的支付方式 | 选择一个有支付方式的网关，或保存一种支付方式。 |
| Error `invalid_argument` on amount | 固定模式超出允许范围 | 阈值 $1–$500，金额介于最低充值额与 $1,000 之间，且金额大于阈值。 |
| 余额虽低但未进行任何扣款 | 全局开关关闭、按使用量模式下无运行中的服务、已达到每日限制，或者上一次扣款仍在等待中 | 检查开关、历史记录和限制。 |
| "连续失败 N 次 — 自动充值在 3 次后关闭" | 银行卡持续扣款失败 | 客户更换一张新卡并进行存款。 |
| 状态 *需要您确认* | 银行要求进行 3-D Secure 验证 | 客户手动完成一次常规充值。 |
