Faizatech Support

MemberFlow

Connect Stripe

Paid member tiers run on your own Stripe account. You paste your Stripe keys into MemberFlow, your members pay you, and the money settles to you on your own Stripe payout schedule.

What MemberFlow does and does not do

You Own the Stripe account, set the payout schedule, handle your own tax settings, own the customer records, and issue refunds to your members.
MemberFlow Creates Products and Prices for your tiers, starts Checkout sessions, opens the Stripe Customer Portal, and listens for Stripe webhooks so a member's access matches their subscription.

MemberFlow is not a payment processor and not the merchant of record for your members. It never receives, holds, or routes your members' money, and it never sees their card details—those go straight from the member to Stripe.

This is separate from what you pay Faizatech. Your own MemberFlow subscription is billed through our merchant of record; see Billing & plans.

Step 1: Add your secret key

  1. In Stripe, go to Developers → API keys and copy your secret key (sk_live_…, or sk_test_… while you are testing).
  2. In MemberFlow, open Site settings → Stripe and paste it in.
  3. Save. MemberFlow validates the key against Stripe before storing it. An invalid key is rejected and nothing is saved.

Your key is encrypted at rest and is never shown back to you. To replace it, paste a new one; leaving the field blank keeps the existing key.

🔐 Use a restricted key if you prefer. It needs write access to Customers, Products, Prices, Checkout Sessions, Subscriptions, and Billing Portal sessions.

Step 2: Add the webhook

Stripe has to tell MemberFlow when a payment succeeds, fails, or a subscription changes. Without this, members will pay and not get access.

  1. Copy the webhook URL shown in Site settings → Stripe. It looks like https://memberflow.faizatech.com/api/site/<siteId>/stripe/webhook.
  2. In Stripe, go to Developers → Webhooks → Add endpoint and paste that URL.
  3. Subscribe to these events:
Event Why
checkout.session.completed Grants the tier after a successful first payment.
customer.subscription.created Records a new subscription.
customer.subscription.updated Applies tier switches, cancellations scheduled for period end, and resumes.
customer.subscription.deleted Removes access when a subscription ends.
invoice.payment_succeeded Extends the paid period on renewal.
invoice.payment_failed Marks the member as failed so you can chase them.
  1. Copy the endpoint's signing secret (whsec_…) and paste it into Site settings → Stripe.

MemberFlow verifies every incoming webhook against that secret and ignores events it has already processed, so a Stripe retry cannot double-apply a change.

Step 3: Wire the buttons in Webflow

Paid flows are ordinary buttons with attributes:

<a data-flowappz-membership-action="checkout" data-flowappz-membership-tier="4">Subscribe</a>
<a data-flowappz-membership-action="switch"   data-flowappz-membership-tier="5">Go Pro</a>
<a data-flowappz-membership-action="cancel">Cancel my plan</a>
<a data-flowappz-membership-action="resume">Keep my plan</a>
<a data-flowappz-membership-action="billing-portal">Manage billing</a>

Use checkout for a member with no subscription yet, and switch to move an existing subscriber between paid tiers—Stripe handles the proration.

Testing before you go live

Connect a test-mode secret key and a test-mode webhook first, then run a full signup and checkout with a Stripe test card. Switch to live keys once the flow works end to end. Remember to add a second webhook endpoint for live mode; test and live webhooks are separate in Stripe.

Troubleshooting

Symptom Likely cause
Member paid but has no access Webhook endpoint missing, wrong URL, or the signing secret is not saved.
Stripe status shows invalid The key was rejected by Stripe. Re-copy it; check you did not paste a publishable key.
Checkout button does nothing No Stripe key connected, or the tier has no price yet.
Paid tiers lost their prices The secret key was rotated to a different Stripe account. Re-save each paid tier to re-provision.