Build a game

Consumable IAP hub

Make every consumable quantity and effect unambiguous

Consumables require more detail than a Buy button: name the quantity, duration, stacking rule, inventory result, and what happens on an interrupted purchase.

Authentic Bunny gameplay used as context for consumable iap testing
Real gameplay context: BunnyUse the playable result to evaluate placement and UI state—not as proof of a completed transaction.

Concrete design brief

Worked example: three 10-second shield charges

Show “3 shield charges · 10 seconds each · 30 Koin,” prevent accidental double-submit, and add exactly three charges after success. Using one decrements inventory by one; cancel, failure, or insufficient balance delivers nothing.

Open the playable result →

Required state chain

Specify the whole IAP flow

  1. 01

    Preview effect, quantity, and duration

  2. 02

    Show the complete 30 Koin price

  3. 03

    Confirm once or cancel without loss

  4. 04

    Return safely on insufficient balance

  5. 05

    Deliver exactly three inventory charges

  6. 06

    Reload and reconcile the remaining quantity

Before release: replace mocked balances and local flags with authenticated transaction records, idempotent delivery, platform-required consent, security review, and a support/refund process.

Related IAP design hubs

Move to the closest purchase intent

Cosmetic IAP Content unlock Convenience IAP Purchase flow testing Player trust

Focused questions

Consumable IAP FAQ

What must a consumable offer disclose?

At minimum: quantity, effect, duration, stacking or expiry behavior, exact price, and the inventory state after delivery.

How do I prevent duplicate delivery?

Give each purchase attempt an idempotent transaction identifier and reconcile success before adding inventory.