Back to docs/Paiements
Live

Paiements

What gets you paid. One single path between Freelance OS and Stripe, using each workspace's own Stripe account. Everything that takes money runs through it: the shop, your clients' subscriptions and invoice payments.

Overview

Getting paid is infrastructure. The Payments module has no screen of its own: it is the technical layer the other hubs call when money has to change hands. A product order, an invoice to settle, a subscription to your app, a booking deposit: they all take money through the same path. You connect Stripe once, and the rest works.

Freelance OS isn't tied to a single payment provider. Today payments go through Stripe. More providers can be added without changing your payment pages.

Each workspace connects its own Stripe account. Your clients' money lands directly in your account. Until you connect Stripe you cannot take payments: it is the only step to switch payments on.

What the module does

One single path

Every step of a payment is covered: create the client, save a card without charging it, take an online payment, open a hosted payment page, charge a saved card and confirm each payment.

One Stripe account per workspace

You connect your Stripe account in a few clicks. Your Stripe credentials are never stored by Freelance OS. A new workspace must connect Stripe before taking payments.

  • Your Stripe account is recognized automatically on every payment
  • The connected flag says whether the workspace wired its own account or falls back to the platform
  • Your public payment pages use your workspace's Stripe account

What the gateway can do

Each payment step follows the same path, whatever the provider.

  • Client: found or recreated automatically when needed
  • Card capture (SetupIntent): saves a payment method without a charge
  • On-session payment (PaymentIntent): the client pays on the page, with 3DS handled
  • Hosted payment page: for a one-off payment, with a return to success or cancel
  • Charging a saved card: without the client present, protected against double charges
  • Payment confirmation: every notification is verified before it is trusted

Where the money comes in

Payments has no screen of its own: the pages that sell use it. An invoice payment opens a page in your brand colors and the client stays on your domain. The shop creates an order, applies shipping and coupons then takes the payment. A Collection subscription bills your client on top. A booking deposit follows the same path. On some flows a platform commission may apply.

Stripe today

To be clear: today only Stripe is available. PayPal, Mollie and Adyen are planned but not wired in yet. If a provider isn't available, the payment fails openly rather than quietly going through another one. And until Stripe is connected to your workspace, payments stay off.

How to use it

  1. 01

    Connect Stripe

    From Settings then Integrations, you click Connect Stripe. You authorize the platform on stripe.com (log in or sign up), you come back, and the connected account id is stored on your workspace.

  2. 02

    The workspace becomes payable

    Once Stripe is wired, the gateway resolves with connected set to true. The surfaces that sell see a ready account and can create payments.

  3. 03

    A client pays

    On an invoice payment page or in the shop, the app prepares the payment on the server and shows the Stripe payment form. The client pays without leaving your domain. For a one-off payment it can also open a hosted payment page.

  4. 04

    Stripe confirms the payment

    Stripe notifies the platform. Each notification is verified, then the invoice or order flips to paid.

  5. 05

    Charge automatically

    For a recurring payment or one without the client present, the app charges the saved card on the due date. Each charge is protected against double charging. The result is always clear: success, declined, action required or error.