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.

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
- 01
Preview effect, quantity, and duration
- 02
Show the complete 30 Koin price
- 03
Confirm once or cancel without loss
- 04
Return safely on insufficient balance
- 05
Deliver exactly three inventory charges
- 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
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.