Apple vend désormais votre abonnement à des entreprises entières, par poste, et le remboursement d'un abonnement multiposte fonctionne autrement
Apple a activé les abonnements multipostes pour les entreprises et les établissements scolaires le 22 octobre 2026, par défaut. Un seul achat couvre désormais de nombreuses personnes, les retraits de postes arrivent sous forme de notifications REVOKE et l'endpoint des preuves de remboursement refuse les postes attribués. Voici ce qui change et ce que cela coûte.

Points clés
- Depuis le 22 octobre 2026, les organisations qui utilisent Apple Business ou Apple School Manager peuvent acheter en volume l'abonnement à renouvellement automatique d'une app via un seul achat intégré Apple, attribuer les postes avec leurs outils de gestion des appareils, et ajouter ou retirer des postes à tout moment.
- Apple a activé l'achat multiposte par défaut dans App Store Connect. Les abonnements créés avant le 14 septembre 2026 qui n'utilisent pas StoreKit 2 ou qui ont le Partage familial activé démarrent désactivés, et les abonnements des apps personnalisées ne peuvent pas être désactivés.
- Pour un achat multiposte, le champ quantity du payload de transaction d'Apple indique le nombre de postes, et chaque personne qui reçoit un poste obtient une transaction avec un inAppOwnershipType égal à ASSIGNED.
- Lorsqu'une organisation retire un abonnement qu'elle avait attribué à quelqu'un, Apple envoie une notification REVOKE et la transaction porte un revocationType égal à ASSIGNMENT_REVOKE, disponible en production depuis le 23 octobre 2026.
- L'endpoint Send Consumption Information d'Apple, la réponse à un CONSUMPTION_REQUEST, renvoie InvalidAssignedTransactionNotSupportedError lorsqu'il est appelé avec une transaction attribuée. Les preuves de remboursement ne peuvent donc être envoyées que pour la transaction de l'acheteur.
- Le champ revocationType d'Apple distingue REFUND_FULL de REFUND_PRORATED, et revocationPercentage indique la part remboursée en millièmes, donc 40000 signifie 40 pour cent.
- Les Group Purchases, qui permettent à un client de l'App Store d'acheter plusieurs postes et d'inviter d'autres personnes, peuvent être testés dans le sandbox à partir de novembre 2026 et arrivent sur l'App Store cet hiver.
Apple a commencé à vendre des abonnements d'apps aux organisations, par poste, le 22 octobre 2026, et a activé l'option pour la plupart des développeurs sans leur demander. Les entreprises et les établissements scolaires qui utilisent Apple Business ou Apple School Manager peuvent désormais acheter votre abonnement à renouvellement automatique en volume via un seul achat intégré. Cela change l'allure d'un remboursement d'abonnement multiposte sur votre serveur. Une transaction peut maintenant payer pour des dizaines de personnes, un poste peut disparaître sans aucun remboursement, et l'endpoint qui vous sert à défendre un dossier de remboursement refuse de parler des personnes qui utilisent réellement l'app.
Ce qu'Apple a activé, et où l'entreprise l'a annoncé
Le lancement a pris la forme d'une courte actualité Apple Developer intitulée « Offer your subscriptions to businesses and schools ». Elle indique que les organisations peuvent acheter les postes dont elles ont besoin via un seul achat intégré, puis les attribuer et les gérer avec leurs outils de gestion des appareils existants, et ajouter ou retirer des postes à tout moment. La même actualité précise que l'achat multiposte est activé par défaut dans App Store Connect, sauf si vous aviez déjà modifié le réglage.
La tuyauterie est arrivée au cours du mois précédent, dans les journaux des modifications, pas sur une scène. La version 1.22 de l'App Store Server API, datée du 28 septembre, a ajouté les champs de postes et les endpoints de groupes, uniquement dans le sandbox. Le 23 octobre, une mise à jour serveur d'une ligne a fait passer les endpoints de groupes et la valeur ASSIGNMENT_REVOKE en production. Si votre gestionnaire de notifications n'a pas changé depuis l'été, il reçoit maintenant des données qu'il n'a jamais été écrit pour lire.
| Date | Ce qui a changé | Où Apple l'a annoncé |
|---|---|---|
| Juin 2026 | Abonnements multipostes annoncés à la WWDC26 | Session 391, Offer subscriptions to groups and organizations |
| 16 septembre 2026 | Achat multiposte activé par défaut dans App Store Connect | Actualités Apple Developer |
| 28 septembre 2026 | quantity indique les postes, ajout de ASSIGNED et ASSIGNMENT_REVOKE, sandbox uniquement | Journal des modifications de l'App Store Server API, version 1.22 |
| 22 octobre 2026 | Volume Purchasing disponible pour Apple Business et Apple School Manager | Actualités Apple Developer |
| 23 octobre 2026 | ASSIGNMENT_REVOKE et endpoints de groupes en production | Journaux des modifications de la Server API et des Server Notifications |
| Novembre 2026 | Group Purchases testables dans le sandbox | Actualités Apple Developer |
| Cet hiver | Group Purchases sur l'App Store | Actualités Apple Developer |
Qui est activé par défaut
Presque tout le monde. La page d'aide d'App Store Connect indique que les abonnements créés avant le 14 septembre 2026 démarrent désactivés seulement s'ils n'utilisent pas StoreKit 2 ou s'ils ont le Partage familial activé. Les abonnements des apps personnalisées sont proposés automatiquement dans Apple Business et Apple School Manager, et vous ne pouvez pas les désactiver. Modifier le réglage requiert le rôle Titulaire du compte, Admin ou Gestionnaire d'apps, et retirer Apple Business ou Apple School Manager d'un abonnement approuvé requiert le Titulaire du compte.
Comment un achat multiposte apparaît sur votre serveur
Il existe désormais deux types de transaction pour le même abonnement. L'achat de l'organisation est une transaction, et son champ quantity indique combien de postes ont été achetés. Chaque personne qui reçoit un poste obtient sa propre transaction, ce que la session WWDC d'Apple décrit comme l'App Store attribuant une transaction à chaque membre. Ces transactions de membres portent un inAppOwnershipType égal à ASSIGNED, à côté des valeurs PURCHASED et FAMILY_SHARED que vous gérez peut-être déjà.
Apple est catégorique sur l'enregistrement qui décide de l'accès. Sa documentation Get Customer Groups indique que l'appartenance à un groupe est distincte du droit d'accès, et que pour débloquer du contenu, vous devez lire les transactions du client plutôt que vous fier à l'appartenance au groupe. Accordez l'accès à partir des transactions. Réservez les endpoints de groupes à des fonctions comme une vue d'administration.
| Champ ou valeur | Ce qu'il vous indique | Ajouté le |
|---|---|---|
| quantity | Nombre de postes d'un achat multiposte | 28 septembre 2026 |
| inAppOwnershipType = ASSIGNED | La personne a accès via une organisation ou un groupe | 28 septembre 2026 |
| revocationType = ASSIGNMENT_REVOKE | L'acheteur a retiré l'abonnement à cette personne | 28 septembre 2026, production le 23 octobre |
| revocationType = REFUND_FULL ou REFUND_PRORATED | La transaction a été remboursée en totalité ou en partie | 10 décembre 2025 |
| revocationPercentage | Part remboursée, en millièmes (40000 = 40%) | 10 décembre 2025 |
Un poste retiré n'est pas un remboursement
C'est ici que la plupart des gestionnaires vont se tromper. Lorsqu'une organisation retire un poste à un employé, Apple envoie une notification REVOKE, le même type que lorsqu'un acheteur du Partage familial cesse de partager. Le revocationType de la transaction est ASSIGNMENT_REVOKE, et la consigne d'Apple est directe : révoquez l'accès du client au contenu fourni par la transaction.
Rien dans cet événement n'indique un mouvement d'argent. Si votre code traite chaque révocation comme un remboursement, votre taux de remboursement, votre chiffre d'affaires net et toutes les alertes construites dessus compteront la rotation normale du personnel comme des ventes perdues. Aiguillez d'abord sur revocationType.
- ASSIGNMENT_REVOKE : mettez fin à l'accès de cette personne. N'enregistrez pas de remboursement.
- FAMILY_REVOKE : mettez fin à l'accès du membre de la famille. N'enregistrez pas de remboursement.
- REFUND_FULL : mettez fin à l'accès et enregistrez la transaction entière comme remboursée.
- REFUND_PRORATED : enregistrez la part indiquée dans revocationPercentage, puis décidez quel accès subsiste.

