Add User With Checkout Blocks

Add users to Softr’s Users section if they checkout before signing up. Currently users must already be signed up, typically with a sign up block, for their Stripe email to be mapped to a User in Softr’s Users table. The user journey would be much simpler if they didn’t have to sign up then enter their name and email address again in a checkout block for this to happen.

Perhaps add optional checkout block fields that capture users info like sign up blocks do. Maybe Recaptcha as well. This would not only decrease sign up friction, but improve sign up security if users had to enter valid payment info before signing up on our Softr apps :slightly_smiling_face:.

2 Likes

Thanks for taking the time to suggest thing feature @Ben !!!

1 Like

Here is something that I found in exploring this more deeply.

I have a preference for a sign-up flow with two card options in a static Grid Pricing Block: ‘Sign up for Free’ and ‘Subscribe Now’.

I was concerned about the same problem, @Ben, and in having worked previously to tie product purchases to Softr’s Stripe integrated Subscription feature I realized that the primary key for the Softr Stripe integration link between the Softr user and a Stripe account is the user email address, not the Stripe customer_id.

So to get this to do what I wanted I did this:

  1. In the Grid Pricing Card 1 I have a Free Signup button which points to a general signup form
  2. In the Grid Pricing Card 2 I have a Monthly/Yearly subscription Stripe Checkout button which loads the Softr Stripe Checkout UI

When the user follows Card 1, a normal user account is created. They can later ‘subscribe’ and pay for the service and unlock additional features with user groups configurations.

When the user follows Card 2, the purchase creates a Stripe account. I use Zapier or Make to then ADD the user to the AirTable Users table. This in turn triggers a synchronization back to the Softr Users configuration and syncs back the magiclink into the AirTable user record. Softr sends an invitation email inviting the user to Sign In for the first time.

Further, I have a Manage Subscription page with the Simple Billing Block and Stripe Customer Portal Block and they both show the linkage to the subscription payment which was made independent of the user needing to first sign up with Softr before subscribing.

TLDR;
If you use Make or Zapier, you can create the user record automatically after the user Subscribes and Softr will automatically send an invitation email for the user to sign in.

Note: the alternate flow of signing up first then checking out via the Softr Subscription and Stripe “simple checkout form” allows for the user to change or set their email address differently from the email address with which they registered. If you use this feature and the user changes the email, this will cause a mismatch between the accounts and the subscription will not be associated to the account. I added a small line of javascript to disable the ‘edit’ email address option in the Softr Simple Checkout form (for another purchasing workflow which I have).

<script>document.getElementById("email-element").disabled = true;</script>

Thanks for the thorough description Jim! Sounds like you’ve put Softr’s payment blocks to good use. I can see why your onboarding needs Make/Zapier since you’re bypassing Softr’s sign up for users that pay upfront for access. Would you mind sharing an app link so I can see your Softr onboarding in action?

I prefer onboarding without 3rd party integrators though, where segments of users sign up for free before upgrading for value add. Its still new, but apparently integrators won’t be necessary with this user journey now that Softr’s account management is mapped to Stripe so users’ email addresses are synced in both platforms. Have any luck or experience with Softr’s new account management and Stripe syncing in this capacity?

Actually, all the user-facing onboarding is with Softr functionality.

So the user can Signup with Softr signup form OR Subscribe with Softr subscription (Stripe Checkout form).

To get this to work with the Subscribe before sign in…

Have these features enabled:
A.
App Editor > Users > Gear icon (on upper right) > Edit Sync Settings (Configure User Sync)

  1. Source should be All Records (otherwise won’t be automated)
  2. Select “When a new app user is added, create a matching record in User” (ensures the magic link and status gets synchronized back and forth)
  3. Map to email (not sure if you can use other fields, it was my legacy choice, likely needed for Stripe to work properly in this scenario)
  4. Softr-managed fields (enable Magic link) bind to a field in AirTable
  5. Choose authentication method: Magic Link

B.
App Editor > Users > Notifications

  1. enable Automation to send invite on new user creation
  2. configure Invitation from (magic link)

C.
Then you just have a simple Zap or Make Scenario that processes the New Subscription webhook and adds the user information to the user account in AirTable and then Softr handles the rest.

I am currently developing the user flows around this and will DM you.

2 Likes

Sorry Jim. I ment bypassing Softr sign up for paying users, not sign in.

Thanks for the description. This will be helpful for public facing apps :+1:

I was migrating my backend automation services from Zapier to Make and realized that I am not creating the User record with a third-party automation, but rather am creating it with an AirTable automation. There are a lot of ways to do this it seems.

I opted for leaving the user record creation in AirTable as it is billed as a single operation where in Make the Scenario Modules required adds 2 or 3 operations which could get expensive with growth.

If costs begin to burden me for Make and AirTable automations I have the capability to create my own webhooks, webhook handlers, and polling mechanisms and then perform the API CRUD actions for near zero cost with CloudFlare. These services just make it easy to get started.