Online payments
What it is
Module for collecting the price of a booking or the purchase of a study plan online. Payment takes place on the provider's hosted checkout (Stripe or PayPal): Flo does not store card data and considers the payment valid only after the provider's signed confirmation.
After payment, Flo creates the booking or activates the plan, and issues the electronic invoice via the Invoicing module.
The payment provider is chosen by the instance configuration, not by the client.
When it is visible
The module activates with the enable_online_payments flag. Selling study plans also requires enable_subscriptions.
For a payment to be possible, three conditions are needed:
- the instance has a configured provider and the invoicing prerequisites in place;
- the activity or plan has online sale enabled and a valid price;
- the user is authenticated.
In the Invoicing section, administrators see the Online payments and Study plan orders tabs, available only when online payments are active.
Main sectors
- Fitness
- Wellness
- Appointment-based services
- Enterprise configurations with paid activities
Dependencies
Can activate or require:
Enabling payments
On the administration side:
- Check the prerequisites in Invoicing → Settings → Prerequisites for online payments: payment provider, e-invoicing credentials, seller's tax data.
- For each activity, open Services and in the Online payment panel:
- enable Enable online payment for this activity;
- enter Gross price, VAT rate and, if the rate is 0, the VAT nature (exemption). If the price is empty, the activity keeps using the subscription- or entry-based flow.
- For each study plan, open Study plans and enable Online sale active. The plan must have a price, a VAT rate, and at least one linked activity.
Only bookings made for yourself can be paid online: payment on behalf of another user stays on the traditional flow.
Paying for a booking
- In Book choose an activity with online payment: Online price appears with the amount.
- Select the slot and confirm. Online payment handles one booking at a time: if you already have a lesson in the cart, confirm it or empty it.
- The Invoice details window opens: name or company name, VAT number, tax code, address, postal code, city, province, country, PEC, and SDI recipient code. Fields are pre-filled from user data when available. At minimum, the tax code or VAT number with full name and address is required.
- Select Continue to payment: Flo creates the order, temporarily locks the slot, and opens the provider checkout (by default the lock lasts 30 minutes).
- Pay on the checkout. Flo does not store card data.
On return from checkout, the page shows the status:
| Message | Meaning |
|---|---|
| Payment received. Booking confirmed. | Booking created. |
| Payment received. Booking confirmation in progress. | Payment acquired, booking being finalized. |
| Payment not yet completed. | The provider has not confirmed yet. |
| Payment failed. | No confirmed charge. |
| The payment session has expired. | The slot has been released. |
| Payment received. Staff must complete the verification. | Case to check manually. |
When the booking is confirmed, you find it in your account and the invoice is sent by email. If payment succeeds but the slot is no longer available, Flo refunds the payment.
Buying a study plan
- In the Account → My subscriptions area, the Available study plans section appears, with duration, entries, booking quota, and VAT.
- Select Buy plan.
- Choose the Start date (future) and enter the Billing details.
- Select Go to payment and complete the checkout on the provider.
- On return, Flo verifies the order with the provider and shows the status: confirmed, processing, failed, under review, refunded, or cancelled payment.
When payment is confirmed, Flo activates a customer subscription with the purchased terms (price, duration, entries, and activities stay those of the purchase moment) and sends the invoice. On the Your online orders page, orders remain visible and, if payment is not completed, the button to continue.
Refunds
Refunds are managed from administration:
- Subscriptions: customer subscription detail → Refund (available only for subscriptions paid online, not expired or cancelled);
- Bookings: order detail in Invoicing → Online payments → Refund payment.
The subscription refund window offers two modes:
| Mode | Effect |
|---|---|
| Full refund | Returns the entire amount paid online. |
| Remaining-period refund | Returns the share proportional to the remaining days (not available for subscriptions without expiry). |
For a booking, the refund returns the entire payment.
Before refunding, Flo verifies the payment with the provider and rejects double refunds. After the refund:
- the order moves to Refunded;
- for subscriptions, the subscription and linked future bookings are also cancelled;
- if the invoice had already been issued, Flo prepares a draft TD04 credit note to review and send from the Invoicing section; with e-invoicing off, the refund stays valid and the missing note is reported.
Orders on the administration side
In Invoicing you find two lists:
- Online payments — orders generated by paying for a booking;
- Study plan orders — study plan purchases.
Both have a status filter, search (client or payment reference), and order detail with client, amount, provider, dates, lines, billing data, and invoice and email status. In the detail you can run recovery actions:
| Action | When |
|---|---|
| Confirm payment | After verifying payment on the provider, for orders under review. |
| Finalize booking / Activate plan | The order is paid but the booking or subscription was not created. |
| Release | Payment did not arrive: the order becomes expired and creates nothing. |
| Refund payment | The payment must be returned (not available if activation is already completed). |
| Retry invoice | Invoice sending failed deterministically. On uncertain outcome, it asks to confirm that no invoice already exists before retrying. |
Main states
| State | Meaning |
|---|---|
| Pending / Checkout created | Order created, payment not yet started or completed. |
| Paid | Payment confirmed by the provider. |
| Booking confirmed / Completed | Booking created or plan activated. |
| Expired | Time to pay ran out and the slot was released. |
| Payment failed | The provider did not confirm payment. |
| Requires review | Case to verify manually. |
| Refunding / Refunded | Refund started or completed. |
Invoice and email have their own states (queued, processing, sent, failed, not sent) visible in the order detail.
Best practices
- Before enabling online sale, complete the prerequisites and run a test payment in the test environment.
- Keep price, VAT, and VAT nature of activities and plans aligned: without a valid rate, online sale does not start.
- Regularly check the Online payments tab: orders in Requires review await a decision.
- Always verify on the provider before confirming a payment or retrying an invoice.
- After a refund, open the credit-note draft in Invoicing and send it if due.