I don't understand how paid users + logged in users logic works

Hey ya’ll!

So here’s the thing, I’m building a database that’s only accessible to paid users.

But I can’t figure out how to set up the whole thing.

Home page is public, with a link to a checkout page that works with Stripe.

But when I run a test, these users don’t appear in my Users section.

So my question is, do I need to create a Sign up flow? How can I know people signing up are actual paid customers? Is it something that’s checked automatically?

If I don’t create this, how will these users access the content next time?

I’m really lost here, so any help is much appreciated. Thanks!

1 Like

Hi there, I have created the same thing. Its easy-ish but you have to faff around with it.
You will need to have created your customer sign in table in airtable (this is the one that links to your users list in Softr).
Then add the data fetcher extension for airtable on that specific table, (this is a paid for service, however there is no way to do your activity without it) this will then pull across your paid users from stripe (there is a datafetcher > stripe integration option). What it does is load airtable up with the paid users, and their respective customer codes from stripe. Yuo will need to have pricing table set up etc. in stripe. This then validates they have paid and have access rights.
It will also update as well if someone cancels their subscription, depending on how you have set up your pricing tables in Stripe, this can run to the day they cancel or to a specified end date. That way once they no longer have a paid sub, stripe tells airtable that they dont have a valid subscription, and will not allow them to access anything. I have taken my admin a step further and remove their user name/details in softr as a back up measure when I get the stripe cancellation notice. All of these checks are automated, so as long as you do not set your subs checks for a scheduled time (leave it off, as is, and it will ping 3-5 seconds response time on the sheet when someone signs up/buys). Then when your users log in this will mean that any pages you have permissioned for “logged in users”, and subsequent page permissions, will run accordingly, and it has already validated that a user should have access to your site.

I can give you a few screen shots of how it all flows if that is helpful. I did however find the Datafetcher extension and plug ins very user friendly.

Cheers, Amelia

In order to show premium content to some of your users, they must be registered as users of your app. So if users are signing up via stripe, you have to make sure (behind the curtains) that an account is also registered on the softr side.

This softr account can be registered with username, email and a status field. where you could assign ‘premium’ as value to identify users comming from stripe.

If you already have an app signup flow, then when user makes the purchase via stripe you can update the status to ‘Paid’ or ‘premium’ and then show protected content to that group of users.

Havent done it myself because stripe support is limited to very few countries

Hey @Amelia thanks for your response!

So, if I understand correctly, Datafetcher will check that only users who bought that product on Stripe are able to sign up and won’t accept emails that aren’t registered as customers?

That works! Pretty crazy that Softr doesn’t do that natively though, seems like a popular use case.

Also, I see Datafetcher has a free plan, why is that you need a paid plan for this? (Sorry totally new)

That’s right, I made the email address the customer identifier, and the way I created my process is as follows:

  1. Create a sign up page in Softr>
  2. Create a pricing table in Stripe with your preferred subscriptions>
  3. Copy the code from stripe from the pricing table>
  4. On your sign up page add a code block and drop that code in it>
  5. Create a page with a sign up form with everything you need to capture from your customer base>
  6. Create a page for managing the account (this is for Stripe) this way customers can manage their card payments etc. I used a simple text block with the hyperlink provided by stripe>
  7. Create a page for a member profile (I used a list with horizontal sliding cards) linked to the Airtable, and only allowing them to update things what would not effect their subscription. Like phone number, Avatar etc. >

A note on sign in/sign out. You MUST ask your users to sign out after every session (I also created a landing page once they signed out to show that it had successfully ended their session) as Softr has recently made a change which effects open ended sessions, so now if a customer doesn’t log out, when they go to log back in the next day, the log in page isn’t visible, (non-logged in vs logged in users permissions) since our customers behaviour would be to log in every session, this needed to be highlighted to them that there was no auto log out.

Your stripe pricing table is where the design sits for the subscription choices, as well as what page to push the customer to after they have successfully made the payment.

I also created an “Action Cancelled” page, using a simple text block. This triggers is a person doesn’t complete or the payment fails. It still pushes them back to my site, but they are still locked out of everything until they complete a purchased sub. This protects people from accessing anything if they haven’t purchased a sub.

When a person HAS successfully made that payment, Airtable has created a line for them as a user, and they are sent to my “create your account” page, they finish the data input that I need, and once they click “submit” Airtable updates, Data Fetcher meanwhile has found their name and added their subscription code to their line, which means they have paid and are “active”. This is nice as it is automated and anyone can sign up at anytime in any time zone without you having to do anything. You will see the user in the Users section on Softr as well.

In stripe you have all of the parameters for cancellations, card management etc. so set those up fully, then you can rely on Data Fetcher to run those automations with Airtable, and if anyone wants to manage their account, make sure that area is created for them in Softr. As long as your Airtable is connected, everything will flow through.

1 thing to remember is that you may want to stop users from being able to update their email address as this will mess up the subscriptions in stripe and it is the “primary key” for identifying them in both stripe and Airtable. The easiest way to manage a change is to cancel the existing sub, and have them sign back up.

On the Data Fetcher side, you can add the extension for free, but you have to pay for the automation, users etc. The basic plan is $12 us a month etc. link is Upgrade - Data Fetcher
I use the pro plan for my needs, what it saves me in time and stress is worth the cost, and they have a lot of 3rd party plug ins as well that you can use DF with, so I have been very happy with it overall, including the ability to customise your own requests which can be a life saver.

Sorry that was a lot, but hope it makes sense, my site is a year in the making and it has been a massive learning curve!

Cheers, Amelia

1 Like