WF Customer Id passed to Stripe != Logged in Member ID

  • In order to purchase a paid subscription a user must have already signed up and become a site member. [check]
  • When the user purchases the paid subscription there seems to be no linkage between the logged in user and the purchase/subscription record. Sure WF stores the email and name, but that’s not a sufficient unique identifier.
  • When WF integrates with Stripe it passes over a “WF Customer Id” key-value pair… that uses a different id from the logged-in user’s id.

I need to create a data file on AWS and then update the WF Subscriber’s account record in WF with a link to that datafile.

Question 1 - Is there any way to “hijack” or otherwise add data to the Webflow → Stripe checkout process with client-side code? (If so, then I could add another k/v pair to pass over the correct user ID information.)

Question 2 - What is the WF Customer Id field WF is sending to Stripe representing? (And can I use the API to map that field to the actual membership user id.

Question 3 - Does Memberstack provide user context on every page when the user is logged in? (And should I call time at 40+ hours of trying to shoe-horn native WF Membership into my use case?)

Thank you for your help on this. I am very frustrated and disappointed at this point and I really need to be able to perform this (last) workaround to get my site to automated-MVP transactional.

-Adam

Context/Backstory:

  • Currently I use Make.com to pass the new user’s ID from WF.user → Make.com → WF.user.customField
  • I have all sorts of js on several pages to solve for WF not letting a customer pay first, then become a member/user. (redirects, URLsearchParams, user states, abuse of the user page, etc.)
  • I am embedding a micro-saas behind the user login. Because of current limitations and a free version I need to manage free/premium/super-premium outside of subscription/user groups (all tiers need to be able to access the same page–features are limited based on the user’s specific credentials…which is also fun when you have to route everything through the user page and can’t access the UID through the session)
  • (Again, I appreciate your help. This community is fantastic and I’ve learned how to do everything above by reading previous posts and answers here. Thank you!)

If the user is already logged in at the point of checkout, you could theoretically populate the user ID into a custom order field. I use two approaches to get the UserID;

  • UserID as custom user field. Add a custom user field for your user_id. Now in an automation, detect new user creations and set that user_id field to the User ID of the newly created user. Really only needs to happen once, the User ID will never change even on a backup restore.

  • Sygnal Hyperflow. For more complex client project needing performance and security, we’ve built a reverse proxy framework that gives us 100% realtime access to the full state of the current user, including ID, access groups, custom fields, the whole bit. We can add it to any client’s site when they need this kind of full-user-access capability.

You can access those custom fields with SA5 User Info.

I’m uncertain of that. My first guess would be it’s the ID stripe creates for its “guest” customer record. You’re getting API webhook-level feedback, so I can’t say for certain what’s already occurred between Webflow & Stripe.

Yes, Memberstack has this built in through its JS API.

:laughing: : This probably should have prefaced the above questions.
I guess now I’m not sure where you’re struggling- you should be able to access everything you need.

Are you using SA5 to access the user info?

It sounds like perhaps you should consider using Wized

re: custom user ID field
I saw this in a previous post and so I implemented a webhook and Make.com to do exactly that. ) I’ve got that on the user page and so I have to route everything through that page to pick up the user’s id

re: Sygnal Hyperflow
I’m at the early stage with a single-page micro-saas kind of deployment. It could be useful for handling some of the other elements of the application but might be a bit more than what I can bite off myself!

re: You can access those custom fields with SA5 User Info.
:exploding_head: I have sadly limited experience playing with libraries. I’ll try to look at this some but it may be similarly more than I can bite off…

re: stripe
Yeah, it’s weird. Webflow IS passing a unique user ID over to Stripe–so Stripe has a customer id it creates and that customer has a custom field it adds from information webflow passes. But–like a lot–it seems disconnected. My money’s on it being a unique “customer” ID that’s tied to a record we don’t see on the WF side, even in designer. I can’t work with it either way so it’s academic.

re: memberstack
I’m going to read through the memberstack docs and setups and see if it looks possible this could work.

re: Are you using SA5 to access the user info?
No, but I probably should have…

I just don’t quite know where I’d start with SA5 at this point. I’ll try to look at the demo instance I think I saw in the docs.

Wow! This looks fantastic! I’ll add this to my weekend research. But… is it as complicated as it looks? (I’m just thinking, “with great power…” and all that.)

All the SA5 user info does is aggregate the user’s data - email, custom user fields, access groups, etc, and make it easily available anywhere in your site. It supports data-binding as well, so that you can just pop a user id ( from your custom user data field ) into a hidden form field - that kind of things.

If you’re trying to build application functionality or personalization features using user accounts, it will help.

Memberstack has this capability solidly built in from the ground up, so if you can budget for it, you’ll get a unified, mature, and evolving product to work with.

It depends on what you already know. Just like with Webflow, if you already understood basic principles of HTML and CSS, it’s far easier to get started and deliver great results, but anyone can do it with some learning. With Wized, if you understand the principles of App development and APIs, it’s far easier than if you’re starting out without that knowledge. With Webflow, Wized and a database like Supabase, you could build anything however you want.

I recently built a small membership web app using Wized and Supabase on top of a client’s Webflow site for hotdesking at their venue. When a member initially signs up and logs in, I create a Stripe customer using their API and record the user’s Stripe customer ID in a user profile table in my database. Then, whenever they initiate a checkout, it’s with their existing Stripe ID. Every transaction is tracked and logged. Subscription changes are logged. What a member sees in their dashboard and whether they can check in at the venue is all dependent on the data within the database from their Stripe ID.