Přeskočit na obsah

Pravo na odstoupeni od smlouvy

Smernice EU 2023/2673 zavadi nove povinnosti tykajici se prava na odstoupeni od smlouvy (od 19. cervna 2026). Plugin obsluhuje cely proces - formular zakaznika, potvrzeni e-mailem, produktove vylouceni a hooky pro vyvojare.

Spotrebitel muze odstoupit od smlouvy uzavrene na dalku do 14 dnu bez udani duvodu. Jako prodejce musite:

  1. Informovat spotrebitele o pravu na odstoupeni pred uzavrenim smlouvy
  2. Zpristupnit formular odstoupeni
  3. Potvrdit prijeti prohlaseni o odstoupeni
  4. Vratit platbu do 14 dnu od prijeti prohlaseni

Smernice 2023/2673 pridava pozadavek na digitalni proces podavani prohlaseni a automaticka potvrzeni.

Po aktivaci modulu se v Muj ucet > Objednavky objevi tlacitko “Odstoupit od smlouvy” u objednavek kvalifikujicich se pro vraceni. Tlacitko je viditelne 14 dnu od doruceni.

Tlacitka odstoupeni od smlouvy v panelu Muj ucet

Po kliknuti zakaznik vidi formular s poli:

  • Cislo objednavky (vyplneno automaticky)
  • Datum objednavky
  • Seznam produktu z objednavky (s moznosti vyberu, od kterych odstupuje)
  • Duvod odstoupeni (volitelny)
  • Kontaktni udaje zakaznika
  • Cislo bankovniho uctu pro vraceni

Po odeslani formulare system automaticky:

  1. Odesle zakaznikovi e-mail s potvrzenim prijeti prohlaseni
  2. Odesle administratorovi obchodu oznameni o novem hlaseni
  3. Zmeni stav hlaseni na “Cekajici”

Nasledne zpracujte hlaseni v panelu WooCommerce a oznacte jako ukoncene.

Nektere produkty nepodlehaji pravu na odstoupeni. Oznacte je jako vyloucene v zalozce Polski - Odstoupeni v editaci produktu.

Typicke vylouceni podle cl. 38 zakona o pravech spotrebitele:

  • Produkty vyrobene na zakazku nebo personalizovane
  • Produkty podlehajici rychle zkaze
  • Zapecetene produkty z hygienickych duvodu (po otevreni)
  • Zvukove/obrazove zaznamy v zapecetenem obalu (po otevreni)
  • Digitalni obsah dodany online (po zahajeni poskytovaání)
  • Tisk (deniky, periodika, casopisy)

U vylouceneho produktu se tlacitko “Odstoupit od smlouvy” nezobrazuje v panelu zakaznika.

Pouzijte shortcode [polski_withdrawal_form] pro zobrazeni formulare odstoupeni na libovolnem miste webu.

[polski_withdrawal_form]

Zobrazi formular pro prihlaseneho zakaznika. Zakaznik musi vybrat objednavku ze seznamu.

[polski_withdrawal_form order_id="789"]

Zobrazi formular predvyplneny udaji objednavky se zadanym ID. Plugin overi, ze prihlaseny uzivatel je vlastnikem objednavky.

Vytvorte stranku “Formular odstoupeni od smlouvy” a pridejte shortcode:

[polski_withdrawal_form]

V nastaveni (WooCommerce > Nastaveni > Polski > Odstoupeni) ukazte tuto stranku jako vychozi stranku formulare.

Vyvolan, kdyz zakaznik odesle formular odstoupeni.

/**
* @param int $withdrawal_id ID zgłoszenia odstąpienia.
* @param int $order_id ID zamówienia WooCommerce.
* @param array $form_data Dane z formularza.
*/
add_action('polski/withdrawal/requested', function (int $withdrawal_id, int $order_id, array $form_data): void {
// Priklad: odeslat oznameni do externiho CRM systemu
$crm_api = new MyCrmApi();
$crm_api->notify_withdrawal($order_id, $form_data['reason']);
}, 10, 3);

Vyvolan, kdyz administrator potvrdí prijeti hlaseni.

