Kredit a dobíjení¶
Kreditový systém¶
Dveřník používá interní kreditový systém. 1 kredit = 1 Kč. Kredity slouží k placení za vstupy a čas strávený v zónách.
Jak kredit funguje¶
- Kredit se uchovává na účtu uživatele (pole
credits) - Při vstupu do entry-based zóny se kredit strhne okamžitě
- Při ukončení relace v time-based zóně se kredit strhne podle vypočtené ceny
- Pokud nemá uživatel dostatek kreditu, může mu vzniknout dluh
Dluh¶
Pokud uživatel nemá dostatek kreditu na pokrytí ceny relace (time-based zóna):
- Strhne se tolik kreditu, kolik je k dispozici
- Zbytek zůstane nezaplacenou částkou dané relace (
amount_due,paid = false). Cena relace (final_price) se tím nemění - Vygeneruje se QR kód pro úhradu zbývající částky bankovním převodem
Kredit se strhává v celých korunách
Kredit se strhává jen v přesnosti PRICE_DECIMAL_PLACES (výchozí celé koruny), zaokrouhleno dolů. Máte-li 300,50 Kč kreditu a relace stojí 820 Kč, zaplatí se 300 Kč, 0,50 Kč zůstane na účtu a k doplacení je 520 Kč. Vstupné se strhává v zaokrouhlené výši (50 Kč se slevou 15 % = 42,50 → 43 Kč) a kontrola kreditu před vstupem počítá s touto výší: 42,80 Kč na vstupné 43 Kč nestačí, 10,20 Kč na vstupné 10,40 Kč (účtuje se 10 Kč) stačí.
Dluh uživatele není samostatné pole — je to vždy živý součet amount_due
(zbývá doplatit) všech jeho nezaplacených relací. Zaplacením (nebo smazáním)
relace se dluh ihned přepočítá, takže nemůže zůstat „zaseknutý" na staré hodnotě.
Administrátor může nastavit maximální povolený dluh pomocí konfigurace MAX_DEBT:
MAX_DEBT = 0— bez limitu (uživatel může dlužit neomezeně)MAX_DEBT = 500— uživatel s dluhem 500 Kč a více nemůže zahájit novou relaci
Entry-based zóny
U entry-based zón se kredit strhává před vstupem. Pokud uživatel nemá dostatek kreditu, relace se nezahájí. Dluh u entry-based zón nevzniká.
Dobíjení kreditu¶
Pokud je aktivována funkce dobíjení (TOPUP_ENABLED = true), uživatelé si mohou dobíjet kredit:
Postup dobíjení¶
- Přejděte na stránku Dobít kredit
- Zadejte částku (minimum
TOPUP_MIN_AMOUNT, maximumTOPUP_MAX_AMOUNT) - Systém vygeneruje QR kód ve formátu SPD (Short Payment Descriptor)
- Naskenujte QR kód v bankovní aplikaci a proveďte platbu
- Po připsání na účet se kredit automaticky dobije
Automatické párování¶
Systém pravidelně kontroluje bankovní účet (pokud je nastavena integrace s bankou) a automaticky páruje platby podle:
- VS (variabilní symbol) — unikátní číslo dobíjení
- SS (specifický symbol) — identifikátor uživatele
- Částka — musí přesně odpovídat
Po spárování se kredit okamžitě připíše na účet uživatele.
Stavy dobíjení¶
| Stav | Popis |
|---|---|
pending |
Čeká na platbu |
completed |
Platba přijata, kredit dobit |
cancelled |
Zrušeno uživatelem nebo administrátorem |
expired |
Prošlé (po TOPUP_EXPIRATION_DAYS dnech) |
Manuální dobíjení¶
Administrátor může:
- Dokončit čekající dobíjení ručně (např. po hotovostní platbě)
- Zrušit dobíjení
Platby QR kódem¶
QR kódy generované systémem používají český standard SPD (Short Payment Descriptor) podporovaný všemi českými bankami. QR kód obsahuje:
- Číslo bankovního účtu (z konfigurace
BANK_NUM) - Částku
- Měnu (
CURRENCY_CODE) - Variabilní symbol
- Specifický symbol
- Zprávu pro příjemce