How to sync Beehiiv and Stripe payments to Memberstack for Webflow content gating?

Post author
Agha Hussain

Hey everyone đź‘‹

I’m working on a setup where Beehiiv + Stripe handle all payments, and Memberstack is used only for authentication + content gating on Webflow.
Before I move forward, I want to confirm if this workflow is actually supported:

Planned Workflow
Signup:

  • User signs up on Webflow → creates a free Memberstack account
  • User is also added as a free subscriber inside Beehiiv

Upgrades/Downgrades:

  • All upgrades happen only inside Beehiiv using Beehiiv’s Stripe checkout
  • No payments or checkout inside Memberstack at all

Syncing Logic (Automation):
 Webhook or automation listens to Stripe events → updates Memberstack plan:

  • subscription.created / active → Memberstack plan = paid
  • subscription.canceled, past_due, etc. → Memberstack plan = free

Webflow content is gated using Memberstack plan only.

Questions

  1. Is this integration workflow fully supported?
  2.  (Payments in Beehiiv, plan changes pushed into Memberstack using Stripe → Make/Zapier → Memberstack API.)
  3. Which Memberstack plan is best for this kind of external payment + automation setup?
  4. For anyone who has done something similar:
  • What’s the best way to sync Beehiiv → Stripe → Memberstack?
  • Any examples, docs, or tutorials for receiving a Stripe webhook and updating a Memberstack plan?
  • How do you handle “user upgrades inside Beehiiv” and then matching the correct Memberstack account?

Thanks so much!
 Hussain Ali

Comments

3 comments

  • Comment author
    A J

    Hi Hussain,

    Thanks for outlining your workflow. Yes, this setup is possible, with one important note: since payments happen outside of Memberstack, you won’t be able to assign Memberstack paid plans via the API. All access control on the Memberstack side will need to use free plans only.

    Here’s how everything fits together:

    • Is the workflow supported?
       Yes, this workflow is supported as long as Memberstack handles authentication + gating, and Beehiiv + Stripe handle payments. You’ll update Memberstack based on Stripe subscription events to switch members between different free access levels.
    • Which Memberstack plan do you need?
       You can choose any Memberstack plan based on the number of members you expect, as shown on our pricing page. All plans include the features you need for this setup.
    • Syncing Beehiiv → Stripe → Memberstack
       The standard approach is:
    1. Stripe sends a webhook for subscription events (active, cancelled, past_due, etc.).
    2. Your automation (Make, Zapier, or custom server) matches the Stripe customer to the Memberstack member, usually by email.
    3. The automation updates the Memberstack member’s free plan or metadata to reflect “paid” or “free” status.
    4. Webflow content is gated using those free plans or metadata values.
    • Documentation & examples
       You’ll be using:
    1. Stripe webhooks
    2. Make or Zapier
    3. Memberstack’s Admin API (for updating plans or metadata).  This is optional as you can still achieve this using Make or Zapier.

    I hope this helps.

    0
  • Comment author
    Agha Hussain

    Hi Chukwudi! Thanks a lot for the detailed explanation — it really helped me understand the overall flow.
     I just need a bit more technical clarity so I can set everything up correctly from start to finish.
    Could you help me with these points?
    • What exact tools do I need access to?
     Do I need the client’s Stripe dashboard, the Beehiiv API key + publication ID, the Memberstack Admin API key, and a Make/Zapier account?
     Just want to make sure nothing is missing.
    • How do I match a Stripe customer to a Memberstack user?
     Since you mentioned email matching, do I need to enable email collection in Beehiiv checkout?
     Do I need any special settings in Stripe or Memberstack for this?
     And what happens if the email exists in Stripe but not yet in Memberstack?
    • How do I update a Memberstack user’s “paid/free” status?
     Since paid plans can’t be assigned via API, should I:
     – switch the user between two free plans (free vs. paid)?
     – or update a metadata field like access_level: paid and use that for gating in Webflow?
     A small example (Make/Zapier or API) would really help.
    • What should happen when someone upgrades in Beehiiv but doesn’t have a Memberstack account yet?
     Do we send an automatic “Create your account” email?
     Do we create the Memberstack user via API ourselves?
     Or do we wait for them to create their account manually?
     Which approach is considered best practice?
    • Do you have any example workflows, screenshots, or step-by-step guides for a Beehiiv → Stripe → Make/Zapier → Memberstack flow?
     Even a simple flow diagram or webhook example would be extremely helpful.
    Thanks again — your guidance is making it much easier to build the right setup.

    0
  • Comment author
    A J

    Hey Agha Hussain,

    • You would need to connect your client's Stripe account to the Make / Zapier account that you will be using to set this automation up.
    • You would also need to connect Memberstack with Make / Zapier as well.
    • I am assuming the Stripe checkout also collects email ID (by default), when an event happens in Stripe (like subscription created event), it will give you the relevant Customer ID which you can use to fetch the customer details like email for the user from Stripe. You can use this email ID to fetch the user from Memberstack and assign the relevant free plan for the member accordingly.
    1. If the user does not exist yet in Memberstack, you can create a member in Memberstack via Make / Zapier as well. You might not want to set a password for them and offer passwordless way of logins in that case for better user experience for users. If not, you can set a password and send an email to such user with the credentials and ask them to reset it.
    • You can create a free plan just for this purpose, i.e. to provide access to gated content for users who paid via Stripe + Beehiiv integration. You can name it anything which makes it distinct from other free plans. Switching users between plans is the easy way to manage gating content & access level for such users.
    • There is not a specific blueprint that I can currently share for this exact use-case, mostly such sample / starter blueprints are given to us when we purchase a paid template and if the use-case has automation requirements. Since your use-case is a bit specific, the guides linked above should help you out to get started. This free template shares a different use-case setup in Make, but you can check that out to understand the approach via a sample use-case. But to give you a rough idea for your project, here's how I can picture the flow like:
    1. Stripe webhook to listen to subscription created event
    2. Fetch the Stripe customer via Customer ID from the previous module
    3. Fetch the member in Memberstack via the email ID from the previous module
    4. Assign the relevant free plan for such user in Memberstack based on the subscription purchased.

    Feel free to drop a message in this channel if you come across any blocker while setting the workflow up in Make / Zapier.

    Hope this gives you some idea

    0

Please sign in to leave a comment.