Add User With Checkout Blocks

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>