In-App Purchase (IAP) ist ein Mechanismus für In-App-Käufe, der es Benutzern ermöglicht, digitale Waren und Dienstleistungen direkt innerhalb einer mobilen Anwendung zu erwerben. Die Plattformen iOS und Android bieten integrierte APIs zur Zahlungsabwicklung ohne Übermittlung von Bankkartendaten an den Entwickler. Laut der Apple StoreKit-Dokumentation wickelt IAP jährlich über 500 Milliarden US-Dollar an Transaktionen über den App Store und Google Play ab.
Wichtige Punkte
In-App Purchase (IAP) ist eine Technologie, die den Verkauf digitaler Waren und Dienstleistungen innerhalb einer mobilen Anwendung ermöglicht. Zahlungen werden über den App Store (auf iOS) oder Google Play (auf Android) abgewickelt, die eine Provision für die Transaktionsabwicklung erheben. Der Entwickler erhält den Betrag abzüglich der Store-Provision.
Apple erhebt eine Provision von 30% (15% für kleine Unternehmen mit einem Umsatz von bis zu 1 Million US-Dollar). Google Play erhebt ebenfalls 30% (15% auf die ersten 1 Million US-Dollar Entwicklerumsatz). Seit 2024 testet Google das Programm User Choice Billing, das Entwicklern die Nutzung alternativer Zahlungssysteme ermöglicht.
IAP ist gemäß den Richtlinien von App Store und Google Play für den Verkauf digitaler Waren in Apps verpflichtend. Physische Waren, Dienstleistungen (Fahrtenvermittlung, Essenslieferung) und Peer-to-Peer-Zahlungen können Zahlungssysteme Dritter nutzen.
App Store und Google Play unterstützen drei Hauptarten von In-App Purchase. Jede Art ist für unterschiedliche Monetarisierungsmodelle konzipiert. Die Wahl des Produkttyps beeinflusst die Logik der Kaufwiederherstellung, das Abonnementmanagement und das Verhalten bei der Neuinstallation der App.
Verbrauchbare Käufe sind Artikel, die mehrfach gekauft und während der Nutzung verbraucht werden können. Typische Beispiele: Spielwährung (Münzen, Edelsteine), zusätzliche Leben, Booster, verbrauchbare Power-Ups. Verbrauchbare Artikel werden bei einer Neuinstallation der App nicht wiederhergestellt — der Entwickler verwaltet den Kontostand jedes Benutzers auf seinem eigenen Server.
Nicht verbrauchbare Käufe sind Artikel, die einmal gekauft werden und für immer verfügbar bleiben. Beispiele: Vollversion der App, Premium-Level, Freischaltung von Filtern, Werbeentfernung. Nicht verbrauchbare Produkte können über die Restore Purchases API wiederhergestellt werden: Nach der Neuinstallation kann der Benutzer zuvor gekaufte Artikel ohne erneute Zahlung abrufen.
Automatisch verlängerbare Abonnements sind wiederkehrende Zahlungen für den Zugriff auf Inhalte oder Dienste für einen bestimmten Zeitraum (Woche, Monat, Jahr). Das Abonnement verlängert sich automatisch, bis der Benutzer es in seinen Kontoeinstellungen kündigt. Die Stores stellen Serverbenachrichtigungen (App Store Server Notifications, Google Play Developer Notifications) über Änderungen des Abonnementstatus bereit: Verlängerung, Ablauf, Rückerstattung.
Die Einrichtung von In-App Purchase beginnt in den Entwicklerkonsolen: App Store Connect für iOS und Google Play Console für Android. Für jedes Produkt werden eine Produkt-ID, Name, Beschreibung, Typ und Preis in US-Dollar mit automatischer Umrechnung in regionale Währungen angegeben. Nach der Erstellung durchläuft das Produkt die Store-Moderation.
In App Store Connect werden IAP-Produkte im Bereich Features → In-App Purchases erstellt. Für jedes Produkt wird ein Typ (consumable, non-consumable, auto-renewable subscription, non-renewing subscription) ausgewählt und lokalisierte Namen werden eingetragen. Für Abonnements werden zusätzlich Abonnementgruppen (Subscription Groups) konfiguriert — Gruppen austauschbarer Abonnements.
In der Google Play Console werden verwaltete Produkte im Bereich Monetise → Products → In-app products konfiguriert. Google verwendet die Begriffe Managed Product (analog zu non-consumable) und Subscription. Für verbrauchbare Käufe auf Android wird ein separates consume-Flag verwendet, das das Produkt für den erneuten Kauf zurücksetzt.
Die Moderation von IAP-Produkten dauert im App Store in der Regel 24–48 Stunden und in Google Play einige Stunden. Preisänderungen werden ohne erneute Moderation sofort wirksam. Produkt-IDs können nach der Erstellung nicht geändert werden — nur gelöscht und neu erstellt werden.
Die Quittungsprüfung ist ein obligatorischer Schritt bei der Verarbeitung von In-App Purchases. Die Client-Anwendung sendet eine Quittung an Ihren eigenen Server, der Server überprüft sie über die Apple-API (https://buy.itunes.apple.com) oder die Google-API (https://androidpublisher.googleapis.com) und gewährt dem Benutzer erst nach erfolgreicher Validierung den Artikel.
Ohne server-seitige Validierung könnte ein Angreifer die Antwort des Stores fälschen und den Artikel kostenlos erhalten. Die Client-seitige Validierung ist unsicher, da sie in einer vom Benutzer kontrollierten Umgebung ausgeführt wird. Die Server-seitige Validierung stellt sicher, dass die Quittung authentisch ist und die Zahlung erfolgreich war. Für Apple erfolgt die Überprüfung über den verifyReceipt-Endpunkt (Produktion oder Sandbox), für Google über die Android Publisher API. Beide Stores geben die Bestätigung im JSON-Format zurück.
Apple gibt in der Quittung Kaufdaten zurück: product_id, transaction_id, purchase_date, expiration_date (für Abonnements). Google gibt ähnliche Felder über die Purchases.products.get- oder Purchases.subscriptions.get-API zurück. Der Server sollte die transaction_id jeder Quittung speichern und doppelte Anfragen mit derselben ID ablehnen, um sich vor Replay-Angriffen zu schützen.
Die Integration von In-App Purchase erfordert die Einbindung der Plattformbibliotheken: StoreKit 2 auf iOS und Billing Library 7+ auf Android. Die APIs ermöglichen das Abrufen einer Produktliste, das Initiieren eines Kaufs, die Verarbeitung des Ergebnisses und die Wiederherstellung zuvor erworbener Artikel.
import StoreKit
func purchaseProduct(productID: String) async throws {
guard let product = try await Product.products(for: [productID]).first else { return }
let result = try await product.purchase()
switch result {
case .success(let verification):
let transaction = try verification.payloadValue
await validateReceipt(transaction)
await transaction.finish()
default:
break
}
}
import com.android.billingclient.api.BillingClient
import com.android.billingclient.api.BillingFlowParams
val billingClient = BillingClient.newBuilder(context)
.setListener { billingResult, purchases ->
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
purchases?.forEach { purchase ->
validateReceipt(purchase)
}
}
}
.build()
val params = BillingFlowParams.newBuilder()
.setProductDetails(productDetails)
.build()
billingClient.launchBillingFlow(activity, params)
const response = await fetch('https://buy.itunes.apple.com/verifyReceipt', {
method: 'POST',
body: JSON.stringify({
'receipt-data': receiptBase64,
'password': 'SHARED_SECRET'
})
})
const data = await response.json()
if (data.status === 0) {
// Quittung bestätigt — Artikel wird gutgeschrieben
await grantProduct(data.receipt.product_id)
}
Die Monetarisierung durch In-App Purchase erfordert eine durchdachte Preisstrategie und UX. Benutzer neigen eher zu ihrem ersten Kauf, wenn ihnen ein attraktives Starter-Pack zu einem niedrigen Preis angeboten wird. Apple und Google empfehlen, den Produktpreis vor dem Bestätigungsschritt anzuzeigen.
Das Abonnement-Onboarding ist eine kritische Konversionsphase. Zeigen Sie dem Benutzer den Wert des Abonnements, bevor Sie die Zahlung anfordern: einen kostenlosen Testzeitraum, einen Tarifvergleich, eine Liste der Vorteile. Laut Studien erhöht ein kostenloser Testzeitraum die Konversion zu zahlenden Benutzern um 25–40%.
Restore Purchases ist für nicht verbrauchbare Produkte und Abonnements verpflichtend. Die Wiederherstellungsschaltfläche sollte in den App-Einstellungen oder auf dem Zahlungsbildschirm zugänglich sein. Google und Apple können die App ablehnen, wenn die Kaufwiederherstellung für die entsprechenden IAP-Typen nicht implementiert ist.
Die Gnadenfrist (Grace Period) ist ein Zahlungsaufschub für Abonnements, während dessen der Benutzer nach einem Zahlungsfehler weiterhin Zugriff hat. iOS und Android unterstützen eine Gnadenfrist von bis zu 30 Tagen. Die Aktivierung der Gnadenfrist reduziert die Abwanderungsrate (Churn Rate) um 10–15%.
A/B-Tests von IAP-Preisen sind eine wichtige Monetarisierungspraxis. App Store Connect unterstützt lokale Preise (Price Tiers) mit der Möglichkeit, Preise ohne erneute Moderation zu ändern. Die Google Play Console ermöglicht die Konfiguration von bis zu 5 Basisplänen mit unterschiedlichen Preisen für ein Abonnementprodukt. Es wird empfohlen, mindestens zwei Preispunkte zu testen: den aktuellen und den neuen. Der Test sollte über 2–4 Wochen mit einer Stichprobe von mindestens 1000 Benutzern pro Preispunkt durchgeführt werden.
Store-Review und Ablehnungsmanagement ist eine obligatorische Phase bei der Veröffentlichung einer App mit IAP. Apple prüft Apps mit automatisch verlängerbaren Abonnements besonders genau: Sie müssen ein Testkonto mit einem aktiven Abonnement bereitstellen, den Abonnementkündigungsbildschirm anzeigen und Restore Purchases implementieren. Google Play ist weniger streng, verlangt jedoch eine Bestätigung der digitalen Inhaltsrechte. Es wird empfohlen, einen Review-Hinweis mit einer Beschreibung der IAP-Logik hinzuzufügen.
Häufig gestellte Fragen
In-App Purchase (IAP) ist ein Mechanismus zum Kauf digitaler Waren innerhalb einer mobilen App. Die Zahlung wird über den App Store oder Google Play abgewickelt, die eine Provision von 30% (15% für kleine Unternehmen) einbehalten und den Rest an den Entwickler überweisen.
Es gibt drei Arten von IAP: verbrauchbar (aufbrauchbar — Münzen, Leben), nicht verbrauchbar (dauerhaft — Werbeentfernung, Vollversion) und automatisch verlängerbar (wiederkehrend — Zugriff auf Inhalte für einen Zeitraum). Nicht verbrauchbare Käufe unterstützen die Wiederherstellung.
Die primäre Schutzmethode ist die Server-seitige Quittungsprüfung. Der Client sendet die Quittung an Ihren Server, und der Server überprüft sie über die Apple- oder Google-API. Ohne Server-seitige Validierung könnte ein Angreifer die Antwort des Stores fälschen und den Artikel kostenlos erhalten.
Die Einrichtung von IAP umfasst: Erstellung von Produkten in App Store Connect oder Google Play Console, Anbindung von StoreKit (iOS) oder Billing Library (Android), Implementierung des Kaufablaufs und Server-seitige Quittungsprüfung. Jedes Produkt durchläuft die Store-Moderation.
Apple erhebt 30% (15% für Entwickler mit einem Umsatz von bis zu 1 Million US-Dollar). Google Play erhebt ebenfalls 30% (15% auf die erste Million). Seit 2024 testet Google alternative Zahlungssysteme über User Choice Billing. Der Entwickler kann einen externen Zahlungsanbieter wählen, muss aber eine Servicegebühr von 11–12% an Google zahlen.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch