所有文章
深度解析阅读需 8 分钟

Apple 开始按席位向整个企业出售你的订阅,多席位订阅的退款方式也随之改变

Apple 于 2026 年 10 月 22 日为企业和学校开启了多席位订阅,且默认启用。一笔购买现在可以覆盖许多人,席位被移除时会以 REVOKE 通知送达,而退款证据端点会拒绝已分配的席位。本文说明哪些地方变了,以及代价是什么。

一个小型办公团队围坐在共用的桌旁,每人手持一台 iPhone 或 iPad,运行着同一款以 Apple 多席位订阅购买的办公应用

要点

  • 自 2026 年 10 月 22 日起,使用 Apple Business 或 Apple School Manager 的机构可以通过一笔 Apple App 内购买批量购买应用的自动续期订阅,用设备管理工具分配席位,并可随时增减席位。
  • Apple 在 App Store Connect 中默认开启了多席位购买。2026 年 9 月 14 日之前创建、且未使用 StoreKit 2 或开启了家人共享的订阅,初始状态为不参与;定制应用中的订阅则完全无法选择退出。
  • 对于多席位购买,Apple 交易负载中的 quantity 字段表示席位数量,每位获得席位的人都会得到一笔 inAppOwnershipType 为 ASSIGNED 的交易。
  • 当机构收回分配给某人的订阅时,Apple 会发送 REVOKE 通知,交易的 revocationType 为 ASSIGNMENT_REVOKE。该值已于 2026 年 10 月 23 日在生产环境上线。
  • Apple 的 Send Consumption Information 端点用于回复 CONSUMPTION_REQUEST。若以已分配的交易调用,它会返回 InvalidAssignedTransactionNotSupportedError,因此退款证据只能针对购买者的交易提交。
  • Apple 的 revocationType 字段区分 REFUND_FULL 与 REFUND_PRORATED,revocationPercentage 以千分单位报告退款比例,因此 40000 表示 40%。
  • Group Purchases(群组购买)允许一位 App Store 顾客购买多个席位并邀请他人使用,将于 2026 年 11 月起可在沙盒中测试,并于今年冬季登陆 App Store。

Apple 于 2026 年 10 月 22 日开始按席位向机构出售应用订阅,并且没有征求意见就为大多数开发者开启了这一选项。使用 Apple Business 或 Apple School Manager 的企业和学校,现在可以通过一笔 App 内购买批量购买你的自动续期订阅。这改变了多席位订阅退款在你服务器上的样子。一笔交易现在可能为几十个人付费,一个席位可能在完全没有退款的情况下消失,而你用来为退款案件申辩的端点,拒绝讨论真正在使用应用的那些人。

Apple 开启了什么,在哪里宣布的

这次上线以一篇简短的 Apple Developer 新闻发布,标题是“Offer your subscriptions to businesses and schools”。文中说,机构可以通过一笔 App 内购买购买所需席位,再用现有的设备管理工具分配和管理这些席位,并可随时增减席位。同一篇文章还说,除非你此前已更改过设置,否则多席位购买在 App Store Connect 中默认开启。

相关的底层改动是在此前一个月里通过更新日志陆续到位的,而不是在发布会上。9 月 28 日的 App Store Server API 1.22 新增了席位字段和群组端点,但仅限沙盒。10 月 23 日,一条只有一行的服务器更新把群组端点和 ASSIGNMENT_REVOKE 值推到了生产环境。如果你的通知处理程序从夏天起就没改过,它现在收到的数据,是它从未被设计去读取的。

日期变化内容Apple 的发布渠道
2026 年 6 月在 WWDC26 上宣布多席位订阅Session 391,Offer subscriptions to groups and organizations
2026 年 9 月 16 日App Store Connect 中默认开启多席位购买Apple Developer 新闻
2026 年 9 月 28 日quantity 表示席位数,新增 ASSIGNED 和 ASSIGNMENT_REVOKE,仅限沙盒App Store Server API 更新日志,1.22 版
2026 年 10 月 22 日Volume Purchasing(批量购买)面向 Apple Business 和 Apple School Manager 上线Apple Developer 新闻
2026 年 10 月 23 日ASSIGNMENT_REVOKE 和群组端点在生产环境上线Server API 和 Server Notifications 更新日志
2026 年 11 月Group Purchases 可在沙盒中测试Apple Developer 新闻
今年冬季Group Purchases 登陆 App StoreApple Developer 新闻

哪些订阅默认参与

