Skip to content
Translated page. The English version is the source of truth.

后付费计费 ​

通过后付费计费,您可以在无需预先充值押金的情况下订购 Energy、Bandwidth、激活以及 AML 检查。服务按适用的客户专用资费计价,包括适用的折扣。费用、付款和调整项将根据您合同中的计费和付款条款反映在您的发票中。

Netts 可应企业账户的申请开通后付费功能。本节中的端点仅对开通了后付费计费的账户响应;其他账户将收到 403 postpaid_required。

工作原理 ​

  1. 照常下单。 使用相同的下单端点、相同的 API 密钥。后付费账户在执行这些订单时无需押金余额。价格为您合同约定的价格,包含您的折扣。
  2. 已交付的服务记录为扣费项。 订单被接受本身并不构成已交付的服务。一旦服务或订单中可单独计费的部分完成交付,扣费项就会出现在用量中——这可能会晚于订单响应的时间。
  3. 价格和汇率已锁定并保留。 有效的报价会锁定该订单在您合同下的价格。如果没有报价,则适用下单时您合同约定的价格,并按服务交付时的汇率计算您合同币种的金额。在您查看用量、收到发票或进行付款时,已记录的金额不会被重新计算。
  4. 您接收并支付发票。 计费周期和付款条款以您合同中约定的为准。发票列出该周期的服务、已应用的付款和调整项,以及仍需支付的金额;付款不会删除服务记录。参见发票和付款。付款币种、网络和付款期限显示在账户中的 settlement 内。多付的款项将作为信用额度保留在您的账户中,并用于抵扣后续费用。

资费、报价和记录的汇率 ​

报价(freezePrice)可在 1 分钟内锁定您合同下的价格。在该分钟内使用 quoteId 和相同的参数下单,即使价格发生变动或服务稍后交付,也按报价计费。报价为可选操作;请求字段请参见 1 小时 Energy 和 5 分钟 Energy。

如果没有报价,则合同币种的金额按服务交付时的汇率计算,而不是您查看价格或账户时的汇率。当前汇率(您的汇率以及账户响应中显示的汇率)仅供参考;它不构成对未来订单汇率的承诺。

AML 检查以美元计价,并以您合同的币种记录;TRX 等值金额按检查完成时的汇率计算。切勿根据取整后的 TRX 金额反向重新计算 AML 扣费。

金额以 TRX 和您合同的币种显示;您的限额按您合同的币种计算。usdPerTrx 为 TRX 对您合同币种的汇率。您使用合同约定的币种和网络进行付款,具体显示在 settlement 中。

一个订单可能包含多个扣费项,例如 Energy 和可单独计费的激活。每个扣费项都有各自的时间和汇率。金额按四舍六入五成双(half-even)规则一次性保留到六位小数;报价将保留其报出的金额。请根据各个扣费项对订单进行对账,而不是将当前汇率直接应用于订单总额。

所有时间均为 UTC。所有金额均为十进制字符串,例如 "30000.000000"——请使用高精度十进制类型进行解析,不要使用浮点型。

信用限额 ​

Netts 设定您账户的信用限额:即您在任何时刻所能欠款的最高金额。它显示在账户和限额中,带有 "origin": "netts"。您可以查看但无法更改或关闭它——如果您需要不同的限额,请联系您的 Netts 客户经理。

产品和 API 密钥共享这一个账户级信用限额。每个新订单都会根据所有适用的限额进行检查。当检查发现可用信用额度不足时,订单将在执行前被拒绝:

json
{
  "detail": {
    "code": 1004,
    "msg": "Postpaid credit limit reached.",
    "paymentMode": "postpaid",
    "reason": "limit_reached",
    "product": "*",
    "period": "outstanding",
    "limitId": 1
  }
}

下单端点返回 402。付款会重新释放限额。如果检查功能暂时不可用,下单端点将返回 503 并附带代码 5036——请稍后重试,被拒绝的尝试不会产生任何费用。读取请求所显示的可用金额为当前数值,不是对后续订单的预留;其他已被接受的订单可能会改变此数值。

您的自定义限额 ​

