Developer-first payment facilitator

Ship payments in 11 lines, not 11 weeks.

One API to charge cards, split funds, run payouts and listen to events. Tokenize in the browser, go live in minutes, and put your brand on the customer’s statement.

No card data touches your servers
  • Visa
  • Mastercard
  • Amex
  • Apple Pay
charges.sh
$ curl https://api.fluxpaywave.com/v1/charges \
-H "Authorization: Bearer sk_live_…" \
-d amount=4200 \
-d currency=usd \
-d source=tok_visa
200 OK40ms
{
"id": "ch_3Q8kLz2eFluX91",
"object": "charge",
"amount": 4200,
"currency": "usd",
"status": "succeeded",
"livemode": true
}
charge.succeeded

One integration. Every rail.

VisaMastercardAmexApple PayGoogle PayACHSEPALinkVisaMastercardAmexApple PayGoogle PayACHSEPALink
0 lines
to your first live charge
0ms
median API response, p50
0.00%
rolling 90-day uptime
0+
currencies, 1 integration
Why Fluxpay

Payments shouldn’t cost you a quarter

Becoming a payment facilitator used to mean a compliance project, a legal budget and a launch date six months out. We turned all of it into an API call.

The old way

A compliance project

  • Weeks of underwriting before you can touch the first dollar.
  • PCI audits, QSAs and a SAQ-D the size of a tax return.
  • Reconciling payouts by hand, line by line, against your books.
  • A third-party brand hijacking your checkout and your statement.

With Fluxpay

A single integration

Live in minutes — a test key the moment you sign up, no sales call.
SAQ-A by default: cards tokenize in the browser, never on your servers.
A real-time, queryable ledger — every charge, transfer and payout, by ID.
Your brand on the bank statement, on your own domain.
Product

Everything the money touches, one API

Charge cards, split funds, hold balances and listen to events — primitives that compose, all behind a single typed integration.

Unified Payments API

One endpoint for cards, wallets and bank debits. Idempotent, typed, and versioned — no surprises on upgrade.

POST /v1/charges
const charge = await flux.charges.create({
amount: 4200, currency: "usd",
source: token, capture: true,
}); // → ch_live_9Qx · 40ms
CardVaultChargePayout

Programmable money flows

Split a single charge across any number of accounts. Define fees, holds and routing in code, settle automatically.

Browser-side tokenization

Card data is tokenized in the browser and never touches your servers. You inherit PCI scope SAQ-A by default.

Reliable webhooks

Signed, ordered, replayable events with automatic retries and a local tunnel for testing. Never miss a state change.

Instant payouts

Push funds to connected accounts on your schedule. Track every transfer with a real-time, queryable ledger.

Built-in observability

Every request is logged with a replay link, full headers and a cURL you can re-run. Debug in seconds, not tickets.

Programmable money flows

One charge in. Every payout settled.

Watch a single payment move through the rail: tokenized, authorized, then split across your platform fee and sub-merchant payouts in one atomic call. You write the split rules; Fluxpay moves the money.

01
Charge
02
Tokenize
03
Authorize
04
Split
05
Payout
Incoming charge
$128.00
Card payment captured on the platform account.

Splits are defined per charge in the API and settle on the next payout cycle. Fees, holds, and reserves are handled for you.

Developers

An API you can hold in your head

One resource-shaped endpoint, predictable JSON, and SDKs that feel native in every language. Read the snippet, ship the charge — no archaeology required.

Idempotency keys built in
Retry any write safely. The same key returns the same charge — never a double payment.
Typed SDKs in six languages
Node, Python, Go, Ruby, PHP and Rust — generated from one spec, autocompleted end to end.
Date-versioned API
Pin a version and upgrades never break you. Migrations are opt-in, on your schedule.
Every request is replayable
Each call ships with a ready-to-run cURL and a replay link. Reproduce any state in seconds.
charge.sh
# Create a charge — runs as-is with your test keycurl https://api.fluxpaywave.com/v1/charges \  -X POST \  -H "Authorization: Bearer sk_test_4eC39Hq" \  -H "Idempotency-Key: ch_idem_91f2a7" \  -d amount=4200 \  -d currency=usd \  -d source=tok_visa \  -d "description=Pro plan — annual"
200 OKPOST /v1/charges · 41ms
{  "id": "ch_3Nf8aQ2bV1",  "object": "charge",  "amount": 4200,  "currency": "usd",  "status": "succeeded",  "livemode": false,  "created": 1718900000}
Quickstart

