Alle Artikel
Deep dive8 Min. Lesezeit

Eine Family-Sharing-Rückerstattung macht eine Zahlung rückgängig, kann aber fünf andere Personen weiterhin in Ihrer App lassen, und nur Ihr Server kann ihnen den Zugriff abschneiden

Eine Family-Sharing-Rückerstattung macht eine Zahlung rückgängig, kann aber bis zu fünf Familienmitglieder auf Ihren kostenpflichtigen Funktionen lassen. Apple sendet ein REVOKE und erwartet, dass Ihr Server den Zugriff beendet. So funktionieren familiengeteilte Rückerstattungen und was eine davon kostet.

Ein einzelner Papierbeleg in der Mitte eines für sechs gedeckten Esstisches, der veranschaulicht, wie eine Zahlung hinter einer Family-Sharing-Rückerstattung sechs Personen abdecken kann

Wichtigste Erkenntnisse

  • Apple kennzeichnet jede familiengeteilte Transaktion mit einem inAppOwnershipType von FAMILY_SHARED und jeden Direktkauf mit PURCHASED. Das Feld erscheint nur bei nicht verbrauchbaren In-App-Käufen und automatisch verlängerbaren Abonnements, den beiden Produkttypen, die Family Sharing unterstützt.
  • Ein einziger familienteilbarer Kauf kann bis zu sechs Personen berechtigen, dem Käufer plus fünf Familienmitgliedern, sodass eine Zahlung den Verbrauch von sechs Personen an Rechenleistung, API-Aufrufen, Speicher und Auszahlungen antreiben kann, den Ihr Produkt für die Bereitstellung aufwendet.
  • Wenn Apple der Person, die einen geteilten Kauf getätigt hat, das Geld erstattet, sendet es eine App Store Server Notification REVOKE, und den Zugriff zu widerrufen, einschließlich jeder familiengeteilten Kopie davon, ist die Aufgabe Ihres Servers. Apple gibt das Geld zurück, beendet aber Ihre Berechtigungen nicht für Sie.
  • Eine FAMILY_SHARED-Transaktion in einem REVOKE trägt nur dann ein revocationDate, wenn der Widerruf durch eine Rückerstattung an den Käufer verursacht wurde. Wenn ein Familienmitglied einfach die Gruppe verlässt, kommt dasselbe REVOKE ohne revocationDate an, laut Apples eigenen Ingenieuren.
  • Apple verzögert einen neuen familiengeteilten Kauf absichtlich um etwa eine Stunde, bevor er die Familienmitglieder erreicht, damit der Käufer Zeit hat, das Teilen zu deaktivieren, bevor jemand anderes Zugriff erhält.
  • Das Aktivieren von Family Sharing für einen In-App-Kauf in App Store Connect kann nicht rückgängig gemacht werden, sodass ein Produkt, sobald es teilbar ist, teilbar bleibt, und Ihre Rückerstattungsbehandlung von da an FAMILY_SHARED-Transaktionen berücksichtigen muss.
  • Verbrauchbare Käufe werden nie mit der Familie geteilt, sodass ein Familienmitglied nie ein CONSUMPTION_REQUEST auslöst oder in Ihrer Verbrauchsberichterstattung auftaucht. Family-Sharing-Rückerstattungen betreffen immer nur nicht verbrauchbare Käufe und automatisch verlängerbare Abonnements.

Ein Kauf in einer Family-Sharing-Gruppe kann Ihre App an sechs Personen weitergeben. Diejenige, die bezahlt hat, ist eine davon. Die anderen fünf haben nie ihr Portemonnaie geöffnet, und Apple erwartet trotzdem, dass Ihre App für alle funktioniert. Das ist der Handel, auf den Sie sich in dem Moment einlassen, in dem Sie Family Sharing für einen In-App-Kauf aktivieren. Es ist auch der Grund, warum eine Family-Sharing-Rückerstattung ein anderes Tier ist als eine gewöhnliche. Wenn der Käufer sein Geld zurückbekommt, wird der Verkauf für ein Konto rückgängig gemacht, aber der Zugriff, den Sie bis zu fünf anderen Personen gewährt haben, schaltet sich nicht von selbst ab. Ihr Server muss das tun, und wenn er darauf geschrieben wurde, nur den Käufer zu beobachten, wird er es nicht tun.

Hier ist das gesamte Bild an einem Ort. Dies geht durch, wie Apple einen geteilten Kauf kennzeichnet, das eine Feld, das den Käufer von der Familie unterscheidet, genau wann Apple Ihnen ein REVOKE sendet und wie man es liest, das leise Detail, das eine Rückerstattung von jemandem trennt, der einfach die Familie verlässt, und was eine geteilte Rückerstattung tatsächlich kostet, sobald Sie die Rechenleistung mitzählen, die Sie bereits für Personen ausgegeben haben, die Ihnen nie bezahlt haben.

