Hey everyone,
I have built a web app that functions without a backend - it's just front-end HTML / CSS / JS. I'm trying to keep it that way, and want to find a way of charging for it. I'm thinking of using the Gumroad API, but anyone have any better ideas?
P.S. The user doesn't create an account and there is no database, they sign in with the Microsoft API
My friend Drew @drewwilson just rebuilt his software to make exactly this possible - The new version of https://plasso.com basically authenticates users for you, charges them money, and uses that charge as a user account. I am using this app for my podcast - http://upload.fm - and they've implemented a checkout in a click. The whole app's built by a highschool kid for a weekend project, and now he's making money. It's pretty rad!
You could perhaps use something like Firebase and use Firebase Functions to communicate with Stripe?
You can use Firebase authentication using custom tokens from the Microsoft API and store the users Stripe ID in the Firebase database.
This is pretty much my strategy for most things now!
I have a similar issue: I created a free product a while ago and it allowed anyone to get a post up on the Internet in seconds. Just to have notes or whatever. It hit the dark web who then started using it to share warez and eventually got shut down by my web host for violating the DCMA.
So... I had to remove the capability to post for now. It never required a user account, as there was no login. You just chose your own password.
What I was thinking of doing was this:
An account is really just a cookie that gets set. So if you just asked for a login -- say an input form to capture their email address and a password -- which checked to see if they have a subscription -- just so you could charge them per month.
Just have a separate page for users to unsubscribe from the plan. They can login with their email and password there. It eliminates most of the "UI" of a backend. So it'll just charge them to use the service until they cancel it. If that cookie isn't set, or if its set and the subscription isn't active, than they can't use the product. Hopefully straightforward logic there.
So for me -- when they go to post something -- it would ask them to login or just check the form to see if the email is present and check against the database to ensure they paid. It is a user account but it's only ensuring they are who they are -- for in my case -- to prevent further abuse of my service because those paywalls do keep a lot of the bad away.
Gumroad is good enough if Stripe isn't available in your country.
I have used Gumroad in one of my tiny no-brainer project; http://pageviews.ml/ Backend is a spreadsheet.
It depends on your requirement. Say for example User management, file management and data storage etc. I recommend you to use Google Firebase technology which solves most of our use cases. I built my side hustle https://workrituals.com using Firebase.
Hi @Booligoosh
I would recommend not to try to charge for your work based on the end product. Instead do it per hour spent. Try to estimate the time based on any of your previous similar work. If you don't have this metrics now it's the time to start logging them.
This way if the client decides to add some fancy behaviors like animations or transitions or if the client decides that maybe it will in fact need a database you won't work free on these extras. Makes sense?
I'm working on https://checkoutpage.co which lets you create hosted payment pages for single charges that you can use to charge your customers. It uses Stripe Connect so you'd get the money in your Stripe account immediately.
My free plan has a 5% transaction fee (on top of Stripe fees) but am happy to lower it for a fellow Indie Hacker if you're interested :)
I second using Plasso but why can't you use stripe?
I tie backends without code using things like airtable, typeform, zapier etc.. For my co it works well (as the basic version)
Stripe requires you to do some back-end validation of requests. I've looked into using it on frontend only but wasn't able to find a way. If you know of one I'd love to hear, but I'm fairly confident you need a backend for Stripe.
Hmm okay so this may not be what you're looking for but all I do is connect my stripe with typeform. Use typeform as the payment form. And voila. All done. No tech involved.
Have you considered going on gigster, toptal or perhaps hire full stack developer on Upwork?
Hope to see what solution(s) you come up with.
All the best!