I’m building a no-login app where users submit a multi-step form, land on a teaser page, and need to pay before seeing their results.
My setup:
- No user accounts or login at any point
- Each form submission creates an Intake record in Bubble with a Unique ID
- I have Stripe.js 2 and the native Bubble Stripe plugin installed
- I have a Stripe product already set up with a price ID
What I need:
- User clicks “Get My Results” (or whatever) button on teaser page
- Stripe Checkout opens (hosted by Stripe)
- User pays
- After successful payment, Stripe redirects user to my results page
- The results page must know which Intake record to display — so the Intake Unique ID must survive the round trip through Stripe checkout
I have tried:
- Stripe.js PaymentIntent Create + Start payment with Stripe Element (could not get Client Secret into the element)
- Native Bubble Stripe plugin Charge the current user (fails because there is no logged-in user)
- Stripe Payment Link with client_reference_id appended to URL (payment link does not pass client_reference_id back in the redirect URL)
- API Connector POST to api.stripe.com/v1/checkout/sessions (got content-type errors)
What is the exact step-by-step workflow to make this work in Bubble? Thank you.