Preskočiť na obsah

Darčekové karty

Modul darčekových kariet umožňuje predávať karty ako produkty WooCommerce. Zákazník kúpi kartu, dostane kód a platí ním pri ďalších objednávkach.

  1. Administrátor vytvorí produkt typu “Darčeková karta”
  2. Zákazník kúpi darčekovú kartu v obchode
  3. Po zaplatení objednávky plugin vygeneruje unikátny kód karty
  4. Kód je odoslaný zákazníkovi (alebo obdarovanému) e-mailom
  5. Obdarovaný zadá kód v košíku a dostane zľavu rovnú hodnote karty
  6. Zostatok karty sa zníži o použitú sumu

Prejdite do WooCommerce > Nastavenia > Polski > Moduly PRO > Darčekové karty.

Modul je ovládaný voľbou:

polski_gift_cards
NastaveniePopis
Zapnúť darčekové kartyAktivuje modul
Dĺžka kóduPočet znakov kódu (predvolene 16)
Formát kóduVzor kódu (napr. XXXX-XXXX-XXXX-XXXX)
Prefix kóduVoliteľný prefix (napr. PL-)
Platnosť kartyPočet dní platnosti (0 = bez limitu)
Pole kódu v košíkuPozícia poľa na zadanie kódu
  1. Prejdite do Produkty > Pridať nový
  2. Vyberte typ produktu: Darčeková karta
  3. Nastavte cenu (nominálna hodnota karty)
  4. Voliteľne: zapnite “Ľubovoľná suma” - zákazník sám zadá hodnotu karty
  5. Voliteľne: nastavte minimálnu a maximálnu sumu pre ľubovoľnú sumu
  6. Publikujte produkt

Pri ľubovoľnej sume zákazník vidí pole na zadanie hodnoty karty namiesto pevnej ceny.

Kódy sa generujú automaticky po zaplatení objednávky. Vlastnosti kódov:

  • alfanumerické znaky (A-Z, 0-9)
  • vylúčenie nejednoznačných znakov (0, O, I, L, 1)
  • validácia unikátnosti v databáze
  • formátovanie so separátormi (napr. ABCD-EFGH-JKMN-PQRS)

Každý kód je unikátny. Pri kolízii plugin vygeneruje nový kód.

V košíku (a voliteľne na pokladni) zákazník vidí pole na zadanie kódu:

[Zadaj kód darčekovej karty] [Použiť]

Po zadaní správneho kódu:

  • zostatok karty sa zobrazí
  • suma zľavy sa odpočíta od sumy objednávky
  • ak je zostatok karty menší ako hodnota objednávky - zvyšok na zaplatenie inými metódami
  • ak je zostatok karty väčší - zostávajúca suma ostáva na karte

Plugin overí kód pred použitím:

  • kontrola, či kód existuje v databáze
  • kontrola, či karta nevypršala
  • kontrola, či je zostatok väčší ako nula
  • kontrola, či karta nebola zablokovaná

Zákazník vidí správu s dôvodom odmietnutia kódu.

Kód karty je uložený v relácii WooCommerce:

  • kód sa zapamätá aj po obnovení stránky
  • kód sa odstráni po odoslaní objednávky alebo odhlásení
  • zákazník môže použitý kód odstrániť ručne

Zostatok karty sa znižuje s každým použitím. História transakcií obsahuje:

PolePopis
DátumDátum transakcie
TypDobitie / Použitie / Vrátenie
SumaSuma operácie
ObjednávkaID objednávky (pre použitie a vrátenie)
Zostatok po operáciiAktuálny zostatok po transakcii

V paneli WooCommerce > Darčekové karty môže administrátor:

  • prezerať zoznam všetkých kariet so zostatkami
  • skontrolovať históriu transakcií karty
  • dobiť kartu ručne
  • zablokovať kartu
  • exportovať zoznam kariet (CSV)

Modul pridáva sekciu v paneli Môj účet na adrese:

/moje-konto/polski-gift-cards/

