Cumpărături în aplicație — esență, tipuri de achiziții și cum funcționează monetizarea

Autor: IT Sectr Publicat: 2026-04-22 Timp de citire: 9 min

In-App Purchase (IAP) — este mecanismul de cumpărături integrate în aplicație care permite utilizatorilor să achiziționeze bunuri și servicii digitale direct din aplicația mobilă. Platformele iOS și Android oferă API-uri integrate pentru efectuarea plăților fără transmiterea datelor cardului bancar către dezvoltator. Conform documentației Apple StoreKit, IAP procesează peste 500 de miliarde de dolari în tranzacții anual prin App Store și Google Play.

Principalele puncte

  • In-App Purchase — mecanism de achiziție a bunurilor digitale în aplicația mobilă prin API-ul magazinului.
  • Consumable — achiziții unice care pot fi cumpărate de mai multe ori (monede, vieți, energie).
  • Non-Consumable — achiziții permanente disponibile după o singură cumpărare (niveluri, filtre, funcții premium).
  • Reînnoire automată (Auto-Renewable Subscription) — plăți regulate pentru acces la conținut sau serviciu pe o perioadă.
  • Server-side receipt validation — verificarea obligatorie a chitanței pe propriul server pentru protecția împotriva fraudei.

Ce este In-App Purchase?

In-App Purchase (IAP) — este o tehnologie care permite vânzarea de bunuri și servicii digitale în cadrul unei aplicații mobile. Plățile sunt procesate prin App Store (pe iOS) sau Google Play (pe Android), care percep un comision pentru efectuarea tranzacției. Dezvoltatorul primește suma după deducerea comisionului magazinului.

Apple percepe un comision de 30% (15% pentru afaceri mici cu venituri de până la 1 milion de dolari). Google Play percepe de asemenea 30% (15% pentru primul 1 milion de dolari din venitul dezvoltatorului). Din 2024, Google testează programul User Choice Billing, care permite dezvoltatorilor să utilizeze sisteme de plată alternative.

IAP este obligatoriu pentru vânzarea bunurilor digitale în aplicații conform politicilor App Store și Google Play. Bunurile fizice, serviciile (comanda taxi, livrarea mâncării) și plățile peer-to-peer pot utiliza sisteme de plată terțe.

Tipuri de In-App Purchase: consumable, non-consumable și subscription

App Store și Google Play suportă trei tipuri principale de In-App Purchase. Fiecare tip este destinat diferitelor modele de monetizare. Alegerea tipului de produs influențează logica de restaurare a achizițiilor, gestionarea abonamentelor și comportamentul la reinstalarea aplicației.

Consumable (achiziții consumabile)

Consumable — sunt bunuri care pot fi achiziționate de mai multe ori și se consumă în timpul utilizării. Exemple tipice: valută de joc (monede, diamante), vieți suplimentare, acceleratoare, boostere consumabile. Consumable nu se restaurează la reinstalarea aplicației — dezvoltatorul gestionează singur soldul fiecărui utilizator pe serverul său.

Non-Consumable (achiziții neconsumabile)

Non-Consumable — sunt bunuri care se cumpără o singură dată și rămân disponibile permanent. Exemple: versiunea completă a aplicației, niveluri premium, deblocarea filtrelor, eliminarea reclamelor. Produsele non-consumabile se restaurează prin API-ul Restore Purchases: după reinstalare, utilizatorul poate recupera bunurile cumpărate anterior fără plată suplimentară.

Auto-Renewable Subscription (abonament cu reînnoire automată)

Auto-Renewable Subscription — sunt plăți regulate pentru acces la conținut sau serviciu pe o perioadă determinată (săptămână, lună, an). Abonamentul se reînnoiește automat până când utilizatorul îl anulează în setările contului. Magazinele oferă notificări server (App Store Server Notifications, Google Play Developer Notifications) privind modificarea stării abonamentului: reînnoire, expirare, rambursare.

Configurarea IAP în App Store Connect și Google Play Console