/**
* @param int $withdrawal_id ID zgłoszenia odstąpienia.
* @param int $order_id ID zamówienia WooCommerce.
*/
add_action('polski/withdrawal/confirmed', function (int $withdrawal_id, int $order_id): void {
// Priklad: zmenit stav objednavky
$order = wc_get_order($order_id);
if ($order) {
$order->update_status('withdrawal-confirmed', 'Odstąpienie potwierdzone.');
}
}, 10, 2);

Vyvolan, kdyz cely proces odstoupeni je dokoncen (vraceni zpracovano).

/**
* @param int $withdrawal_id ID zgłoszenia odstąpienia.
* @param int $order_id ID zamówienia WooCommerce.
* @param float $refund_amount Kwota zwrotu.
*/
add_action('polski/withdrawal/completed', function (int $withdrawal_id, int $order_id, float $refund_amount): void {
// Priklad: zaregistrovat vraceni v ucetnim systemu
do_action('my_accounting/register_refund', $order_id, $refund_amount);
}, 10, 3);

Filtr umoznujici programove urcit, zda se objednavka kvalifikuje pro odstoupeni.

/**
* @param bool $is_eligible Czy zamówienie kwalifikuje się do odstąpienia.
* @param WC_Order $order Obiekt zamówienia WooCommerce.
* @return bool
*/
add_filter('polski/withdrawal/eligible', function (bool $is_eligible, WC_Order $order): bool {
// Priklad: vyloucit objednavky z kategorie "sluzby"
foreach ($order->get_items() as $item) {
$product = $item->get_product();
if ($product && has_term('uslugi', 'product_cat', $product->get_id())) {
return false;
}
}
return $is_eligible;
}, 10, 2);

Filtr umoznujici zmenit obdobi pro odstoupeni (vychozi 14 dnu).

/**
* @param int $days Liczba dni na odstąpienie.
* @param WC_Order $order Obiekt zamówienia WooCommerce.
* @return int
*/
add_filter('polski/withdrawal/period_days', function (int $days, WC_Order $order): int {
// Priklad: prodlouzit obdobi na 30 dnu o Vanocich
$order_date = $order->get_date_created();
if ($order_date) {
$month = (int) $order_date->format('m');
if ($month === 12) {
return 30;
}
}
return $days;
}, 10, 2);

Filtr umoznujici upravit pole formulare odstoupeni.

/**
* @param array $fields Tablica pól formularza.
* @return array
*/
add_filter('polski/withdrawal/form_fields', function (array $fields): array {
// Priklad: pridat pole na preferovany zpusob vraceni
$fields['refund_method'] = [
'type' => 'select',
'label' => 'Preferowany sposób zwrotu',
'required' => true,
'options' => [
'bank_transfer' => 'Przelew bankowy',
'original' => 'Tym samym sposobem płatności',
],
];
return $fields;
}, 10, 1);

Hlaseni najdete v WooCommerce > Odstoupeni. Kazde hlaseni obsahuje:

  • Cislo objednavky a odkaz na objednavku
  • Datum odeslani formulare
  • Stav (cekajici, potvrzene, dokoncene, zamitnute)
  • Udaje zakaznika
  • Seznam produktu zahrnutych v odstoupeni
  • Duvod (pokud byl udan)

Muzete zmenit stav hlaseni, pridat poznamku nebo zpracovat vraceni primo z panelu.

Tlacitko “Odstoupit od smlouvy” se nezobrazuje Zkontrolujte, zda: (1) modul je aktivovan, (2) objednavka je ve stavu “Vyrizena”, (3) neuplynulo obdobi pro odstoupeni, (4) zadny produkt v objednavce neni vyloucen.

Zakaznik nedostava potvrzujici e-mail Zkontrolujte konfiguraci e-mailu WooCommerce v WooCommerce > Nastaveni > E-maily a ujistete se, ze sablona “Potvrzeni odstoupeni” je aktivovana.

Tato stránka slouží pouze k informačním účelům a nepředstavuje právní poradenství. Před implementací se poraďte s právníkem. Polski for WooCommerce je open source software (GPLv2) poskytovaný bez záruky.