Skip to content

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. Everything else is yours already, so 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 simply 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, in Plain Terms

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 - 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

A license is a lease. 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 practical consequence: a connectivity problem never locks your register. The device only needs to reach your Magento store once within the 30-day window to stay licensed. Store in maintenance mode for a day? Internet down for an afternoon? The register keeps working.

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 ("license expired - app will stop working in N days"). Fix the payment on hyva.io within the window and nothing ever stops. After the window, the register drops out of PRO and shows a license lock screen with a Check License button - the moment payment is fixed, one tap restores it.

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 - no grace period. You chose the end date; the register honors it to the day.

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 Deliberately ended; 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 this 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 never silently re-bound: only an explicit 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 cuts off hard. 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.