V paneli zákazník vidí:

  • zoznam vlastnených darčekových kariet
  • aktuálny zostatok každej karty
  • históriu použitia
  • kód karty (s možnosťou kopírovania)
  • dátum platnosti (ak je nastavený)

Filtruje výsledok validácie kódu darčekovej karty v košíku.

/**
* @param bool $is_valid Czy kod jest prawidłowy
* @param string $code Kod karty podarunkowej
* @param float $cart_total Suma koszyka
*/
apply_filters('polski_pro/gift_card/validate', bool $is_valid, string $code, float $cart_total): bool;

Príklad:

add_filter('polski_pro/gift_card/validate', function (bool $is_valid, string $code, float $cart_total): bool {
// Blokowanie kart podarunkowych dla zamówień poniżej 50 zł
if ($cart_total < 50.00) {
wc_add_notice('Karty podarunkowe można wykorzystać przy zamówieniach od 50 zł.', 'error');
return false;
}
return $is_valid;
}, 10, 3);

Akcia vyvolaná po použití darčekovej karty v košíku.

/**
* @param string $code Kod karty
* @param float $amount Kwota do odliczenia
* @param float $balance Pozostałe saldo
*/
do_action('polski_pro/gift_card/applied', string $code, float $amount, float $balance);

Príklad:

add_action('polski_pro/gift_card/applied', function (string $code, float $amount, float $balance): void {
// Logowanie użycia karty
wc_get_logger()->info(
"Karta {$code}: odliczono {$amount} zł, saldo: {$balance}",
['source' => 'polski-pro-gift-cards']
);
}, 10, 3);

Akcia vyvolaná po vytvorení objednávky s použitím darčekovej karty.

/**
* @param int $order_id ID zamówienia
* @param string $code Kod karty
* @param float $amount Kwota odliczona z karty
*/
do_action('polski_pro/gift_card/order_created', int $order_id, string $code, float $amount);

Príklad:

add_action('polski_pro/gift_card/order_created', function (int $order_id, string $code, float $amount): void {
$order = wc_get_order($order_id);
$order->add_order_note(
sprintf('Użyto kartę podarunkową %s na kwotę %.2f zł', $code, $amount)
);
}, 10, 3);

Filtruje sumu na odpočítanie z darčekovej karty pri prepočte súm košíka.

/**
* @param float $discount Kwota rabatu z karty
* @param string $code Kod karty
* @param float $cart_total Suma koszyka przed rabatem
*/
apply_filters('polski_pro/gift_card/calculate_totals', float $discount, string $code, float $cart_total): float;

Po zaplatení objednávky plugin odošle e-mail s kódom karty. E-mail obsahuje:

  • kód karty (formátovaný)
  • nominálnu hodnotu
  • dátum platnosti (ak sa týka)
  • pokyny na použitie

Šablónu e-mailu možno prispôsobiť v WooCommerce > Nastavenia > E-maily > Darčeková karta.

Zákazník môže zadať e-mail obdarovaného. Vtedy:

  • kód je odoslaný na adresu obdarovaného
  • kupujúci dostane potvrdenie nákupu (bez kódu)
  • voliteľne: kupujúci môže pridať správu pre obdarovaného
  1. Skontrolujte, či je kód zadaný správne (bez medzier na začiatku/konci)
  2. Overte, či karta nevypršala
  3. Skontrolujte zostatok karty v administračnom paneli
  4. Uistite sa, že karta nie je zablokovaná
  1. Skontrolujte, či je objednávka zaplatená (stav “Processing” alebo “Completed”)
  2. Overte konfiguráciu e-mailov WooCommerce
  3. Skontrolujte logy e-mailov z hľadiska chýb odosielania
  1. Skontrolujte, či bola objednávka úspešne odoslaná (nie zrušená)
  2. Overte históriu transakcií karty v administračnom paneli
  3. Skontrolujte logy z hľadiska chýb PHP
Táto stránka má výlučne informačný charakter a nepredstavuje právne poradenstvo. Pred nasadením sa poraďte s právnikom. Polski for WooCommerce je open source softvér (GPLv2) dodávaný bez záruky.