Skip to Content
FluxStore is currently invite-only. Some sections of this documentation are still being written and expanded.
PaymentsStripe Setup

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 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

  1. Log into the Stripe Dashboard 
  2. Copy your Publishable Key (starts with pk_live_ or pk_test_)
  3. Copy your Secret Key (starts with sk_live_ or sk_test_)
  4. 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.

  1. Go to Stripe Dashboard > Developers > Webhooks 
  2. Click Add endpoint
  3. Set the endpoint URL to: https://api.fluxstore.net/api/webhooks/stripe
  4. Select the following events:
EventWhat it’s for
checkout.session.completedPayment completed (one-time and subscription)
payment_intent.succeededPayment confirmed
payment_intent.payment_failedPayment failed
charge.succeededCharge confirmed
charge.dispute.createdChargeback filed
charge.dispute.updatedDispute status changed
charge.dispute.closedDispute resolved
customer.subscription.createdSubscription started
customer.subscription.updatedSubscription modified
customer.subscription.deletedSubscription cancelled
invoice.paidSubscription invoice paid
invoice.payment_failedSubscription invoice failed
  1. Click Add endpoint to save
  2. On the webhook detail page, reveal and copy the Signing Secret (starts with whsec_)
  3. 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