From zero to a live charge in three steps

No sales call, no procurement. Sign up, paste a key, and you are taking test payments in the time it takes to read this.

  1. 01

    Grab your keys

    Sign up and copy a test secret key from the dashboard. No sales call, no waiting on underwriting to start building.

    sk_test_4eC39Hq…
  2. 02

    Create a charge

    Install an SDK and POST to /v1/charges. Tokenize the card in the browser, confirm 3-D Secure, done.

    POST /v1/charges
  3. 03

    Go live

    Complete KYB, flip to live keys and point a webhook at your app. Your name lands on the customer's statement.

    flux live --webhook
Events

Webhooks that never ghost you

State changes reach your backend as signed, ordered, replayable events — so your ledger and ours never drift apart.

  • Signed with a shared secret

    Every payload carries an HMAC-SHA256 signature. Verify it in one line — reject anything that doesn't match.

  • Strictly ordered per object

    Events for a single resource arrive in the sequence they happened. No out-of-order state, no race conditions.

  • Replayable for 72 hours

    Failed deliveries retry with exponential backoff, and every event is replayable from the dashboard or the API.

Request header
Fluxpay-Signature: t=1719421337,v1=8f3c2a9e1d7b4f60a2c5e8d1b9f04a7c6e3d2b1a0f9e8d7c6b5a4938271605f4e
events.live
POST /webhook
    100% delivered · avg 41ms · 0 droppedInspect events
    Observability

    Your whole payment stack, observable in real time

    Every charge, payout and authorization streams into one control room. No extra agents, no bolt-on dashboards, no sampling — observability is built into the platform from the first request.

    FluxpayObservability
    All systems operationalUptime12:04:51
    Authorization volume
    69 auth/min
    Live
    −60mnow
    +12.4%
    $0
    Volume today
    vs yesterday
    +0.3pt
    0.0%
    Success rate
    vs yesterday
    -6 ms
    0 ms
    Avg latency
    vs yesterday
    +38
    0
    Payouts settled
    vs yesterday
    Recent chargesLive
    • Northwind Studios$42.003s ago
    • Vela Mobility$73.5012s ago
    • Patchwork Labs$99.0027s ago
    • Drift Coffee$8.6054s ago
    White-label checkout

    Your brand on the checkout and the statement, not ours

    Fluxpay runs the payment, the compliance and the payout rails underneath. The cardholder only ever sees the merchant — on the page and on their bank statement.

    Switch the merchant

    Pick a sample merchant and watch the entire checkout retint live — button, monogram, domain and the statement descriptor all swap to their brand instantly.

    Fluxpay never appears at checkout.
    shop.lumencoffee.com
    LC
    Lumen CoffeePowered by your brand
    SubtotalSingle-origin subscription
    $24.00
    4242 4242 4242 4242
    12 / 28CVC
    LC
    Statement descriptorLUMEN COFFEE COExactly how the charge appears on the cardholder's bank statement.
    Integrations

    Drops into the stack you already run

    First-class connectors for the tools your team lives in — and a clean REST API plus signed webhooks for absolutely everything else.

    • Shopify logoShopify
    • WooCommerce logoWooCommerce
    • Webflow logoWebflow
    • Vercel logoVercel
    • Supabase logoSupabase
    • Shopify logoShopify
    • WooCommerce logoWooCommerce
    • Webflow logoWebflow
    • Vercel logoVercel
    • Supabase logoSupabase
    • Zapier logoZapier
    • Sentry logoSentry
    • Linear logoLinear
    • Datadog logoDatadog
    • Notion logoNotion
    • Zapier logoZapier
    • Sentry logoSentry
    • Linear logoLinear
    • Datadog logoDatadog
    • Notion logoNotion
    Security & compliance

    Compliance is the default, not a project

    The controls a payment facilitator needs ship turned on. You inherit the scope reductions, the encryption and the audits — no checklist to chase.

    PCI scope SAQ-A

    Cards are tokenized in the browser with our drop-in. Raw PAN never reaches your servers.

    3-D Secure 2 built in

    Frictionless authentication and dynamic challenge flows handled by the API, liability shifted.

    Signed + ordered webhooks

    HMAC-signed payloads delivered in order, replayable for 72h with exponential-backoff retries.

    SOC 2 Type II

    Independently audited controls. Reports and our DPA are available under NDA on request.

    Encrypted everywhere

    AES-256 at rest and TLS 1.2+ in transit. Secrets are isolated in a hardware-backed vault.

    No raw PAN or PII stored

    You hold opaque tokens, never card numbers or beneficial-owner data. Less to leak, less to audit.

    Scoped, rotatable keys

    Restricted API keys per service, instant rotation, and a full audit log of every key action.

    Resilient by design

    Multi-region failover, isolated test and live ledgers, and a 99.99% uptime SLA on Scale+.

    PCI DSS Level 1 · SOC 2 Type II · GDPR & CCPA ready · AES-256 / TLS 1.2+

    Loved by builders

    Shipped by teams who ship

    Engineers reach for Fluxpay because the integration disappears and the payments just work. Here's what they tell us after going live.

    We replaced three vendors with one Fluxpay integration. The webhook replay alone paid for itself the first week.
    Mara Vance·Staff Engineer, Tideline
    The docs read like they were written by someone who actually shipped the SDK. First charge was live before lunch.
    Dev Okafor·Founder, Loophole
    Split payments used to be a quarter of work. With programmable flows it was an afternoon and a code review.
    Priya Nair·CTO, Marketplace Co
    Every request has a replay link and a ready-to-run cURL. Our support tickets about payments basically vanished.
    Liam Frost·Platform Lead, Northbound
    Honest pricing

    Price every dollar before you write a line of code

    Drag your monthly volume and we show the exact split: rate on volume, fixed fee per transaction, and what actually lands in your account. No hidden tiers, no surprises.

    $/ mo
    $5,000$10,000,000
    $50
    Method
    Region
    Detected planGrowth

    Transactions

    2,400

    Effective rate

    8.50%

    Monthly fees

    $10,200

    Net to you

    $109,800

    Fee breakdown

    Rate on volume 8.00% × $120,000
    $9,600.00
    Per transaction $0.25 × 2,400
    $600.00
    Total fees
    $10,200.00

    Estimate only. The rate is flat — no interchange markups, no hidden tiers — with a small cross-border fee on international card payments.

    See full pricingThe same flat 8% + 25¢ at every volume — no minimums.
    Pricing

    Free to build. Pay when you earn.

    No platform fees, no minimums, no contract to start. You only pay when a charge succeeds — and the test sandbox is free forever.

    Test

    $0forever

    Build and prototype with the full API in sandbox.

    • Full API in test mode
    • All SDKs & webhooks
    • Unlimited test charges
    • Community support
    Start building
    Most popular

    Scale

    8% + 25¢per successful charge

    Usage-based pricing that starts the day you go live.

    • Everything in Test
    • Instant payouts & split flows
    • 99.99% uptime SLA
    • Branded checkout on your domain
    Go live

    Platform

    Customvolume pricing

    Interchange-plus, dedicated infra and a solutions engineer.

    • Everything in Scale
    • Interchange-plus pricing
    • Multi-account / marketplace tooling
    • Dedicated support engineer
    Talk to us
    FAQ

    Questions, answered

    The things developers ask us before they commit the first line. Still curious? The docs go deeper.

    A facilitator. You onboard sub-merchants under your platform, money moves through programmable flows, and your brand is on the statement — without you holding a payments license.

    Start with a test key. Go live when you’re ready.

    Eleven lines to your first charge. No sales call, no waiting on underwriting to build — just a key and the docs.

    npm i @fluxpay/node