Use this page with AI
Copy this into your coding assistant and add your request.
Read https://openiap.dev/docs/apis/android/consume-purchase-android and https://openiap.dev/llms.txt. Follow the reading instructions, detailed reference, and linked guides relevant to my task before making changes.
Inspect my existing project and reuse its framework and conventions. Ask me for missing product decisions. Implement the requested behavior and run the applicable checks.
Show the working result, the commands and actual test results, and any remaining limitations. Keep your explanation brief.
My request: [describe what customers should be able to do]Android consumePurchaseAndroid
Consume a consumable purchase, allowing repurchase. Automatically acknowledges the purchase.
Wraps BillingClient.consumeAsync(ConsumeParams) — for consumables (re-buyable like coins). Same 3-day deadline as acknowledge. See the Google Play Billing reference.
Signature
kt
// OpenIapModule (OpenIapProtocol); OpenIapStore does not expose it
val consumePurchaseAndroid: suspend (purchaseToken: String) -> BooleanParameters#
purchaseToken(required,string) — Purchase token from the Play Billing transaction.
Returns#
Promise<boolean> — true once the purchase has been consumed. When the store refuses the token, React Native, Expo, and KMP reject with the store's error code; Kotlin, Flutter, Godot, and MAUI return false. In Kotlin, finishPurchaseToken(token, isConsumable = true) throws instead.
Example
kt
// Share one module with OpenIapStore(module) instead of creating a second client.
val module = OpenIapModule(context)
val token = requireNotNull(purchase.purchaseToken)
module.consumePurchaseAndroid(token)Note: Called automatically by finishTransaction() when isConsumable is true.
See: finishTransaction