「计费」决定平台如何记录和结算用量。你可以选择计费模式、配置支付渠道、维护订阅方案与兑换码、为模型和工具定价,并在调用日志和订单中核对结果。
使用入口#
进入管理端后打开 计费。页面自上而下包含:
- 计费方式 与 支付配置。
- 兑换码。
- 订阅方案。
- 模型定价。
- 工具定价(原生工具和 MCP 工具)。
调用记录和支付订单在 日志 页面,不在这里。
选择计费模式#
计费模式决定用户看到什么,以及是否扣减余额或套餐额度。
- 打开 计费模式 下拉框。
- 选择其中一项:
| 模式 | 作用 |
|---|---|
| 自用模式 | 只记录用量,不扣费,也不显示购买入口。 |
| 周期计费 | 按订阅额度限制用量。 |
| 按量计费 | 按模型定价计算费用并扣减余额。 |
切换会立即保存,并提示「已切换为{mode}」。已有余额和订阅不会自动转换,切换前请确认它们与新计费模式匹配。
设置展示币种与汇率#
- 选择 费用展示币种:美元($) 或 人民币(¥)。它只控制用户端费用展示;账务、扣费和接口字段仍按 USD / 纳美元记录。
- 设置 USD -> CNY 汇率。它是平台级换算汇率,用于费用展示和人民币支付金额,必须大于 0。
- 汇率变化后点击 保存。
设置单次预留金额#
该字段仅在非自用模式下出现。
- 填写 单次预留金额,单位为美元。它是每个付费调用开始前预留的风险预算,最终仍按真实账单扣费。
- 点击 保存。取值必须大于等于
0。
设为 0 时,系统按剩余槽位动态分配可用预算,最多支持 5 个并发付费调用。数值越高,用户在发起调用前需要持有的余额越多。
配置支付渠道#
Stripe 和易支付可以同时启用,用户支付时选择本次渠道。
Stripe#
- 打开 Stripe 标签。
- 打开 启用 Stripe。
- 复制 Webhook Endpoint 并添加到 Stripe Dashboard。该字段只读。
- 填写 Publishable Key(
pk_...)。 - 填写 Secret Key(
sk_...)。 - 填写 Webhook Secret(
whsec_...),用于校验 Stripe 回调签名。 - 点击 保存。
Stripe 需要填写 Secret Key 和 Webhook Secret,缺少任一项会提示「Stripe 需要填写 Secret Key 和 Webhook Secret。」。已保存的密钥会显示为已配置占位提示,留空表示保留当前值。
易支付#
- 打开 EPay 标签。
- 打开 启用易支付。
- 填写 页面跳转网关。当前支持
submit.php页面跳转协议,可填写易支付站点地址或完整的submit.php地址。 - 填写 商户 ID。
- 填写 商户密钥。
- 填写 支付类型 JSON。每项用
name作为前端展示名称,用type作为传给易支付的通道值。 - 点击 保存。
易支付需要填写网关地址、商户 ID 和商户密钥。支付类型必须是 JSON 数组,且每项都包含非空的 name 和 type,否则提示「易支付支付类型需要是包含 name 和 type 的 JSON 数组。」。
示例支付类型:
json
维护订阅方案#
- 在 订阅方案 中点击某行的铅笔图标,打开 周期套餐。
- 编辑 名称。
- 编辑 说明。
- 设置 价格。
- 选择 周期:永久、月 或 年。
- 设置 周期用量额度,即用户在每个周期可消耗的额度。
- 选择 权限组。订阅此套餐的用户自动获得该权限组的模型访问权限。
- 点击 保存。
列表显示默认价格(按周期)和周期用量额度,额度后带「/ 周期」。方案仅在周期计费下生效;修改方案会影响已有订阅用户的续费和升级。
创建和管理兑换码#
创建兑换码#
- 在 兑换码 中点击 创建。
- 可选填写 兑换码。留空会随机生成 UUID;手动填写时只能包含 3-64 位字母、数字、横线或下划线。
- 设置 数量。手动兑换码只能创建 1 个,因此数量必须为
1。 - 选择 计费模式:按量计费 或 周期计费。
- 按量兑换码填写 兑换金额,必须大于 0。
- 周期兑换码选择 套餐(必须是启用的非 Free 套餐)并填写 有效天数,必须大于 0。
- 设置 总次数。留空表示不限。
- 设置 单用户次数,不能大于总次数。
- 设置 过期时间,必须晚于当前时间;留空表示「不过期」。
- 可选填写 说明。
- 点击 保存。生成的完整兑换码会显示在 兑换码已创建 弹窗中,可单独复制或点击 复制全部。
管理已有兑换码#
列表展示 兑换码(摘要)、模式、权益、次数、状态 和 过期。可按 模式、状态、可用性(可兑换、已过期、已用尽)筛选,或搜索兑换码提示与说明。
- 用 状态 开关启停单个兑换码。
- 点击历史图标打开 查看兑换记录,跳转到 日志 中的兑换记录。
- 点击铅笔编辑。只能调整状态、次数、过期时间和说明。
- 勾选多行后可批量 复制、导出、启用、停用 或 删除。复制和导出会解密所选兑换码,无法解密的会被跳过。
删除后兑换码不再展示且不可兑换,但历史兑换记录会保留。
以下情况无法兑换:当前为自用模式、兑换码模式与当前计费模式不匹配、兑换码已停用、已过期或次数已用尽。列表会将这些行置灰,并在悬停时显示原因。
配置模型定价#
- 在 模型定价 中按平台模型名或厂商搜索。
- 按 配置(已配置、未配置)、是否免费(免费、非免费)、计费模式 和 厂商 筛选。
- 直接用 免费 开关把模型设为免费,无需打开弹窗。
- 点击铅笔打开 模型基础价格。
弹窗提供 表单 和 JSON 两种编辑方式。JSON 合法时会立即同步到表单,出错时在下方显示错误。
- 必须选择 计费模式:
- 按量计费(
token)——按 Token 计费。 - 按次计费(
call)——按请求次数计费。 - 按秒计费(
duration)——仅视频生成模型可选。 - 阶梯计费(
tiered)——按原始输入 Token 区间计费。
- 按量计费(
- 可选打开 免费模型。
- 按所选模式填写价格:
| 模式 | 字段 |
|---|---|
| 按量计费 | 输入 / 1M、输出 / 1M、缓存(读) / 1M、缓存(写) / 1M |
| 按次计费 | 每次调用 |
| 按秒计费 | 每秒生成 |
| 阶梯计费 | 每档填写 Token 上限、输入 / 1M、输出 / 1M、缓存(读) / 1M、缓存(写) / 1M |
阶梯按原始输入区间命中。Token 上限 填完整 Token 数,0 表示最后一档不限量。用 添加阶梯 和垃圾桶图标调整档位。
时段倍率#
所有计费模式都可以配置时段倍率,按服务器本地时间叠加到基础单价。
- 点击 添加时段。
- 填写 名称,最多 32 个字符。
- 在 星期 中至少选择一天。
- 用
HH:MM设置 开始 和 结束。结束不晚于开始表示跨午夜,该行会显示「次日」标记。 - 设置 倍率。
100表示原价,必须是 1–10000 的整数。 - 用 删除 移除时段。
最多 32 个时段,且不能互相重叠。保存时时段有误会标红,并在 时段倍率 下方列出原因。
快速配置#
点击模型名旁的 快速配置,从 OpenRouter 价格库导入价格。价格单位为 USD / 1M tokens。搜索后选择一行,设置 导入倍率,点击 导入。当前计费模式不支持的字段会被忽略并列出。模型缺少有效输入或输出 Token 价格时无法导入。
导入与导出#
- 点击 导出 下载全部已配置定价的 JSON,顶层以平台模型名作为 key。
- 点击 导入 选择 JSON 文件。顶层必须是对象,key 为平台模型名,且每个模型都必须存在于模型目录中。未知模型、结构错误或空文件都会被拒绝,并给出具体提示。
cacheWritePriceBasis(direct或anthropic_5m)只能在 JSON 中设置。
配置工具定价#
原生工具#
- 打开 原生工具计费。开启后,管理员启用的官方原生工具会按下方价格计入账单;自用模式仍只记录用量。
- 为每行设置按次价格。表格包含 厂商、工具、类型 和 价格(
$ / 次)。 - 价格设为
0表示该工具不单独计费。 - 点击 保存。
非自用模式下只对成功执行的工具调用计费,失败调用不计费。
MCP 工具#
- 按服务器或工具名称搜索,或按 服务器 筛选。
- 在每行填写按次价格,单位为美元每次;
0表示不计费。 - 批量设置时,先勾选工具,在 批量设置价格 中输入价格,再点击 应用。此操作只修改草稿。
- 点击 保存 才会写入。
MCP 工具需要先在 工具 页面同步。非自用模式下只对成功调用计费。
查看调用日志和订单#
定价调整只影响后续调用,历史调用按当时的计费快照记录。
调用日志#
打开 日志 → 模型调用。每行显示计费模式、Token、缓存、费用、结算后余额和延迟。悬停费用可查看该模式的单价明细,包括阶梯区间、缓存写倍率和时段倍率。可按 计费模式、调用模型 和时间范围筛选,按费用、Token 或延迟排序。
订单记录#
打开 日志 → 订单记录。可按 订单类型(订阅、充值)、支付渠道(Stripe、EPay)、支付状态(待支付、已支付、已过期、支付失败)和时间范围筛选。详情展示支付金额、基础金额、入账金额、周期与次数,以及外部支付 ID 和外部收银台 ID。
配置参考#
| 区域 | 字段或配置键 | 说明 |
|---|---|---|
| 计费配置 | mode | self、period 或 usage。 |
| 计费配置 | displayCurrency | USD 或 CNY,仅影响展示。 |
| 计费配置 | usdToCNYRate | USD -> CNY 换算汇率。 |
| 计费配置 | prepaidAmountUSD | 单次预留金额。0 表示在最多 5 个并发付费调用间分配预算。 |
| 支付 | billing.payment_providers | stripe、epay、两者或 disabled。 |
| Stripe | billing.stripe_publishable_key、billing.stripe_secret_key、billing.stripe_webhook_secret | 前端 Key、服务端 Key 和回调签名密钥。 |
| 易支付 | billing.epay_gateway_url、billing.epay_pid、billing.epay_key、billing.epay_types | 网关、商户 ID、密钥和支付类型 JSON。 |
| 订阅方案 | name、description、amountUSD、billingInterval、periodCreditUSD、permissionGroupID | 周期套餐字段。 |
| 兑换码 | code、quantity、mode、creditUSD、planID、durationDays、maxRedemptions、perUserLimit、expiresAt、description、status | 创建与编辑字段。 |
| 模型定价 | pricingMode、isFree、inputUSDPerMTokens、outputUSDPerMTokens、cacheReadUSDPerMTokens、cacheWriteUSDPerMTokens、cacheWritePriceBasis、callUSDPerCall、durationUSDPerSecond、tieredPricingJSON、schedulePricingJSON | 模型价格字段。 |
| 工具定价 | nativeToolBillingEnabled、nativeToolPricing[]、priceNanousd | 原生工具开关和按次价格;MCP 工具价格保存在各工具记录上。 |
常见问题#
| 现象 | 检查项 |
|---|---|
| 提示「支付配置不完整」 | 为每个已启用渠道填写必填项。 |
| 提示「易支付支付类型需要是包含 name 和 type 的 JSON 数组。」 | 修正 支付类型 JSON。 |
| 提示「单次预留金额不合法」 | 填写大于等于 0 的美元金额。 |
| 提示「汇率无效」 | 填写大于 0 的汇率。 |
| 提示「兑换码只能包含 3-64 位字母、数字、横线或下划线。」 | 修正手动填写的 兑换码。 |
| 提示「手动兑换码只能创建 1 个。」 | 手动填写兑换码时把 数量 设为 1。 |
| 提示「单用户次数不能大于总次数。」 | 降低 单用户次数 或提高 总次数。 |
| 提示「请选择一个启用的非 Free 套餐。」 | 周期兑换码需要选择启用且非 Free 的套餐。 |
| 提示「导入失败:存在未知平台模型」 | JSON 中出现了模型目录之外的平台模型名。 |
| 提示「按秒计费仅适用于具备视频生成能力的模型。」 | 只有视频生成模型可以使用 duration。 |
| 旧账单费用对不上 | 历史调用使用当时的计费快照,不会按当前价格重算。 |