跳到正文

SaaS 账务参考 ​

本文介绍月付、年付 SaaS 接入中的账务资源、字段和处理规则。调用时,请使用当前应用 API 产品提供的接口路径、Schema 和 Scope。

当前能力状态 ​

能力状态
固定月付/年付 SaaS 套餐规则已确定
Application、API 调用权限、Webhook 申请可通过开发者控制台申请
Commerce Checkout Sandbox API Product已实现,可按 Application 签发后调用
Production API Product尚未开放
储值余额、按量和超额扣费当前商业方案不支持

资源与使用方式 ​

资源管理入口或方式接入方用法
Application、API 产品、API 调用权限、Webhook 订阅开发者控制台申请接入并获取对应版本的调用配置
Product/Plan/PriceVersion、Order、SaaSSubscription客户工作区展示和操作商业资源;第三方按已授权接口查询必要状态
支付、退款和支付状态客户工作区完成付款和退款;第三方按已授权接口查询脱敏状态
ProductAccess、Entitlement产品权限快照尚未开放按已发布合同处理事件;不使用内部回查接口
支付/退款证据已授权的支付状态接口查询脱敏状态和证据引用
卡片或钱包凭证支付服务商只通过 Hosted Checkout/Tokenization 处理

公共字段 ​

以下字段只适用于未来签发的服务端 API/Event 契约,不是客户工作区跳转参数。当前商业页面入口不接受第三方拼接的业务 Query 参数。

字段约束
application_code由 Application 和服务端会话确定,浏览器不能覆盖
plan_code / plan_version指向已批准套餐和不可变版本
price_version_ref指向不可变价格快照,不由浏览器生成
billing_interval仅允许 month 或 year
amount_scaled / amount_scale整数金额和精度;由服务端价格快照产生
currency大写 ISO 4217 代码;由套餐/订单确定
operation_id不可猜测的异步操作标识,不是支付凭证
resource_version同一资源单调递增,用于事件乱序保护

金额按 amount_scaled × 10^-amount_scale 解释。例如 2900 和 2 表示 29.00。不要使用浮点数计算或传输金额。

调用要求 ​

  1. 浏览器不持有服务端 OAuth Client Secret、Webhook Secret 或支付凭证。
  2. 第三方浏览器只打开平台客户工作区,不提交套餐、金额、币种、租户、Provider 或任意回跳 URL。
  3. Checkout 只由平台客户工作区的受控 BFF 创建,并使用稳定的 Idempotency-Key。
  4. 浏览器回跳不能证明支付成功;最终状态来自支付服务商验签通知或服务端对账。
  5. 支付成功后,分别确认订阅和 ProductAccess 状态,再开放产品功能。
  6. 当前商业方案只记录订阅支付和退款证据,不接受储值余额、按量或超额扣费字段。

发布后预期的 API Product 组成 ​

能力组典型操作
Catalog查询当前 Application 可售的月付/年付套餐
Subscription查询订阅摘要、计划取消、恢复或变更套餐
Checkout创建 Hosted Checkout,查询异步 Operation
Billing查询脱敏支付/退款证据和状态
Access产品权限快照待独立开放,当前不可调用
Events订阅生命周期、支付/退款结果和访问状态事件

Sandbox Commerce Checkout 已提供产品目录、Checkout Session、Operation 查询、订阅查询、取消和套餐变更接口。金额使用平台已发布的 USD 价格。

  • 写请求携带 Idempotency-Key。
  • 取消或变更套餐时,使用当前 resource_version 设置 If-Match。
  • 平台验证支付服务商回调,再通过已批准的 Webhook Subscription 投递脱敏支付/退款事件。第三方无需调用支付回调入口。

正式环境开放前,开发者控制台将提供 API Product 版本、Base URL、Audience、Scope、OpenAPI/AsyncAPI 和弃用说明。

登录后由用户与客户空间取得用户别名与当前空间;订阅按应用、环境、客户空间和 subscription ID 关联。用户上下文不授予付费或产品权限,详见多应用、用户与事件接入与产品权限快照。

安全返回字段 ​

第三方前端只接收最小 ProductAccess 状态和服务端配置的平台入口。套餐展示字段、脱敏支付方式、短期 Checkout URL、Operation 状态和支付/退款证据摘要只进入平台客户工作区。任何前端都不得接收完整卡号、CVC、可扣款 Token、Provider Secret、Webhook Secret、内部路由或平台审计数据。

开发者文档。第三方接入不需要内部运营平台权限。