Subscription Backend service?

I went with Mongo because it works so well with Node, and Node had been something I wanted to learn for ages. At first I was skeptical because I only knew SQL, but Mongo is fantastic when you’re working with JSON objects, and every single API and transaction you handle from Stripe/Apple/Google/Amazon are all JSON.

I didn’t know Node at all when I started, the last web tech I had used was PHP 10 years ago. I took a Udemy class and knocked that out in a week or so and that was a great foundation to get started.

You don’t have to use Node or Mongo. Any web framework will work for managing subscriptions. I just used it as an opportunity to learn something new, and I’m glad I did because Node has been super fun to work with and is widely supported.

I have been thinking of using https://qonversion.io. The pricing doesn’t seem to be too bad and it shouldn’t be hard for me to create the plugins. I just currently don’t have the content that would warrant such a thing.

I did subscription in my app, and have a backend on LAMP. it is do-able, and Apple subscription took longer as their response was not consistent (based on testing). You will need to keep the receipts and cross-check with Google/Apple servers.

We have been using App42’s REST API for LUA since we moved to Corona/Solar2D 4 years back and had previously used this with our native Android games.

We do not have subscriptions in our games per se but we are able to track purchases and associate them with user profiles/accounts using their UserService API.

We are also relying exclusively on their backend for leaderboards, achievements, push notifications and fetching assets etc for realtime competitions and in-game events.

Their dashboard is a little dated but their service is free for a large number of API calls and the pricing is reasonable beyond the base tier.

Ps. Apologies if this seems like I’m pushing this product or something-- I am not affiliated with this service in any way but we’ve used this extensively on Windows, MacOS, iOS and Android and it’s genuinely good and easy to use.

@rune7 We built ours using Azure Function + CosmoDB (using MongoDB API). We decided to do it this way because we don’t have to manage our own servers (Azure Function is a serverless architecture), also we have C# experience in-house. MongoDB turned out to be a pleasure to work with. Definitely recommend it. Like @kbradford, it took months of work to get built and tested. Even after launch, it took a while to iron out all the kinks. You do need to be ready to invest a fair bit of time & resources into it. Once ironed out, it works quite beautifully.

If you want to avoid building, you can take a look at RevenueCat and see if that serves your need. We only found them after we are mostly done building our own, so we didn’t pursue it. But their product seems well built.

@kbradford we have been looking into building our own web purchase flow and explored Stripe. It seemed very complicated. Did you use their hosted form? Any recommendation on where to start or find example code?

We use Stripe’s hosted checkout, if that’s what you mean. That way we don’t have to create a payment page at all. We just call out to their checkout when the user wants to pay, and then handle the response and also transaction events (similar to pub/sub from Google). Honestly I thought Stripe was the easiest, just because their documentation is top notch and they have a really nice dev environment to test everything in.

@kbradford Thx! We may have missed something. We’ll check out Stripe again then.

Thanks @akao, I actually just looked into Azure cosmoDB and function as one option. Can you say what it the expected monthly cost using this approach? In their pricing it seems the basic cost is at least 77$ per month before additional services I haven’t got around to check yet.
I am also looking for a solution that can be set with minimal effort as my R&D resources are very limited.

Also checked RevenueCat. Their offering is centered around subscription support which may suffice at the moment. however their pricing which seems very expensive. if you get over 20K$ per month its 500$ per month. That’s a lot for what they offer currently.
Another main concern I have is with using 3rd party on kids apps. It may not be approved by Apple. I removed ALL external SDKs from our kids app in 2019 including even basic analytics. We no longer use Apple advertisingId just to be on the safe side. I think that I have no choice but to build a solution that I own.

Thanks @agramonte @yosu @famousdoggstudios for sharing your backend solution. I will also check them out.

@rune7 I don’t think Azure has a minimum fee per month. It is all based on usage, and some of the services even have a free tier. I just took a quick look at our billing. It seems that our actual Azure Function fee is quite low (<$10/month), most of it is related to CosmoDB access (~$100 in our case). But we use the DB for a lot of things other than subscription tracking, I can only guess the subscription portion of our usage is probably 25~30% of that. The other big expense for us is the monitoring (AppInsight), but you can easily scale that up/down or turn it off based on your needs.

Given that your R&D resource is limited, I would definitely suggest using whatever tool that’s most comfortable for you. The integration flow itself is hard enough that you want to avoid additional work as much as possible.

Thanks @akao for sharing. Yes, when I mentioned their base fee I was including CosmoDB access. I think I’ll spec it and try to outsource the effort. I want to have a solid solution including not only user management and subscriptions but also analytics and dashboarding that will allow us to make smarter decisions going forward.