Stripe Setup
Stripe is FluxStore’s primary payment processor. It handles credit cards, debit cards, Apple Pay, Google Pay, and dozens of other payment methods. Your server never touches sensitive card data.
FluxStore offers two ways to connect Stripe: Stripe Connect (recommended) and manual API keys. Both give you the same checkout experience, but they differ in how FluxStore interacts with your Stripe account.
Stripe Connect (recommended)
Stripe Connect links your Stripe account to FluxStore’s platform account using OAuth. This is the easiest way to get set up and is what we recommend for most stores.
Go to Dashboard > Payment Gateways and click Connect with Stripe. You’ll be redirected to Stripe to authorize FluxStore, then sent back to your dashboard automatically. No keys to copy, no webhooks to configure.
What FluxStore can and can’t do with Connect
When you connect with Stripe Connect, you give FluxStore the ability to act on your Stripe account through Stripe’s API. We want to be straightforward about what that actually means, because some platforms aren’t.
What FluxStore can do:
- Create checkout sessions and process payments through your account.
- Refund payments.
- Look up charges, customers, and payments on your account. This isn’t restricted to FluxStore orders only. The way Stripe Connect works, FluxStore could technically see any payment activity on the account. In practice we only look at data that belongs to a FluxStore order, but the access exists.
- See whether your account is set up to accept payments and receive payouts (so we can show you the right status in your dashboard).
What FluxStore can’t do:
- Log into your Stripe dashboard. Your Stripe login and two-factor are entirely yours.
- Change your identity, business, or verification details.
- Change your password, two-factor, or team members.
- Change your bank account or payout schedule.
- Take a fee from your transactions. FluxStore doesn’t set itself up as a fee-taking platform, and you can confirm this on any charge in your Stripe dashboard.
Why we prefer Connect
Being able to look up payments through Stripe’s API means we can help you debug issues faster. If a customer says their payment went through but their order didn’t deliver, we can check exactly what happened on Stripe’s side without asking you to dig through your dashboard and send us screenshots.
You can revoke FluxStore’s access at any time. Either disconnect from inside the FluxStore dashboard, or go to Stripe Dashboard > Settings > Connected applications and remove FluxStore from there. We lose all access immediately.
If you’d rather not connect
If you’d rather not give a third party access to your Stripe account, manual API keys are fully supported. With that path, FluxStore only sees what Stripe sends in the webhook payload. Setup is a little more involved, and we’ll have less visibility to help you troubleshoot if a payment goes wrong, but it works the same for your customers.
Manual API keys
If you prefer full control over your Stripe integration, you can enter your API keys directly instead of using Connect.
Step 1: Get your API keys
- Log into the Stripe Dashboard
- Copy your Publishable Key (starts with
pk_live_orpk_test_) - Copy your Secret Key (starts with
sk_live_orsk_test_) - In FluxStore, go to Dashboard > Payment Gateways, click Enter API Keys Manually, and paste both keys
Keep your Stripe secret key confidential. Never share it publicly or commit it to version control. If compromised, rotate it immediately in the Stripe Dashboard.
Step 2: Set up your webhook
FluxStore needs to receive events from Stripe to know when payments succeed, subscriptions renew, and disputes are filed. You’ll need to create a webhook endpoint in your Stripe account.
- Go to Stripe Dashboard > Developers > Webhooks
- Click Add endpoint
- Set the endpoint URL to:
https://api.fluxstore.net/api/webhooks/stripe - Select the following events:
| Event | What it’s for |
|---|---|
checkout.session.completed | Payment completed (one-time and subscription) |
payment_intent.succeeded | Payment confirmed |
payment_intent.payment_failed | Payment failed |
charge.succeeded | Charge confirmed |
charge.dispute.created | Chargeback filed |
charge.dispute.updated | Dispute status changed |
charge.dispute.closed | Dispute resolved |
customer.subscription.created | Subscription started |
customer.subscription.updated | Subscription modified |
customer.subscription.deleted | Subscription cancelled |
invoice.paid | Subscription invoice paid |
invoice.payment_failed | Subscription invoice failed |
- Click Add endpoint to save
- On the webhook detail page, reveal and copy the Signing Secret (starts with
whsec_) - Back in FluxStore, update your gateway settings and paste the webhook secret
The webhook secret is required. Without it, FluxStore can’t verify that incoming webhooks are genuinely from Stripe, and your gateway will not process payments.
Step 3: Verify it works
The way you verify depends on which keys you pasted in.
If you pasted test keys (starting with sk_test_ and pk_test_), place a test order using Stripe’s test card numbers (e.g. 4242 4242 4242 4242 for a successful payment). Test cards only work with test keys; they’ll be declined against live keys.
If you pasted live keys (starting with sk_live_ and pk_live_), test cards won’t work. The cleanest verification is to place a real order on the smallest package you sell with your own card, then refund it from the order page once it lands. The full payment-to-command flow runs end to end, and you only carry the payment processor’s per-transaction fee.
Either way, the order should appear in your FluxStore dashboard as paid within a few seconds. If it stays pending, your webhook is most likely not reaching FluxStore: check the webhook delivery logs in your Stripe dashboard for failed attempts.
After connecting
Whichever method you chose, check the Payment Gateways page to confirm that charges and payouts are both enabled. If either is disabled, your Stripe account likely needs additional verification. Stripe requires identity documents and business details before you can receive payouts.
Stripe will still process payments before verification is complete, but funds won’t transfer to your bank account. Complete onboarding at dashboard.stripe.com/account/onboarding to start receiving payouts.
Test mode vs live mode
Before accepting real payments, test your entire checkout flow using Stripe’s test mode. With Connect, connect a Stripe account that’s in test mode. With API keys, use your test keys (starting with sk_test_ and pk_test_).
In test mode, use Stripe’s test card numbers to simulate successful payments, declines, and disputes. Switch to live credentials once you’re confident everything works.
Disconnecting
To disconnect Stripe, go to Dashboard > Payment Gateways and click Disconnect. If you used Stripe Connect, this immediately revokes FluxStore’s access to your account. Existing orders are preserved, but active subscriptions will fail to renew at their next billing cycle unless you reconnect.
Supported currencies
Stripe supports over 135 currencies depending on your account’s country. For the full list, see Stripe’s supported currencies . If you have multi currency checkout enabled, see Currencies for how this interacts with FluxStore.
Next steps
- Stripe Tax to automatically collect sales tax, VAT, or GST on checkout
- PayPal Setup to add PayPal as an alternative payment method
- Gateway Management to manage your active payment gateways