Was Family Sharing austeilt und an wie viele Personen

Aktivieren Sie Family Sharing für ein Produkt, und Sie ändern, wer Ihr zahlender Kunde ist. Eine Familiengruppe bei Apple kann bis zu sechs Personen umfassen, einen Organisator und bis zu fünf Mitglieder. Wenn irgendjemand in der Gruppe ein familienteilbares Produkt kauft, erhält jeder in der Gruppe Zugriff darauf. Sie zahlen nicht. Sie erscheinen nicht in Ihrem Umsatz. Sie tauchen einfach in Ihrer App mit einer gültigen Berechtigung auf, weil Apple jedem von ihnen eine Transaktion ausstellt, die auf denselben Kauf verweist.

Nur zwei Produkttypen sind teilbar, und verbrauchbare gehören nicht dazu

Family Sharing deckt genau zwei Arten von In-App-Käufen ab: nicht verbrauchbare und automatisch verlängerbare Abonnements. Verbrauchbare, die Münzen-und-Guthaben-Produkte, werden nie geteilt, weshalb ein Familienmitglied nie ein CONSUMPTION_REQUEST auslöst oder in Ihrer Verbrauchsberichterstattung auftaucht. Wenn Ihre App nur verbrauchbare Käufe verkauft, sind Family-Sharing-Rückerstattungen nicht Ihr Problem. Wenn Sie eine lebenslange Freischaltung oder einen wiederkehrenden Plan verkaufen, dann sind sie es.

Das Feld, das einen Käufer von einem Begünstigten unterscheidet

Jede Transaktion, die Apple ausstellt, trägt einen inAppOwnershipType. Er hat zwei Werte. PURCHASED bedeutet, dass dieses Konto für das Produkt bezahlt hat und es verwalten kann, einschließlich es zu kündigen oder eine Rückerstattung anzufordern. FAMILY_SHARED bedeutet, dass dieses Konto zu einem Familienmitglied gehört, das über den Kauf einer anderen Person Zugriff hat. Beide berechtigen die Person, Ihr Produkt zu nutzen. Nur eine davon hat bezahlt. Das Feld befindet sich auf der StoreKit-Transaktion, dem Beleg und der App Store Server API, sodass Sie es überall dort lesen können, wo Sie bereits Berechtigungen prüfen.

inAppOwnershipTypeWer es istKann den Kauf verwalten oder erstattenHat er Ihnen bezahlt
PURCHASEDDas Konto, das das Produkt gekauft hatJaJa
FAMILY_SHAREDEin Familienmitglied mit geteiltem ZugriffNeinNein

Wie eine Family-Sharing-Rückerstattung Ihren Server erreicht

Eine Rückerstattung bei einem geteilten Kauf beginnt genauso wie jede Apple-Rückerstattung. Der Käufer, die einzige Person, die es kann, bittet Apple um sein Geld zurück. Apple entscheidet. Wenn Apple sie gewährt, wird der Kauf des Käufers rückgängig gemacht und Apple sendet Ihrem Server eine App Store Server Notification REVOKE. Sowohl V1 als auch V2 der Benachrichtigung tragen sie. Das REVOKE ist Ihr einziges Signal, dass die Berechtigung dahinter, und jede familiengeteilte Kopie davon, nun ungültig ist.

Widerrufen Sie nicht eine Transaktion, lesen Sie die gesamte Historie neu

Apples Anleitung zu einem REVOKE ist unmissverständlich: Behandeln Sie es nicht als einen einzelnen Schalter. Wenn Sie eines erhalten, gehen Sie die gesamte Transaktionshistorie des Kunden durch und bauen Sie seine Berechtigungen von Grund auf neu auf, denn eine Person kann mehr als eine Transaktion halten, die dasselbe oder ein anderes Produkt gewährt. Widerrufen Sie nur die in der Benachrichtigung genannte Transaktion, und Sie können entweder ein erstattetes Familienmitglied mit aktivem Zugriff hängen lassen oder jemanden abschneiden, der noch eine gültige zweite Berechtigung hat. Stellen Sie jedes Mal das vollständige Bild wieder her.

Eine Hand, die einen Messingschlüssel von einem Ring aus sechs identischen Schlüsseln abhebt, die den Widerruf des geteilten Zugriffs eines einzelnen Familienmitglieds nach einer Family-Sharing-Rückerstattung darstellt

Das eine Detail, das eine Rückerstattung von einem Familienbruch trennt

