Holds and what is taken
How much is held on the card, the five minutes to start, the stop before the hold runs out, and why you are never charged more than the hold.
On this page
A hold is a reservation on the user's card. It is not a charge: the bank sets the amount aside, and nothing is taken until the session has ended and its price is known.
What happens, in order
Hold. Flowion records the hold, then asks Stripe to authorize your organization's hold amount on the user's card, on your organization's own Stripe account. Until the hold is
authorized, no session can start.Start. A session can start under an authorized hold, once. The permission to start lasts five minutes.
Run. While the session runs, Flowion compares its running cost with the hold.
Stop. When the running cost reaches 85% of the hold, Flowion stops the session. The last 15% is margin for the time a stop takes to reach the charger.
Take. When the session has ended, Flowion prices it and takes the lower of the final price and the hold. The rest of the hold is released. A session that cost nothing releases the whole hold.
Amounts are in the currency's smallest unit (öre, cent), and the price includes VAT.
The five-minute start window
A hold that has not led to a started session within five minutes is released automatically, and the permission to start expires with it. A late start is refused with windowEnded, and a charger that is still waiting cannot start a session under a hold that has been released. The hold carries windowEndsAt, the moment the window closes.
Ask for the hold when the user is ready to plug in, not earlier. If the window closes, ask for a new hold.
The window is fixed at five minutes for every charger.
Who receives the money
Every charge is a direct charge on your organization's own Stripe account: your organization is the seller, the user's bank statement shows it, and Flowion's fee is taken as an application fee on the same charge. Flowion never holds your money and is never liable for it.
The hold amount is yours to set. A very small amount on a very fast charger is refused with chargerUnsafeForHold, because the margin would not cover the time a stop takes.
The receipt
GET /v1/projects/{projectId}/payments/holds/{holdId}/receipt returns what the user was charged: capturedMinor, the VAT within it (taxMinor, with the rate in vatRateBp when one was recorded) and the amount without VAT (amountExclTaxMinor), and your organization as the seller (sellerName, sellerAddress, sellerTaxId), with its business details read from its Stripe account when the receipt is made. sellerTaxIdState says what an absent VAT number means: absent when your account holds none, unknown when it could not be read. If Stripe cannot be read, the amounts still come back and sellerUnavailable is true; ask again shortly. Refunds your organization has made are listed in refunds. A receipt asked for before anything was taken is refused with notCaptured.
What Flowion never keeps
Flowion stores ids, amounts, currencies, states and times. It never stores or logs a card number, an expiry or a client secret.