用途:本技能负责 Salla 应用附加组件(addon)的计费生命周期,即商家在应用内购买的可付费附加项,由 Salla 在应用套餐之上计费。流程为:定义 → 激活 → 续订 → 取消/到期 → 功能门控。购买行为在嵌入式应用中完成(购买交互见 salla-addon-purchase-embedded),状态变更由 Salla 通过 Webhook 驱动;仅当收到经签名验证的 app.subscription.started 时才解锁功能。
主要能力与用法:使用 Salla Partners MCP,在发布内容的定价部分定义附加组件(app_publish action=set section=pricing,addons[]),再通过 salla_apps action=connect 设置 webhook_url。app.subscription.* 为应用事件,默认已订阅,会自动投递到该 webhook_url,无需 subscribe 调用(salla_events action=subscribe 仅用于店铺事件)。计费由 Salla 负责,应用方不自行扣费。
事件处理:app.subscription.started 表示购买或首次激活,执行权益激活;renewed 续订时延长 end_date;expired 到期未续订则撤销权益并重新门控;canceled 标记取消,但保留访问至 end_date。按 item_slug 匹配附加组件(套餐的 item_slug 为 null,附加组件携带 slug)。字段名(item_type、item_slug、subscription_id、end_date、features)为示例,实际载荷需通过 salla_events action=list 或 App Events 文档确认。external_recurring 且 support_renew: true 的附加组件需自行调用 POST /apps/subscriptions/{subscription_id}/renew(offline_access),并处理 not_renewable、auto_renew_disabled、payment_failed 403 与 rate_limit_exceeded 429 等错误。
限制与依赖:需先做 Webhook 签名验证、快速返回 200 并幂等去重(见 salla-webhooks);涉及商户 token 的 API 调用见 salla-app-auth;权益持久化与门控模式、定价原语见 salla-app-billing。计费、价格与具体载荷结构以 Salla 官方文档为准。相关文档:https://docs.salla.dev/421413m0.md、https://docs.salla.dev/37396517e0.md。