Hier ist die Falle, die Teams einen Nachmittag der Fehlersuche kostet. Ein REVOKE kann zwei sehr unterschiedliche Dinge für eine FAMILY_SHARED-Transaktion bedeuten, und die Art, wie Sie sie auseinanderhalten, ist ein Feld, das manchmal schlicht fehlt. Wenn der Käufer eine Rückerstattung erhält, kommt die FAMILY_SHARED-Transaktion mit einem revocationDate. Wenn ein Familienmitglied einfach die Gruppe verlässt, kommt dieselbe Art von REVOKE ganz ohne revocationDate an. Apples Handelsingenieure haben das direkt in den Entwicklerforen gesagt. So oder so entziehen Sie den Zugriff, aber nur das datierte ist eine Rückerstattung, und nur die Rückerstattung ist diejenige, die auch eine Zahlung rückgängig gemacht hat.

Was eine geteilte Rückerstattung Sie tatsächlich kostet

Verfolgen Sie das Geld, denn hier ändert Family Sharing still die Rechnung. Eine normale Rückerstattung macht einen Verkauf rückgängig. Apple gibt den Preis an den Käufer zurück und erstattet seine Provision, sodass die Store-Seite nahezu ausgeglichen ist. Was nie zurückkommt, ist das, was Sie bereits für die Bereitstellung des Produkts ausgegeben haben. Mit Family Sharing haben Sie es nicht einmal ausgegeben. Sie haben es für bis zu sechs Personen ausgegeben. Der Käufer und bis zu fünf Familienmitglieder haben jeweils Ihre Rechenleistung laufen lassen, Ihre APIs aufgerufen, Ihren Speicher gefüllt und alle von Ihnen finanzierten Auszahlungen abgezogen, und das alles auf der Grundlage einer einzigen Zahlung.

Jetzt lässt sich der Käufer erstatten. Die eine Zahlung wird rückgängig gemacht. Der Zugriff jedes Familienmitglieds sollte im selben Moment enden, weil das, was ihre Bedienung gerechtfertigt hat, ein bezahlter Kauf, weg ist. Wenn Ihr Server nur die PURCHASED-Transaktion widerruft und die FAMILY_SHARED-Transaktionen aktiv lässt, behalten bis zu fünf Personen Ihre kostenpflichtigen Funktionen gratis, und Sie zahlen weiter, um sie zu bedienen, wobei nichts mehr im System übrig ist, gegen das man abrechnen könnte. Das ist kein Rundungsfehler. Es sind die fünffachen Bereitstellungskosten des Verkaufs, den Sie gerade zurückgegeben haben.

Was Sie bei einer geteilten Rückerstattung widerrufenWer den Zugriff verliertWofür Sie weiter zahlen
Die gesamte TransaktionshistorieDer Käufer und alle FamilienmitgliederNichts, der Zugriff endet für alle
Nur die PURCHASED-TransaktionDer Käufer alleinBis zu fünf Familienmitglieder, weiterhin auf Ihrer Rechenleistung, Ihren APIs, Ihrem Speicher und Ihren Auszahlungen
Nichts, weil Sie das REVOKE verpasst habenNiemandDer Käufer und bis zu fünf Mitglieder, alle gratis

Abonnements machen das Leck wiederkehrend

Bei einem nicht verbrauchbaren Kauf ist ein nicht widerrufenes Familienmitglied ein einmaliger Verlust, der läuft, bis Sie es bemerken. Bei einem automatisch verlängerbaren Abonnement ist es schlimmer, weil die Berechtigung bereits wiederkehrend war. Eine Rückerstattung auf die Abonnementbestellung sollte das Teilen für die gesamte Gruppe beenden, aber ein aktiv gelassenes Familienmitglied behält die kostenpflichtige Stufe in jedem Abrechnungszeitraum, in dem Sie versäumen, es abzuschließen. Die Behebung ist dieselbe, Berechtigungen bei jedem REVOKE aus der vollständigen Historie wiederherstellen, aber die Kosten des Auslassens summieren sich.

Es richtig machen, und es testen, bevor eine echte Rückerstattung es tut