Pourquoi vous ne pouvez pas défendre un remboursement sur un poste attribué
Apple décide toujours de chaque remboursement sur l'App Store. Lorsqu'un client en demande un, Apple envoie un CONSUMPTION_REQUEST et vous laisse 12 heures pour répondre via Send Consumption Information. Avec le multiposte, la personne qui utilise l'app et celle qui a payé sont différentes, et l'API d'Apple trace désormais une frontière nette entre les deux.
Send Consumption Information rejette les transactions attribuées
Appelez Send Consumption Information, sa version V1 ou Set App Account Token avec une transaction attribuée, et Apple renvoie InvalidAssignedTransactionNotSupportedError. Apple conseille de vérifier si l'inAppOwnershipType vaut ASSIGNED avant l'appel. En pratique, vos preuves vont sur la transaction de l'acheteur ou nulle part. L'usage que votre app enregistre sur les comptes des membres reste utile à conserver, car c'est le seul moyen de savoir si les postes ont réellement servi.
À quoi ressemble un remboursement au prorata
Apple a ajouté REFUND_PRORATED et revocationPercentage en décembre 2025. La demande de consommation vous permet de solliciter ce résultat avec un refundPreference égal à GRANT_PRORATED. Pour un abonnement à renouvellement automatique, Apple demande de ne pas envoyer de consumptionPercentage avec GRANT_PRORATED, car elle calcule elle-même le pourcentage. Si le remboursement est annulé par la suite, revocationPercentage disparaît de la transaction.
Puis-je prolonger l'abonnement d'un seul employé en geste commercial ?
Non. Extend a Subscription Renewal Date renvoie AssignedSubscriptionExtensionIneligibleError pour un abonnement attribué. Apple explique qu'un abonnement attribué se renouvelle selon le même calendrier que celui acheté par l'acheteur, donc un membre ne peut pas être décalé seul.
Ce que vous coûte le remboursement d'un abonnement multiposte
L'échelle est le nouveau risque. La session WWDC d'Apple présente une tarification au volume avec jusqu'à cinq paliers. Son exemple vend les postes à 19,99 $ par mois jusqu'à 20 postes, 13,99 $ pour les postes 21 à 40, et 10,99 $ à partir du poste 41. Avec ces chiffres, une commande de 50 postes facture 789,50 $ par mois, soit environ 15,79 $ par poste. Un REFUND_FULL sur cette seule transaction rend la totalité des 789,50 $, pas le prix d'un abonnement.
Le coût de service suit la même échelle. Cinquante postes, ce sont cinquante personnes qui ouvrent des sessions sur vos serveurs, déclenchent les appels d'API tierces que vos fonctionnalités paient et remplissent un stockage qui vous est facturé. Si les titulaires de postes d'une commande remboursée gardent l'accès parce que votre gestionnaire n'a regardé que la transaction de l'acheteur, vous continuez à payer pour chacun d'eux. Un ASSIGNMENT_REVOKE manqué coûte moins mais arrive plus souvent : l'achat ne couvre plus cette personne, et chacune de ses requêtes est un coût sans revenu en face.
| Événement | Argent concerné | Accès à couper | Preuves que vous pouvez envoyer |
|---|---|---|---|
| ASSIGNMENT_REVOKE sur un membre | Aucun signalé | Ce membre | Sans objet |
| REFUND_FULL sur l'achat multiposte | Toute la transaction, chaque poste inclus | L'acheteur et chaque titulaire de poste | Transaction de l'acheteur uniquement, dans les 12 heures suivant le CONSUMPTION_REQUEST |
| REFUND_PRORATED sur l'achat multiposte | La part de revocationPercentage | Selon ce que couvre le remboursement | Transaction de l'acheteur uniquement |
| Réponse de consommation sur une transaction attribuée | Non acceptée | Sans objet | Rejetée avec InvalidAssignedTransactionNotSupportedError |
Quels circuits de remboursement vous demandent votre version
Le multiposte ne change pas la courte liste. Seuls deux circuits de remboursement demandent des preuves au développeur : le CONSUMPTION_REQUEST d'Apple, auquel on répond via Send Consumption Information sous 12 heures, et l'examen des rétrofacturations de Google Play, auquel on répond via orders.reviewrefund sous 24 heures. Tout le reste se décide sans vous, et pour les commandes Google Play passées après le 3 août 2026, une rétrofacturation coûte au développeur le prix d'achat, moins les frais de service de Play, plus les frais de rétrofacturation de la banque. RefundHalt répond aux demandes de consommation d'Apple dans le délai de 12 heures, à partir des données d'usage que vous collectez déjà.
Ce qu'il faut changer cette semaine dans votre gestionnaire App Store
- Lisez quantity sur chaque transaction d'abonnement et stockez-le avec l'achat.
- Stockez inAppOwnershipType et traitez ASSIGNED comme un cas à part entière, à côté de PURCHASED et FAMILY_SHARED.
- Aiguillez le traitement des REVOKE sur revocationType, pour qu'ASSIGNMENT_REVOKE coupe l'accès sans enregistrer de remboursement.
- Enregistrez REFUND_PRORATED à hauteur de revocationPercentage, et non comme un remboursement total.
- Vérifiez ASSIGNED avant d'appeler Send Consumption Information, Set App Account Token ou Extend a Subscription Renewal Date.
- Décidez dans App Store Connect si vous voulez vendre aux organisations, avant que l'une d'elles achète 50 postes.
Questions fréquentes
- Les abonnements multipostes d'Apple sont-ils activés pour mon app ?
- Probablement. Apple a activé l'achat multiposte par défaut dans App Store Connect. Les abonnements créés avant le 14 septembre 2026 démarrent désactivés seulement s'ils n'utilisent pas StoreKit 2 ou s'ils ont le Partage familial activé, et les abonnements des apps personnalisées ne peuvent pas être désactivés. Vous pouvez vérifier dans Purchase Options, sur la page de chaque abonnement.
- Une notification REVOKE avec ASSIGNMENT_REVOKE signifie-t-elle que j'ai perdu de l'argent ?
- Non. ASSIGNMENT_REVOKE signifie que l'organisation ou l'acheteur du groupe a retiré l'abonnement à une personne. Apple vous demande de mettre fin à l'accès de cette personne, mais l'événement ne signale aucun remboursement. N'enregistrez des remboursements que sur REFUND_FULL ou REFUND_PRORATED.
- Puis-je envoyer des informations de consommation pour un employé qui utilise un poste attribué ?
- Non. L'endpoint Send Consumption Information d'Apple renvoie InvalidAssignedTransactionNotSupportedError pour les transactions qu'une organisation ou un groupe a attribuées à un client. Vérifiez d'abord si l'inAppOwnershipType vaut ASSIGNED, et envoyez les preuves sur la transaction de l'acheteur.
- Comment savoir quelle part d'un achat multiposte Apple a remboursée ?
- Lisez revocationType et revocationPercentage sur la transaction. REFUND_FULL signifie que toute la transaction a été remboursée. REFUND_PRORATED s'accompagne de revocationPercentage en millièmes, donc 40000 signifie 40 pour cent de la transaction.
- Quand les Group Purchases d'Apple seront-ils lancés ?
- Apple indique que les Group Purchases, qui permettent à un client de l'App Store d'acheter plusieurs postes et d'inviter d'autres personnes, peuvent être configurés et testés dans le sandbox à partir de novembre 2026 et seront disponibles sur l'App Store cet hiver. Volume Purchasing pour les entreprises et les établissements scolaires a été lancé le 22 octobre 2026.
Sources et lectures complémentaires
- Apple Developer News: Offer your subscriptions to businesses and schools (October 22, 2026)
- App Store Connect Help: Manage purchase options for an auto-renewable subscription
- WWDC26 Session 391: Offer subscriptions to groups and organizations
- App Store Server Notifications changelog
- App Store Server API: revocationType
- App Store Server API: revocationPercentage
- App Store Server API: InvalidAssignedTransactionNotSupportedError
- App Store Server API: ConsumptionRequest
RefundHalt
Le pilote automatique des remboursements pour l'App Store et Google Play
Poursuivre la lecture
Des demandes de remboursement excessives peuvent vous coûter plus cher que les remboursements eux-mêmes, car les deux stores y voient un signal de qualité
La règle 5.6.4 d'Apple cite les demandes de remboursement excessives comme le signe qu'une app ne respecte pas les normes de qualité, et le contrat de distribution de Google l'autorise à retirer les apps des nouveaux développeurs en fonction de leur taux de remboursement. Voici ce que dit chaque store, ce que coûte un retrait et comment l'éviter.
Vérifiez les notifications serveur de l'App Store avant d'agir sur un remboursement, car n'importe qui peut envoyer des requêtes à votre URL de webhook
Une notification de remboursement n'est qu'une requête HTTPS tant que vous n'avez pas vérifié sa signature. Voici comment vérifier les notifications serveur de l'App Store et les messages RTDN de Google Play, ce que signe chaque store et ce que vous coûte un remboursement falsifié ou rejeté à tort.