Buying and Licensing
Hyvä POS is in closed beta
Hyvä POS is currently in a closed beta (pilot phase) with a small group of merchants. It is not yet generally available: the App Store release follows the pilot, and features and configuration may still change, possibly in backwards-incompatible ways, before the general release. Want to take part? Sign up at hyva.io/pos.
PRO is licensed per terminal: one license for every register you run. Nothing else is charged.
Buying Terminals
Buy terminal licenses at hyva.io, monthly or yearly. After the first purchase you manage everything from your hyva.io account: add terminals, switch between monthly and yearly, or downgrade.
- Adding a terminal mid-cycle is pro-rated: you pay for the remaining days of the billing cycle, and from the next cycle all terminals renew together.
- Downgrade any time: add terminals for the busy season and cancel them after. A cancelled terminal keeps running until the end of the period you already paid for.
- Developer licenses are available to technical partners for demos and development, never for production sales. They carry no billing period and renew their token on the normal 30-day cadence.
Hyvä Commerce
A Hyvä Commerce license includes two POS terminals. If you already run Commerce, trying PRO costs nothing.
Your Keys
Your hyva.io account gives you three credentials:
- A Packagist key to install the Magento module with Composer (see installing the module).
- An API key and API token per store. Generate the pair on your hyva.io account's POS licenses page; the token is a secret and is shown only once, at generation. You enter both under Stores → Configuration → Hyvä POS → General → Hyvä POS License Connection (see global settings). This connects the store to your license pool so it can fetch and renew licenses.
How a License Binds
Two systems each own half of the relationship:
- hyva.io owns the device binding: which physical device a license runs on. A license binds to a device the moment that device activates a terminal, and stays bound until you release it.
- Your Magento owns the terminal assignment: which terminal record the license is attached to. You manage this on the terminal edit form.
One license, one device, one terminal. Moving a license to new hardware means releasing the old binding first, with either Deactivate Terminal on the hyva.io portal, or Regenerate Activation Code on the terminal in Magento (which releases the binding for you).
The 30-Day Token
Your Magento fetches a signed license token that is valid for up to 30 days, and renews it automatically: a scheduled job refreshes every 6 hours, the Fetch Licenses button on Hyvä POS → Store Setup → Licenses syncs on demand, and the device picks up the fresh token on its next heartbeat.
The device only needs to reach your Magento store once within the 30-day window to stay licensed, so a temporary connectivity problem (maintenance mode for a day, or no internet for an afternoon) does not lock the register.
Failed Payment: the 7-Day Grace Period
When a renewal payment fails, the license does not stop at the end of the paid period. Tokens stay valid for 7 days past the paid-through date, and during that week the app shows a countdown banner ("Your subscription has ended. The app will stop working in N days."). Fix the payment on hyva.io within the window and the register keeps working. After the window, the register drops out of PRO and shows a license lock screen with a Check License button; once the payment is fixed, that button restores PRO.
Cancellation: a Hard Cutoff
Cancelling is different from a failed payment. When you cancel a subscription, the terminal keeps running until the end of the period you paid for, and then stops. There is no grace period.
License States
The Hyvä POS → Store Setup → Licenses grid shows each license's status, bound device, assigned terminal and token expiry:
| State | Meaning |
|---|---|
| Unused | Not bound to a device: either freshly bought, or released via the portal |
| Active | Bound and paid; the terminal runs PRO |
| Pending cancellation | You cancelled; runs until the end of the paid period, then a hard stop |
| Expired | The paid period ended; the 7-day grace countdown runs, then PRO locks |
| Suspended | Suspended by hyva.io; the register locks at its next heartbeat |
| Revoked | Ended by the merchant; the register locks at its next heartbeat |
Portal Actions and What Each Does
On your hyva.io account's POS licenses page, each licensed terminal has two actions. They are not the same thing:
- Deactivate Terminal releases the device binding. The subscription keeps billing and the license immediately becomes available for a new device. Use it when replacing hardware or moving a register. Your Magento learns about the release on its next license sync, and the old device locks at its following heartbeat. A released license is not re-bound automatically: only a new activation (or re-assigning it to a terminal in Magento) claims it again.
- Cancel Subscription ends the billing. The terminal remains active until the end of the current billing period, then stops. The portal confirms the exact end date when you cancel.
Troubleshooting
- Bought a license but it does not appear in Magento: press Fetch Licenses on Hyvä POS → Store Setup → Licenses. If the sync errors, the API key or token under Stores → Configuration → Hyvä POS is wrong or belongs to a different store.
- License locked even though you paid: check the license's status in the grid, then tap Check License on the device's lock screen. If the status is still wrong, press Fetch Licenses first: the device can only pick up what Magento has synced.
- Want to move a license to a new device: do not cancel the subscription. Deactivate the terminal on the portal (or regenerate the activation code in Magento) and activate the new device. See terminals.