Releasing a new component today to facilitate Google+Apple IAP that includes subscriptions. This is not a free service, it costs $29/month for $1,000 worth of monthly transactions, but it comes with great dashboards and analytics on top of giving you a full blown IAP server.
You’re awesome, thank you for getting this built! My app is brand new so now I’ve gotta figure out marketing (which I know nothing about right now) to make sure it’s getting the downloads to make the pricing of this worth it and then I’m hoping to add this soon.
For those who will use this component, I have spoken to IAPHUB about how to support Adalo users (no-code people using this component). If you contact IAPHUB support to get this working please let them know that you are using Adalo. This way they will be able to contact me if the problem is related to the component instead of telling you to implement XYZ in the react-native component (which you don’t have access to).
I believe it autoscales. So if you processed $1,200 in a month it will automatically scale up to the $49/month level. I will confirm this with IAPHUB however and let you know for sure.
And this has been confirmed to work on the Apple store correct?
Seems like a great alternative to, well nothing at this point really haha. From what i’ve seen there is currently no way (other than this possibly) that would allow you to accept monthly payments AND be able to publish your app to the iOS store.
This will pass the Apple Store requirements. Adalo is in the process of creating their own subscription solution that is currently in beta testing. Here are 3 reasons I think IAPHUB is a better choice
In-app subscriptions with the Adalo is in beta, not released.
This has a dashboard and analytics.
This is an IAP company, so as Google/Apple/Amazon change the rules, or Europe passes new legislations IAPHUB will be much faster at adapting to the new regulations over Adalo.
You could contact Adalo to join their beta subscription, but I do not know much about it and if there is analytics, dashboards, and user management (more than just clicking and opening a database table). IAPHUB also supports webhooks so you can do your own integromat/xano stuff as well. Finally, you can also add the IAPHUB api as external collections in your app to do even more stuff.
From what I can tell, this is a rare occurrence where Play/App store approve a transaction, but the transaction is not updated/validated in the IAPHUB database.
The IAPHUB documentation on this is
The purchase has been successful but we need to check that the webhook to our server was successful as well. If the webhook request failed, IAPHUB will send you an alert and retry again in 1 minute, 10 minutes, 1 hour and 24 hours. You can retry the webhook directly from the dashboard as well
The suggested way to handle this is to make a modal window that says something like
Purchase delayed
Your purchase was successful but we need some more time to validate it, should arrive soon! Otherwise contact the support (support@myapp.com)
For the exact scenario, I would assume this is a rare occurrence where IAPHUB and the Play/App Store have a communication problem between the two of them.
From everything I have read, you will be safe to treat this as SUCCESSFUL purchase.
If it’s a subscription based product, and they cancel do we have to manually go into the account and remove a subscription tag that is gating the content or is there something else? Also, how are we notified?
Cancellation is done in the App/Play stores directly. If you want to have a button in your app that is called cancel you will need make a normal Adalo button and make the on click action a link to an external site. These sites are
There are several ways to handle the cancellation. This can be via webhooks + integromat/xano, manual, etc…
probably one of the simplest ways you can do it is to make a custom action on your login or access sensitive area buttons that will check the users subscriptions to see if they are valid. Something like this should do it, after you are all configured that is as Adalo cannot make a custom action without a valid response, and you cannot get a valid response until you have a user suscribed…
Awesome, thank you. Sorry I know very little about webhooks / API’s
Just for clarity as well, when a customer cancels in one of the stores directly, does Apple / Google / IAPHUB send any kind of notification that the customer did so?
I do not believe so. I suggest reaching out to IAPHUB service about that to make sure. Webhooks are the normal route to take for notifications. IAPHUB is pretty responsive, but it is New Years so it might be Monday when you get a reply.
This is a really stupid question, but since I haven’t used any kind of in-app purchase before for my app I’m wondering if that screen that comes up at 7:41 in the video (the Google Play subscribe screen) is something you had to configure yourself, or does it put that in automatically when the button is pressed to purchase the subscription based on the info you put in on Adalo and IAPHUB?
That screen comes up by the Google play store or App store. You need to configure your products on one or both. Adalo has a nice guide here, skip down to setting up in app purchases, after the adalo stuff.
The product ID you give the component is auto-magically linked to the play or app store which makes the popup and the price/offer information.
It was raised to my attention that in the video I said use a unique random user ID but did not go into details. Make this a text column, and then the best way to solve this is to use the Randomizer component from the Adalo Marketplace.
If this is a brand new or existing app then on your user registration page, place this component and make a hidden field for user registration that equals the Unique ID (uuid) generated from this component.
If this is an existing application with users already, you need to add it to the registration as outlined above, but you can also add it to the home page and create a page action that will update the user if their user id is blank. OR go to https://www.uuidgenerator.net/ and create a bunch of uuids and manually update the database if there are only a few existing users.
Strange, I only see Random Number and Random Date, no UUID field.
I assume if you use the just normal number generator then, while you can make the chance really small, the number will not be unique and has a chance, again while small, to be assigned to two users?