Skip to content

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

  1. Strhne se tolik kreditu, kolik je k dispozici
  2. Zbytek zůstane nezaplacenou částkou dané relace (amount_due, paid = false). Cena relace (final_price) se tím nemění
  3. 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í

  1. Přejděte na stránku Dobít kredit
  2. Zadejte částku (minimum TOPUP_MIN_AMOUNT, maximum TOPUP_MAX_AMOUNT)
  3. Systém vygeneruje QR kód ve formátu SPD (Short Payment Descriptor)
  4. Naskenujte QR kód v bankovní aplikaci a proveďte platbu
  5. 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