Templates Plugins Courses

Cancel subscription - time remaining

Hi @floripaolo,

This status can be checked when the user tries to access the paid content. If the status is “true”, then the content is shown, if “false”, it is hidden.


1 Like

Hi @Serg

Does the same action IAP - Check Active Purchase A Air Native applies to Google Play? Because there a user could cancel his subscription as well.

Hi @floripaolo, yes, this action relates both to Google Play and the Apple store, so you can check the status of the purchase on both platforms.


1 Like

Hi @Serg
A few questions on how this action works:

Does the IAP - Check Active Purchase A Air Native happens on-device or on Apples server?
In other words: Can I check from my side if subscriptions of users are active?
Or is this only possible from the relative device of the user?
Does the flow needs to run regularly on the user’s device?

(I am talking to the 4th Bubble developer right now, and nobody could give me an answer on how this works)


Would this be a correct way to use the Check Active Purchase action?

Hi @floripaolo, thanks for your questions.

It sends a request from a native app to the Apple server with the individual purchase ID mentioned and retrieves a purchase existence status.

Only the user itself can check the status of subscription, from his native app & device.

Yes, on each start of the application (for example insert check-in action in the workflow that starts with the “On page load” event)

The best option would be to use it with the “When the page is loaded” event. Workflow which is triggered every 60 seconds - consumes many resources of the user’s app, browser & device.

Please let me know if there is anything else that I can help with :wink:


1 Like

Hi @Serg

Yes I was going to add it to the page load. But

  1. the workflow as I’ve set it is correct?

  2. If the subscription is still during the free trial period, is it active? Even if the user has cancelled the subscription? Many users only want to try the app for 7 days and unsubscribe immediately after having subscribed.



Hello @Serg

I tried to setup a workflow on “Page load” to register state of the purchase in the database.
Screenshot 2022-06-27 at 13.19.21

But although the subscription is active, the workflow does not seem to change the state.

Screenshot 2022-06-27 at 13.19.41

below the registered transaction id and the Check active outcome…


These particular steps (Check active > make changes to user) - yes.

Here, you need to insert conditionals that will calculate if the user is still allowed to see the content or not (taking into consideration the time of subscription start and canceling, as well as the timeframe of the selected subscription).
At this point, you should take into consideration store policies: Understanding subscriptions - Play Console Help

Please be sure that you’ve set up your Google Play Console API keys correctly, following the supporting documentation (recently updated), available on: https://docs.zeroqode.com/plugins/air-native-plugin/setup-guide


You’re saying that this workflow should be correct. But as you can see from the screenshots it doewn’t work.
The subscriptions are active but the record does not get updated.

I am not sure why you don’t see the api access. On the developer account everything looks ok as far as I can see. Service account has given access etc.

I was referring to the state of the Check Active Purchase plugin. This was only a test to see if the plugin updates the database with an active subscription. But it doesn’t.

Hi @Serg
I am on another thread about the Google settings.

But besides this the IAP Active check workflow doesn’t seem to work for Apple either.
I just had a subscription on App store.

I just saw that something weird got registered from ZQ email address.
Apparently a iOS but made a purchase on Google Play
This was the only instance by which Check active registered a Yes.

Hello @Serg

You don’t have access to this page because only the account owner can access API access tab.

Screenshot 2022-06-28 at 18.26.31

Hi @floripaolo,

I would recommend following the discussion and my colleague’s advice about project management. Might be possible that the errors mentioned in previous messages, will disappear once the project management setup will be done right.



No they still persist although Google payment settings are correct now.
But “randomly”. Some payment show as active (yes) some not.
Some subscriptions show they are active others not.
In the screenshots all subscription with a platform entry should be active.


  1. a cancelled subscription during the free trial period leads to an inactive IAP Active Purchase check.
  2. After a payment the index page does not get reloaded and the user does not open the app again (pretty unlikely).

Can you tell me if this is the case?
Because if this is the case I will have to adapt the workflows accordingly.

Thank you.

Hi @floripaolo, thanks for reply.

This issue appears due to the fact that Bubble registers the custom state in the database too early (right after the check active purchase action), considering and registering the initial empty state as “no”.

In fact, the check active purchase request passes the following path: bubble → native app → google/apple → response from store → native app → bubble, so it requires a bit of additional time.

A solution in your case would be to add a pause (1-2 seconds should be enough) after the “Check Active Purchase” action, which would be enough to get the required information.

Hope the provided hint will help. Please let me know how the app works after the workflow change.


1 Like


Just to clear up a doubt:
But the next time this user opens the app (index page is loaded) the status should be YES, correct?

What should the status check result be, if the subscription got cancelled, but there is still some time left?
e.g. Cancellation after 5 days on a monthly subscription will still give an active status until it expires 25 days later?


I’ve passed this question to the developer team for investigation. Once any feedback will become available, I will let you know asap.

Thank you for understanding :pray:


1 Like

thanks @Serg

I am wondering the implication of this statement for my use, since it is definitely data modification.

Screenshot 2022-07-01 at 11.20.44

The action “Check Active Purchase” will return yes in the following cases:

  • subscription is active
  • subscription is canceled but a certain period of monthly subscription remained unconsumed yet (the case you’ve mentioned above).

Note: if a subscription is canceled during the trial period - once it is canceled, on the next page load it will return the “no” state.

The Bubble will consider this workflow as influencing the screen content, so the pause action before “Change a thing” will be considered too.


1 Like

Hello @Serg

I cannot find the “Result of step…” concerning the “Check Active Purchase” action in order to change directly a custom field in the database. Without having to setup 2 separate “only when” actions for yes or no.
Is this how it is supposed to be?