状态:从试用、报价、订单、付款到 Effective Entitlement 的商业交易实现依据。本文不定义网络授权;支付成功不能创建 Grant,欠费也不能伪装成安全撤销。
| 对象 | 作用 |
|---|---|
| Billing Account | 付款主体、币种、税务资料和账单联系人 |
| Customer / Organization | 产品租户;一个 Billing Account 可支付多个 Organization |
| Product Catalog | SKU、价格、地区、币种、税类、可售日期和商品能力映射 |
| Quote | 销售给客户的有时限报价与条款快照 |
| Order | 客户接受的购买承诺,不因目录后来变价而改变 |
| Subscription | 周期、数量、续订、状态和下一账期 |
| Invoice / Credit Note | 应收、税额、付款和冲销凭证 |
| Payment / Refund | 资金事实与支付渠道引用 |
| Effective Entitlement | 交付给 NSD 的签名能力声明;由商业系统派生,不含价格 |
Organization owner、Billing admin、Purchaser 和 Invoice recipient 是不同角色。网络管理员不能默认读取银行卡或税务资料;财务人员也不自动获得 Node/Service/ACL 管理权限。
个人登录后直接获得 Personal Organization 和免费 entitlement,不要求先填付款方式。升级路径:
付款成功但 entitlement 未激活时显示“付款已确认,能力正在开通”,自动对账并允许联系支持;不能再次扣款。Entitlement 已激活但支付回执延迟时保留本次 order 的幂等状态,不重复放大额度。
企业可以走:在线购买、销售报价、采购订单(PO)或渠道合同。标准流程:
derived_from,客户和销售均可核对;销售试用和临时扩容使用带 expires_at、reason、approver 和 ticket 的正式 entitlement override;到期自动回到订单能力并预览影响,不使用永不过期的后台开关。
首发支付能力按销售实体和支付服务商实际资质启用:
支付凭据由 PCI 范围内的支付服务商托管;NSIO 保存 provider customer/payment method reference、品牌和末四位等最小信息,不保存 CVV 或完整卡号。
Product Catalog 的价格记录不可变并带 effective window。Subscription 引用 price ID 和数量,不在代码中写死金额。支持月付、年付;年付折扣是独立 price,不由客户端计算。
用量计费从 durable meter event → aggregation → rated usage → invoice line。每一行可追到 meter definition、时间窗、单位、区域和去重键。迟到事件进入下一张账单或生成调整单,不能静默修改已出具且已结账发票。
席位与 Managed Resource 的计量口径见商业模型。Billing 使用事件和周期性对账;差异进入可审计修复队列,不直接改客户账单。
Billing Account 保存法定名称、国家/地区、地址、税号、发票类型、购方信息、接收渠道和验证状态。税额由订单时的销售实体、客户地区、商品税类和有效证明计算并固化到 Invoice。
发票状态:draft → open → paid / void / uncollectible;退款或降价使用 Credit Note,不删除历史发票。电子发票提供不可变下载和发送记录。
中国区发票能力在对应销售主体上线后区分普通发票/增值税专用发票,采集所需购方资料并进行人工或服务商校验。开票失败不撤销已付款 entitlement,但必须显示原因、预计处理时间和支持入口。
增购在付款/授信确认后立即生成新 entitlement revision,按剩余账期比例计费。降档默认在当前账期结束生效;立即降档需要影响预览:超额资源、日志保留、托管区域、SLA 和插件。
降档不自动删除存量 Device/Service/Route。新增进入 feature_not_entitled 或 *_limit_reached,存量按商业模型的 retention/grace 规则收敛。客户必须在确认页看到日期、受影响对象数量、保留/导出期限和不可逆动作。
| 状态 | 默认行为 |
|---|---|
| payment_pending | entitlement 尚未提升;已有能力不变 |
| payment_failed | 通知 Billing admin,重试支付,不通知普通成员财务细节 |
| past_due grace | 保持最后有效 entitlement,限制新的付费资源扩张;显示截止日 |
| grace expired | 投影到当前可用免费/合同终止 entitlement;不伪装安全撤销 |
| disputed/fraud | 人工审查;安全滥用和商业欠费分别处理 |
默认催缴重试和 grace 由销售地区/合同配置,不能由 NSD 猜测。控制面/数据面不得直接查询支付服务商。签发服务故障使用最后有效 entitlement 与明确 stale 状态,不把读取失败当欠费。
用户可以关闭自动续订,服务持续到 paid-through date。法律要求的撤销期、误扣、SLA 抵扣和销售批准退款使用有 reason/actor/source 的 Refund/Credit Note。
Organization 删除、Subscription 取消和账号注销是三件事:取消订阅不删除网络数据;删除 Organization 走信任与数据权利;账号退出某组织不影响该组织账单。最后一个 Owner 不能在未转移 Billing/Organization ownership 时离开。
合同终止时先冻结新增和生成导出,经过通知/保留期后执行数据生命周期;Legal Hold 优先,但只保留被明确覆盖的数据。
支付 webhook、Order commit、Invoice payment 和 Entitlement issuance 都使用 provider event ID/idempotency key。接收 webhook 的事务先保存原始签名事件和处理状态,再更新商业对象并写 outbox;外部回调不直接调用 NSD 数据库。
至少执行:每日 payment↔invoice、invoice↔subscription、subscription↔entitlement、meter↔invoice line 对账。差异分类为 pending、late、duplicate、missing、amount mismatch、entitlement mismatch;自动修复只处理有确定幂等规则的 pending/duplicate,金额与能力差异需要人工审批。
以下操作必须 MFA/step-up 并审计:更换支付方式、修改税务主体、接受 Quote、立即降档、退款、手工授信、entitlement override、变更 Billing owner。审计包含前后值摘要、actor、reason、request ID 和外部 provider reference,不记录完整支付凭据。
Billing 页面至少包含:当前方案和 effective revision、使用量、下一账单日期、付款方式、发票/收据、Billing 成员、历史变更、取消/降档影响和支持入口。普通成员只看产品能力,不看金额;Organization admin 是否可看金额由 Billing role 决定。
所有金额同时显示币种和含税/未税口径。失败不能显示“0 元”或“无账单”来伪装读取错误。
| 错误 | 含义 |
|---|---|
catalog_price_unavailable | 所选地区/币种无有效价格 |
payment_action_required | 支付服务商要求用户确认 |
payment_failed | 已知支付失败,可更换方式/重试 |
billing_read_failed | 账单读取失败,不渲染空历史 |
invoice_profile_incomplete | 税务/开票资料不完整 |
entitlement_activation_pending | 订单已成立,能力投影待完成 |
entitlement_activation_failed | 需要对账/支持,不重复扣款 |
downgrade_impact_changed | 提交时影响 digest 已变化,重新确认 |