几乎所有订阅。Apple 的 App Store Connect 帮助页面说,2026 年 9 月 14 日之前创建的订阅,只有在未使用 StoreKit 2 或开启了家人共享时,初始状态才是不参与。定制应用中的订阅会自动提供给 Apple Business 和 Apple School Manager,且无法选择退出。更改此设置需要账户持有人、管理员或 App 管理角色;从已获批准的订阅中移除 Apple Business 或 Apple School Manager,则需要账户持有人。

多席位购买在你的服务器上如何呈现

同一个订阅现在有两种交易。机构的购买是一笔交易,其 quantity 字段报告购买了多少席位。每位获得席位的人会收到各自的交易,Apple 的 WWDC 课程将其描述为 App Store 为每位成员分配一笔交易。这些成员交易的 inAppOwnershipType 为 ASSIGNED,与你可能已在处理的 PURCHASED 和 FAMILY_SHARED 值并列。

对于由哪条记录决定访问权限,Apple 的立场很明确。其 Get Customer Groups 文档说,群组成员身份与权益是分开的;要解锁内容,应读取顾客的交易,而不是依赖群组成员身份。请根据交易授予访问权限。群组端点只用于管理员视图之类的功能。

字段或值含义新增时间
quantity多席位购买的席位数量2026 年 9 月 28 日
inAppOwnershipType = ASSIGNED此人通过机构或群组获得访问权限2026 年 9 月 28 日
revocationType = ASSIGNMENT_REVOKE购买者从此人处收回了订阅2026 年 9 月 28 日,10 月 23 日进入生产环境
revocationType = REFUND_FULL 或 REFUND_PRORATED交易已全额或部分退款2025 年 12 月 10 日
revocationPercentage退款比例,以千分单位表示(40000 = 40%)2025 年 12 月 10 日

被移除的席位不等于退款

这是大多数处理程序会出错的地方。当机构收回某位员工的席位时,Apple 会发送 REVOKE 通知,这与家人共享购买者停止共享时使用的是同一种类型。交易的 revocationType 为 ASSIGNMENT_REVOKE,Apple 的指示很直接:撤销该顾客对此交易所提供内容的访问权限。

这个事件里没有任何内容表明发生了资金流动。如果你的代码把每次撤销都当作退款,你的退款率、净收入以及基于它们搭建的任何告警,都会把正常的人员流动算作销售损失。请先根据 revocationType 分支处理。

  • ASSIGNMENT_REVOKE:终止此人的访问权限。不要记为退款。
  • FAMILY_REVOKE:终止该家庭成员的访问权限。不要记为退款。
  • REFUND_FULL:终止访问权限,并将整笔交易记为已退款。
  • REFUND_PRORATED:按 revocationPercentage 中的比例记账,再决定保留哪些访问权限。
办公桌上排成一排的同款公司 iPad,其中一台被单独放在一旁、屏幕熄灭,就像从多席位订阅中被移除的席位

为什么无法为已分配席位的退款申辩

每一笔 App Store 退款仍由 Apple 决定。顾客申请退款时,Apple 会发送 CONSUMPTION_REQUEST,并给你 12 小时通过 Send Consumption Information 作答。在多席位模式下,使用应用的人和付款的人是不同的人,而 Apple 的 API 如今在二者之间划了一条硬线。

Send Consumption Information 拒绝已分配的交易

用已分配的交易调用 Send Consumption Information、其 V1 版本或 Set App Account Token,Apple 会返回 InvalidAssignedTransactionNotSupportedError。Apple 的建议是在调用前检查 inAppOwnershipType 是否为 ASSIGNED。实际上,你的证据要么提交在购买者的交易上,要么无处可交。应用在成员账户上记录的使用数据仍值得保留,因为这是了解席位到底有没有被使用的唯一途径。

按比例退款是什么样子

Apple 于 2025 年 12 月新增了 REFUND_PRORATED 和 revocationPercentage。在消费信息请求中,你可以用值为 GRANT_PRORATED 的 refundPreference 请求这一结果。对于自动续期订阅,Apple 表示不要在 GRANT_PRORATED 时发送 consumptionPercentage,因为比例由 Apple 自行计算。如果退款之后被撤回,revocationPercentage 会从交易中消失。

我能否延长某位员工的订阅作为补偿?

不能。对于已分配的订阅,Extend a Subscription Renewal Date 会返回 AssignedSubscriptionExtensionIneligibleError。Apple 的理由是,已分配的订阅与购买者所购订阅按同一周期续期,因此无法单独调整某一位成员。

多席位订阅退款会让你付出什么

规模是新的风险。Apple 的 WWDC 课程介绍了最多五档价格区间的批量定价。其示例中,20 个席位以内每席每月 19.99 美元,第 21 到 40 个席位 13.99 美元,第 41 个起 10.99 美元。按这些数字计算,一笔 50 席的订单每月收费 789.50 美元,约合每席 15.79 美元。这一笔交易发生 REFUND_FULL,退还的是全部 789.50 美元,而不是一份订阅的价格。

