⏱️ TL;DR
- Does Memberstack support donations or variable pricing natively? No. Memberstack requires predefined, fixed Price IDs (prc_...) to initiate checkouts. You cannot pass a dynamic, user-defined dollar amount directly into a Memberstack checkout button.
- What are the workarounds?
- Fixed Tiers (Recommended): Create a set of fixed-price plans (e.g., $10, $25, $50, $100) and let users select a tier.
- Stripe Payment Links + Automation: Use a Stripe Payment Link with "let customers pay what they want" enabled, and use Zapier or Make to create their Memberstack account after they pay.
1. Native Limitations & Why They Exist
Memberstack’s pricing engine is built around structured, pre-configured plans. When a user clicks a purchase button (like data-ms-price:add="prc_123"), Memberstack sends a secure request to Stripe referencing that specific, pre-determined price.
Because of this structure, it is not possible to have an input field on your website where a user types in a custom amount (e.g., "$37.50") and passes that dynamically to a Memberstack checkout button.
If you run a nonprofit, a donation-based platform, or a "pay-what-you-want" digital storefront, you must use one of the two workarounds below.
2. Workaround 1: Fixed Donation Tiers (Recommended)
This is the cleanest, most reliable approach. Instead of giving users a blank text field, you provide them with predefined choices.
How to set it up:
- In your Memberstack Dashboard, go to Plans and create a single Plan (e.g., "Donors").
- Inside that plan, create multiple one-time prices representing your donation tiers (e.g., $10, $25, $50, $100, $250).
- On your website's donation page, create a series of buttons (or a stylized card grid) for each tier.
- Apply the corresponding Price ID to each button using the standard data-ms-price:add="prc_..." attribute.
- The Member Experience: Flawless. The user clicks "$25", Stripe Checkout opens instantly, they pay, and they are immediately redirected back to your site as a logged-in member.
3. Workaround 2: Stripe Payment Link + Automation (Zapier/Make)
If you absolutely must allow users to type in a custom, variable donation amount, you can use Stripe’s native "Customer chooses what to pay" feature and bridge it to Memberstack.
How to set it up:
- In Stripe: Go to Payment Links and click New.
- Add a product and check the box for "Let customers choose what to pay". Set your minimum and suggested amounts.
- Under "After payment", redirect them to a custom "Thank You / Account Setup" page on your website.
- In Memberstack: Create a Free Plan (e.g., "Donors - Custom Amount"). This plan will act as the placeholder to grant them access to your gated content.
- In Zapier or Make: Create an automation with these steps:
- Trigger: Stripe → New Successful Charge (filtered to your specific Payment Link).
- Action: Memberstack → Create Member (Add the customer's email and assign them to your free "Donors - Custom Amount" plan).
- The Password Hand-off: In your Zapier or Make workflow, add a step to send an automated email to the donor using a tool like SendGrid, Gmail, ActiveCampaign, or Mailchimp. Because Memberstack does not generate custom invitation links, you have two options for their first login:
- Option A (Recommended): Direct them to your website's login page and instruct them to click the "Forgot Password" link. This will trigger Memberstack's secure verification email and allow them to set their password for the first time.
- Option B: If you have Passwordless Login enabled in your Memberstack settings, simply direct them to your login page. They can log in instantly by entering their email address and typing in the 6-digit verification code sent to their inbox, bypassing the need for a password entirely.
4. Comparing the Workarounds (Tradeoffs)
Before making your decision, carefully review the tradeoffs of both approaches:
Workaround 1: Fixed Tiers (Predefined Donation Buttons)
- User Flexibility: Limited. Users can only select from the pre-set price tiers you define (such as $10, $25, or $50).
- Member Sign-up Flow: Instant and Seamless. Account creation and payment happen in a single, unbroken checkout session.
- Setup Complexity: Very Low. No external tools, APIs, or automations are required. Done entirely inside the Memberstack dashboard.
- Access Management: Automatic. Memberstack handles access, renewals, and login status natively.
- Refund Handling: Automatic. Refunding the transaction in Stripe automatically cancels or updates the member's plan in Memberstack.
Workaround 2: Stripe Link + Automation (Custom Amount Input)
- User Flexibility: Unlimited. Users can type in any custom amount they want to donate.
- Member Sign-up Flow: Multi-step. The user pays first on Stripe, and then must wait to receive an email instructing them to set up their password or use passwordless login.
- Setup Complexity: Medium. Requires a paid Zapier or Make account, webhook setup, and external transactional email software.
- Access Management: Manual. If a one-time donor needs their access manually revoked, you must log in and change their plan status manually in Memberstack.
- Refund Handling: Manual. Refunding a transaction in Stripe will not delete or downgrade the member in Memberstack. You must update or delete the member profile manually in your dashboard.
❓ Frequently Asked Questions (FAQ)
Q: Can I use a custom input field on my Webflow site to change the Stripe checkout price?
No. Because of security protocols designed to prevent users from manipulating prices (e.g., changing a $100 price to $1 in their browser console), Memberstack only processes prices that are securely hardcoded on our servers using prc_ IDs.
Q: Can I offer a "Custom Amount" field and still use Memberstack's native gated content?
Yes, but only if you use Workaround 2. By using Stripe Payment Links to collect the custom payment, and then Zapier or Make to create a free member account in Memberstack, the member can still log in and view your gated content.
Q: How do I handle recurring monthly donations with variable pricing?
Stripe's Pay what you want feature currently does not support recurring payments and the workarounds mentioned here seem to be the only current way.
Comments
0 comments
Please sign in to leave a comment.