Configurarea In-App Purchase începe în panourile dezvoltatorului: App Store Connect pentru iOS și Google Play Console pentru Android. Pentru fiecare produs se specifică un identificator (Product ID), nume, descriere, tip și preț în dolari americani cu conversie automată în valute regionale. După creare, produsul trece prin moderarea magazinului.

În App Store Connect produsele IAP se creează în secțiunea Features → In-App Purchases. Pentru fiecare produs se alege tipul (consumable, non-consumable, auto-renewable subscription, non-renewing subscription) și se completează denumirile localizate. Pentru abonamente se configurează suplimentar grupuri (Subscription Groups) — grupuri de abonamente interschimbabile.

În Google Play Console produsele gestionate (managed products) se configurează în secțiunea Monetise → Products → In-app products. Google utilizează termenii Managed Product (analog non-consumable) și Subscription. Pentru achizițiile consumable pe Android se utilizează un flag separat consume care resetează produsul pentru re-cumpărare.

Moderarea produselor IAP durează în medie 24–48 de ore în App Store și câteva ore în Google Play. Modificările de preț se aplică imediat fără re-moderare. Product ID nu poate fi modificat după creare — poate fi doar șters și recreat.

Server-side receipt validation și protecția împotriva fraudei

Receipt validation (verificarea chitanței) — etapa obligatorie a procesării In-App Purchase. Aplicația client trimite chitanța (receipt) pe propriul server, serverul o verifică prin API-ul Apple (https://buy.itunes.apple.com) sau Google (https://androidpublisher.googleapis.com) și abia după validarea reușită atribuie bunul utilizatorului.

Fără validare pe server, un atacator poate falsifica răspunsul magazinului și obține bunul gratuit. Client-side validation este nesigură deoarece se execută într-un mediu controlat de utilizator. Verificarea pe server garantează că chitanța este autentică și plata a fost efectuată cu succes. Pentru Apple verificarea se face prin endpoint-ul verifyReceipt (production sau sandbox), pentru Google — prin Android Publisher API. Ambele magazine returnează confirmarea în format JSON.

Apple returnează în chitanță datele despre achiziție: product_id, transaction_id, purchase_date, expiration_date (pentru abonamente). Google returnează câmpuri similare prin API-ul Purchases.products.get sau Purchases.subscriptions.get. Serverul trebuie să stocheze transaction_id fiecărei chitanțe și să respingă cererile repetate cu același ID pentru protecția împotriva atacurilor de tip replay.

Integrarea IAP în aplicația mobilă în Swift și Kotlin

Integrarea In-App Purchase necesită conectarea bibliotecilor de platformă: StoreKit 2 pe iOS și Billing Library 7+ pe Android. API-urile permit solicitarea listei de produse, inițierea achiziției, procesarea rezultatului și restaurarea bunurilor achiziționate anterior.

Swift — StoreKit 2 pe iOS 17+

swift
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
    }
}

Kotlin — Billing Library 7

kotlin
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)

Server-side receipt validation (Node.js)

js
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) {
    // Chitanța confirmată — atribuim bunul
    await grantProduct(data.receipt.product_id)
}

Cele mai bune practici de monetizare prin In-App Purchase

Monetizarea prin In-App Purchase necesită o strategie de prețuri și UX bine gândită. Utilizatorii sunt mai predispuși la prima achiziție dacă li se oferă un pachet de pornire atractiv (starter pack) la un preț scăzut. Apple și Google recomandă afișarea prețului produsului înainte de momentul confirmării achiziției.

Subscription onboarding — etapa critică de conversie. Arătați utilizatorului valoarea abonamentului înainte de a solicita plata: perioadă de probă gratuită, compararea planurilor, lista de beneficii. Potrivit cercetărilor, perioada de probă gratuită (free trial) crește conversia utilizatorilor plătitori cu 25–40%.

Restore Purchases este obligatoriu pentru produsele non-consumable și abonamente. Butonul de restaurare trebuie să fie disponibil în setările aplicației sau pe ecranul de plată. Google și Apple pot respinge aplicația dacă restaurarea achizițiilor nu este implementată pentru tipurile corespunzătoare de IAP.