Es gibt hier nichts Exotisches zu bauen. Die ganze Aufgabe besteht darin, den Zugriff an die Berechtigung zu koppeln, nicht an den Käufer, und diesen Zugriff bei jedem REVOKE neu aufzubauen.

  • Speichern Sie den Zugriff an der Transaktion und ihrem inAppOwnershipType, nicht an einem einzelnen Käuferkonto, sodass eine FAMILY_SHARED-Transaktion Zugriff für sich allein gewährt und für sich allein widerrufen werden kann.
  • Bei jeder REVOKE-Benachrichtigung lesen Sie die vollständige Transaktionshistorie des Kunden neu und berechnen die Berechtigungen neu, anstatt die eine genannte Transaktion abzuschalten.
  • Behandeln Sie eine FAMILY_SHARED-Transaktion mit einem revocationDate als Rückerstattung und beenden Sie den Zugriff dieses Mitglieds. Behandeln Sie eine ohne revocationDate als Familienabgang und beenden Sie ihn ebenfalls.
  • Nehmen Sie einen brandneuen geteilten Kauf nicht überstürzt in Betrieb. Apple hält ihn etwa eine Stunde zurück, damit der Käufer zurücktreten kann, also honorieren Sie die Transaktion, die Apple tatsächlich ausstellt, statt beim Kauf-Tippen zu gewähren.
  • Proben Sie es. Apples Testing-Family-Sharing-Werkzeug lässt Sie eine geteilte Transaktion simulieren, und eine Sandbox-Rückerstattung löst dasselbe REVOKE aus, das Ihr Produktionsserver erhalten wird.

Tun Sie das, und eine Family-Sharing-Rückerstattung wird zu einem Nicht-Ereignis. Der Käufer bekommt sein Geld, die gesamte Gruppe verliert den Zugriff im selben Takt, und Sie hören auf, dafür zu zahlen, Menschen zu bedienen, die Ihnen nie bezahlt haben.

Häufig gestellte Fragen

Was ist inAppOwnershipType und was sind seine Werte?
inAppOwnershipType ist ein Feld, das Apple in jede In-App-Kauftransaktion einfügt, mit zwei Werten: PURCHASED für das Konto, das das Produkt gekauft hat, und FAMILY_SHARED für ein Familienmitglied, das über den Kauf einer anderen Person Zugriff hat. Es erscheint nur bei nicht verbrauchbaren Käufen und automatisch verlängerbaren Abonnements, den Produkttypen, die Family Sharing unterstützt.
Widerruft Apple den Zugriff von Familienmitgliedern automatisch, wenn der Käufer eine Rückerstattung erhält?
Nein. Apple macht die Zahlung des Käufers rückgängig und sendet Ihrem Server eine App Store Server Notification REVOKE, aber die Berechtigung zu widerrufen, einschließlich jeder familiengeteilten Kopie davon, ist die Aufgabe Ihres Servers. Wenn Sie auf das REVOKE nicht reagieren, behalten Familienmitglieder den Zugriff nach der Rückerstattung.
Wie unterscheide ich eine Family-Sharing-Rückerstattung von einem Familienmitglied, das die Gruppe verlässt?
Prüfen Sie auf ein revocationDate bei der FAMILY_SHARED-Transaktion. Wenn der Widerruf durch eine Rückerstattung an den Käufer verursacht wird, trägt die Transaktion ein revocationDate. Wenn ein Familienmitglied einfach die Gruppe verlässt, kommt das REVOKE ohne revocationDate an. Beide Fälle beenden die Berechtigung, aber nur der datierte hat eine Zahlung rückgängig gemacht.
Wie viele Personen können einen einzigen familiengeteilten Kauf nutzen?
Bis zu sechs, der Organisator plus bis zu fünf Familienmitglieder. Eine Zahlung kann daher sechs Personen zu Ihrem Produkt berechtigen, weshalb eine geteilte Rückerstattung bis zu fünf Personen auf Ihren kostenpflichtigen Funktionen hängen lassen kann, wenn Sie nur die Transaktion des Käufers widerrufen.
Kann ich Family Sharing für einen In-App-Kauf nach dem Aktivieren wieder ausschalten?
Nein. Das Aktivieren von Family Sharing für einen In-App-Kauf in App Store Connect kann nicht rückgängig gemacht werden. Sobald ein Produkt teilbar ist, bleibt es teilbar, sodass Ihre Rückerstattungsbehandlung von diesem Zeitpunkt an FAMILY_SHARED-Transaktionen berücksichtigen muss.
Werden verbrauchbare Käufe mit der Familie geteilt?
Nein. Family Sharing deckt nur nicht verbrauchbare Käufe und automatisch verlängerbare Abonnements ab. Verbrauchbare werden nie geteilt, sodass ein Familienmitglied nie ein CONSUMPTION_REQUEST auslöst oder in Ihrer Verbrauchsberichterstattung auftaucht.

Quellen und weiterführende Informationen

RefundHalt

Der Rückerstattungs-Autopilot für App Store und Google Play

Weiterlesen

Die nächste Rückerstattungsanfrage ist bereits unterwegs.

Richten Sie RefundHalt in der Zeit ein, die Sie brauchen, um eine weitere Support-E-Mail über eine Rückerstattung zu lesen, die Sie nicht anfechten konnten.