服务成本也以同样方式放大。五十个席位意味着五十个人在你的服务器上运行会话,发起由你的功能付费的第三方 API 调用,并占用你需要付费的存储空间。如果因为处理程序只看了购买者的交易,导致已退款订单的席位持有人仍保有访问权限,你就要继续为他们每个人付费。漏掉 ASSIGNMENT_REVOKE 的损失较小但更频繁:这笔购买已不再覆盖此人,而他发出的每个请求都是没有收入支撑的成本。

事件资金变动需终止的访问权限可提交的证据
成员的 ASSIGNMENT_REVOKE未报告该成员不适用
多席位购买的 REFUND_FULL整笔交易,含其中每个席位购买者及每位席位持有人仅限购买者的交易,须在 CONSUMPTION_REQUEST 后 12 小时内
多席位购买的 REFUND_PRORATEDrevocationPercentage 对应的比例取决于退款覆盖的范围仅限购买者的交易
针对已分配交易的消费信息回复不被接受不适用以 InvalidAssignedTransactionNotSupportedError 拒绝

哪些退款流程会征求你的意见

多席位并没有改变这份短名单。只有两种退款流程会向开发者索取证据:Apple 的 CONSUMPTION_REQUEST,须在 12 小时内通过 Send Consumption Information 作答;以及 Google Play 的拒付审核,须在 24 小时内通过 orders.reviewrefund 作答。其他一切都在没有你参与的情况下决定。对于 2026 年 8 月 3 日之后下单的 Google Play 订单,一次拒付会让开发者损失购买价格(扣除 Play 的服务费),外加银行的拒付手续费。RefundHalt 利用你已经收集的使用数据,在 12 小时时限内回复 Apple 的消费信息请求。

本周需要在 App Store 处理程序中修改的内容

  • 读取每笔订阅交易的 quantity,并与购买记录一同保存。
  • 保存 inAppOwnershipType,并把 ASSIGNED 作为与 PURCHASED、FAMILY_SHARED 并列的独立情况处理。
  • 根据 revocationType 分支处理 REVOKE,让 ASSIGNMENT_REVOKE 终止访问权限而不记为退款。
  • 按 revocationPercentage 的比例记录 REFUND_PRORATED,而不是记为全额退款。
  • 在调用 Send Consumption Information、Set App Account Token 或 Extend a Subscription Renewal Date 之前,先检查是否为 ASSIGNED。
  • 在某个机构一次买下 50 个席位之前,先在 App Store Connect 中决定你是否要向机构销售。

常见问题解答

我的应用开启了 Apple 多席位订阅吗?
很可能已开启。Apple 在 App Store Connect 中默认开启了多席位购买。2026 年 9 月 14 日之前创建的订阅,只有在未使用 StoreKit 2 或开启了家人共享时,初始状态才是不参与;定制应用中的订阅无法选择退出。你可以在每个订阅页面的购买选项下查看。
带有 ASSIGNMENT_REVOKE 的 REVOKE 通知是否意味着我损失了钱?
不是。ASSIGNMENT_REVOKE 表示机构或群组购买者从某个人处收回了订阅。Apple 要求你终止此人的访问权限,但该事件并不报告退款。只有在 REFUND_FULL 或 REFUND_PRORATED 时才记为退款。
我能为使用已分配席位的员工发送消费信息吗?
不能。对于机构或群组分配给顾客的交易,Apple 的 Send Consumption Information 端点会返回 InvalidAssignedTransactionNotSupportedError。请先检查 inAppOwnershipType 是否为 ASSIGNED,并在购买者的交易上提交证据。
我如何知道 Apple 对多席位购买退款了多少?
读取交易上的 revocationType 和 revocationPercentage。REFUND_FULL 表示整笔交易已退款。REFUND_PRORATED 会附带以千分单位表示的 revocationPercentage,因此 40000 表示交易金额的 40%。
Apple 的 Group Purchases 何时上线?
Apple 表示,Group Purchases 允许一位 App Store 顾客购买多个席位并邀请他人使用,自 2026 年 11 月起可在沙盒中配置和测试,并将于今年冬季在 App Store 推出。面向企业和学校的 Volume Purchasing 已于 2026 年 10 月 22 日上线。

来源和延伸阅读

RefundHalt

App Store 和 Google Play 退款自动驾驶

继续阅读

下一项退款请求已经在路上。

读完又一封关于未能申辩退款的支持邮件所需的时间,足够您完成 RefundHalt 设置。