I’m using Bubble Native Mobile with iOS in-app subscriptions, and I’ve hit a blocker I can’t figure out.
Current behavior:
-
Products / plans load correctly in TestFlight
-
Purchase flow completes successfully (Apple confirms payment)
-
BUT the user is NOT updated after purchase
-
Premium only unlocks when I press Restore Purchases
-
Restore triggers Apple ID prompt → even if I press cancel, premium unlocks
When a subscription is successfully purchased, the user should immediately be marked as premium and the premium popup should close.
Has anyone accomplished this or found a way for the app to know when a purchase is successful? If anyone has a working native mobile IAP setup, I’d really appreciate clarity on the correct workflow.
Thanks
Hey @ajprice2006 ! This is a known Bubble Native Mobile IAP issue and the cause is straightforward.
This is happening becasue Apple confirms the payment, but Bubble has no automatic listener to catch that and update your database. The plugin doesn’t fire a “purchase complete” event reliably by default, which is why Restore works (it explicitly re-checks entitlements with Apple).
The fix:
- In Bubble’s workflow editor, find the “When a purchase is made” native IAP trigger event and build your premium-unlock logic there, not on a button click or page load.
- After the purchase action, explicitly call “Finish Transaction” if your plugin version requires it. Skipping this leaves the transaction in a pending state and the event may not fire consistently.
- Your workflow: Trigger: purchase made → Set
is_premium = yes on Current User → Hide premium popup.
If it still doesn’t work reliably, look into RevenueCat, it has a Bubble plugin and handles purchase events, restore, and expiry webhooks back to Bubble far more robustly than the native plugin alone.
Hi, thank you for your response,
i cannot find this option anywhere? Am I missing something?