IAP product type

The store category that decides whether a purchase is spent, owned forever, or renewed over time.

is this purchase one-time or reusablewhat kind of in-app purchase do I needcoins versus lifetime unlockcan the user buy this againdoes this purchase restore on a new phoneiap produt typethe same person paid twice for the same unlocksubscription or one-time purchase

See it

Live demo coming soon

What it is

An IAP product type tells the store what kind of thing is being sold. A consumable can be bought repeatedly, like a coin pack. A non-consumable is a durable one-time unlock. A subscription grants access for a period and may renew automatically. Apple also has non-renewing subscriptions; Google Play models one-time products and subscriptions with its own catalog structure.

Let the entitlement choose the type. If value is spent, use a consumable and record the balance on your server. If access should survive reinstall, use a non-consumable or subscription and implement restore. Recurring service belongs in a subscription with explicit renewal, grace-period, and cancellation behavior.

Gotcha: acknowledgement and consumption are different operations on Google Play. Acknowledge confirms that you granted the purchase; consume makes a one-time product buyable again. Consuming a lifetime unlock by mistake can let the same account pay twice, while treating coin packs as durable purchases prevents legitimate repeat buys.

Ask AI for it

Design the in-app product catalog for these paid features: [paste]. Use StoreKit 2 Product and Google Play Billing ProductDetails. Return one row per product with stable product ID, platform product type, price intent, entitlement duration, repeat-purchase rule, restore behavior, server ledger action, and refund or expiry behavior. For subscriptions, include the Apple subscription group and Google Play base plan and offer mapping. For Android one-time products, state separately when to call acknowledgePurchase and consumeAsync. Flag any feature whose requested type conflicts with its entitlement, and do not invent prices or store identifiers.

You might have meant

in app purchase store billingsubscription paywallrestore purchasessandbox purchasereceipt validation