在 Netts 限额范围内,您可以设置自己更低的限额——以控制支出或限制单个产品:

  • 您的自定义总限额——您允许自己欠款的总额,低于 Netts 限额。
  • 产品限额——单一产品可以使用的额度,例如 energy_5m。

您的限额绝不会增加信用额度。产品限额不会累加:在 Netts 限额为 50 USD 的情况下,energy_1h 的 50 USD 产品限额与 energy_5m 的 50 USD 产品限额仍然共享 50 USD 的账户级信用额度。订单检查会应用每一个相关限额,并且限额会显示每个产品当前可消费的金额。

限额可统计的周期:

period统计内容
outstanding未付扣费,加上已接受但尚未记录的订单
day当前 UTC 日的扣费(包含已支付部分),加上已接受但尚未记录的订单
week从周一 00:00 UTC 起算的当前 UTC 周的扣费(包含已支付部分),加上已接受但尚未记录的订单
order单个新订单的金额

付款会减少您的欠款,但不会重置当天或当周的使用量。多付款项产生的信用额度显示为 creditApplied,并按一次计入抵扣您的总欠款;它不会增加到每个产品限额中。

您的自定义限额使用 Netts 限额的币种,且不能高于该限额。如果 Netts 将其限额降低至低于您的某一限额,则以较低的适用限制为准。

产品:energy_1h、energy_5m、bandwidth、activation、aml_check。

API 密钥权限 ​

每个 API 密钥都需要针对本节内容的权限。您的 Netts 客户经理会按密钥授予该权限:

权限允许操作
billing.read账户、汇率、限额、用量、发票和付款
limits.write创建、更改、关闭和开启您的自定义限额

若缺少相应权限,端点将返回 403 并附带 billing_read_required 或 forbidden。与所有其他端点一样,密钥的 IP 白名单同样适用。即使押金余额为零,这些端点仍保持可用。

端点 ​

端点功能说明
GET /apiv2/billing/account信用限额、欠款以及当前可用额度
GET /apiv2/billing/rate您当前的 TRX 兑合同币种汇率
GET /apiv2/billing/limits所有限额及已用和可用金额,各产品的可用额度
POST /apiv2/billing/limits创建、更改、关闭和开启您的自定义限额
GET /apiv2/billing/usage扣费明细项,关联合同订单
GET /apiv2/billing/invoices发票列表,单张发票及其扣费项
GET /apiv2/billing/payments付款与信用额度

响应格式 ​

json
{ "success": true, "data": { }, "timestamp": "2026-10-19T20:12:30+00:00" }

服务返回的错误:

json
{
  "success": false,
  "error": { "code": "postpaid_required", "message": "this account has no postpaid billing" },
  "timestamp": "2026-10-19T20:12:30+00:00"
}

缺失或无效的密钥,或者来自未在密钥白名单内的 IP 的请求,将在到达服务之前被 API 网关拒绝,并返回 401:

json
{ "detail": { "code": -1, "msg": "Invalid or missing API key" } }

代码 -2 伴随 "Invalid API key or IP not in whitelist" 表示该 IP 不在密钥的白名单中。来自同一 IP 的每秒超过 10 次或每分钟超过 300 次的请求将被拒绝,返回 429 和 {"message": "API rate limit exceeded"}。

HTTPcode含义
400invalid_request, invalid_amount, idempotency_key_required, invalid_idempotency_key参数缺失或格式错误
403postpaid_required账户未开通后付费计费
403postpaid_disabled后付费计费已暂停:您可以读取,但无法更改限额
403billing_read_required, forbidden密钥缺少 billing.read 或 limits.write 权限
403netts_limit_readonly该限额由 Netts 设置,无法修改
404not_found您的账户中不存在该限额或发票
409revision_conflict限额在此期间已被更改——请重新读取
409limit_exists您已经为该产品和周期设置了限额
409idempotency_conflict该 Idempotency-Key 已被用于另一个请求
409no_account_limit账户尚未由 Netts 设置信用限额
422above_account_limit设定值高于 Netts 限额
422product_not_postpaid该产品不支持后付费
422unit_mismatchNetts 限额的币种已变更——在开启您的限额前请先设置新值
503unavailable暂时不可用——请稍后重试
503rate_unavailable您的汇率暂时不可用——请稍后重试