Grace Period — perioadă de grație pentru abonamente în care utilizatorul păstrează accesul după o plată eșuată. iOS și Android suportă grace period de până la 30 de zile. Activarea grace period reduce rata de abandon (churn rate) cu 10–15%.

Testarea A/B a prețurilor IAP — o practică importantă de monetizare. App Store Connect suportă prețuri locale (Price Tiers) cu posibilitatea de a schimba prețul fără re-moderarea produsului. Google Play Console permite configurarea a până la 5 planuri de bază cu prețuri diferite pentru un singur produs de abonament. Se recomandă testarea a cel puțin două puncte de preț: cel curent și cel nou. Testarea se desfășoară timp de 2–4 săptămâni pe un eșantion de cel puțin 1000 de utilizatori pentru fiecare punct de preț.

Revizuirea magazinului și gestionarea respingerii — etapa obligatorie de publicare a aplicației cu IAP. Apple verifică cu deosebită atenție aplicațiile cu abonamente cu reînnoire automată: trebuie să furnizați un cont de test cu abonament activ, să afișați ecranul de anulare a abonamentului și să implementați Restore Purchases. Google Play este mai puțin strict, dar solicită confirmarea drepturilor asupra conținutului digital. Se recomandă adăugarea unei note pentru recenzor (Review Notes) cu descrierea logicii IAP.

Întrebări frecvente

Ce este In-App Purchase și cum funcționează?

In-App Purchase (IAP) — este mecanismul de achiziție a bunurilor digitale în cadrul unei aplicații mobile. Plata este procesată prin App Store sau Google Play, care rețin un comision de 30% (15% pentru afaceri mici) și transferă restul dezvoltatorului.

Ce tipuri de In-App Purchase există?

Există trei tipuri de IAP: consumable (consumabile — monede, vieți), non-consumable (permanente — eliminarea reclamelor, versiunea completă) și auto-renewable subscription (reînnoire automată — acces la conținut pe o perioadă). Non-consumable suportă restaurarea achizițiilor.

Cum protejăm In-App Purchase împotriva hackerilor?

Metoda principală de protecție — server-side receipt validation. Clientul trimite chitanța pe serverul dumneavoastră, serverul o verifică prin API-ul Apple sau Google. Fără validare pe server, un atacator poate falsifica răspunsul magazinului și obține bunul gratuit.

Cum se configurează In-App Purchase în aplicație?

Configurarea IAP include: crearea produselor în App Store Connect sau Google Play Console, conectarea StoreKit (iOS) sau Billing Library (Android), implementarea achiziției și verificarea pe server a chitanței. Fiecare produs trece prin moderarea magazinului.

Care este comisionul magazinelor pentru In-App Purchase?

Apple percepe 30% (15% pentru dezvoltatorii cu venituri de până la 1 milion de dolari). Google Play percepe de asemenea 30% (15% pentru primul 1 milion). Din 2024, Google testează sisteme de plată alternative prin User Choice Billing. Dezvoltatorul poate alege un furnizor de plăți terț, dar trebuie să plătească Google o taxă de serviciu de 11–12%.

Rezumat

  • In-App Purchase — mecanism de vânzare a bunurilor digitale în aplicația mobilă prin API-ul App Store și Google Play.
  • Trei tipuri de IAP: consumable (consumabile), non-consumable (permanente) și auto-renewable subscription (reînnoire automată).
  • Comisionul magazinelor este de 30% (15% pentru afaceri mici).
  • Server-side receipt validation — protecție obligatorie împotriva falsificării chitanței pe partea clientului.
  • Moderarea produselor IAP durează 24–48 de ore în App Store și câteva ore în Google Play.
  • Subscription onboarding cu perioadă de probă gratuită crește conversia utilizatorilor plătitori cu 25–40%.
  • Grace Period de până la 30 de zile reduce rata de abandon a abonaților cu 10–15% la eșecurile de plată.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și