Page title: Gumb za raskid ugovora za web shopove: što vlasnici WooCommerce trgovina trebaju znati? | Savjeti za izradu web shopova | Medialive

> Što znači gumb za raskid ugovora za web shopove i kako ga dodati u WooCommerce. Plugin s obrascem, e-mail potvrdom i admin evidencijom.

Source: https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/gumb-za-raskid-ugovora-za-web-shopove-sto-vlasnici-woocommerce-trgovina-trebaju-znati

Savjeti za izradu web shopova 09.06.2026. Vjeko

# Gumb za raskid ugovora za web shopove: što vlasnici WooCommerce trgovina trebaju znati?

Što znači gumb za raskid ugovora za web shopove i kako ga dodati u WooCommerce. Plugin s obrascem, e-mail potvrdom i admin evidencijom.

![Gumb za raskid ugovora za web shopove: što vlasnici WooCommerce trgovina trebaju znati?](https://www.medialive.hr/images/blog/medialive_blog_woocommerce-raskid-ugovora-plugin.webp)
Ako imate web shop, vjerojatno ste već čuli da se uvodi nova obveza vezana uz jednostrani raskid ugovora kod online kupnje. Ukratko: kupcu treba omogućiti jednostavan elektronički način da pošalje zahtjev za raskid ugovora, bez traženja skrivenih obrazaca, slanja nejasnih e-mailova ili lutanja po uvjetima poslovanja.

Za vlasnike WooCommerce trgovina to znači da će se na web shopu trebati jasnije prikazati funkcija za raskid ugovora — najčešće kao gumb, link ili posebna stranica s obrascem.

**Važno:** ovaj članak nije pravni savjet. Cilj je objasniti što se tehnički mijenja za web shopove i kako se WooCommerce trgovine mogu pripremiti. Za konačnu pravnu usklađenost uvjete poslovanja i politiku povrata treba uskladiti s konkretnim poslovanjem trgovca.

## Što je “gumb za raskid ugovora”?

Kod online kupnje kupac već ima pravo na jednostrani raskid ugovora u zakonskom roku, uz određene iznimke. Novo pravilo ide u smjeru toga da taj postupak bude jednostavniji i jasniji: ako kupac može naručiti proizvod online, mora imati i jednostavan elektronički način da pošalje zahtjev za raskid ugovora.

To ne znači da trgovac automatski mora odobriti svaki zahtjev bez provjere. Plugin ili obrazac služe za zaprimanje zahtjeva, dok trgovac i dalje obrađuje povrat prema svojim uvjetima poslovanja, statusu narudžbe, vrsti proizvoda i važećim pravilima.

## Zašto obična kontakt forma nije najbolje rješenje?

Kontakt forma je korisna za opće upite, ali kod raskida ugovora problem je što kupac često ne zna koje podatke mora poslati. Netko napiše samo “želim vratiti proizvod”, netko zaboravi broj narudžbe, netko pošalje poruku s druge e-mail adrese, a trgovac onda mora ručno tražiti podatke i odgovarati na dodatna pitanja.

Bolje rješenje je poseban obrazac koji odmah traži osnovne podatke:

- broj narudžbe,
- e-mail adresu kupca,
- podatke o proizvodima iz narudžbe,
- eventualnu napomenu kupca,
- potvrdu da kupac želi poslati zahtjev za raskid ugovora.

Tako kupac zna što treba ispuniti, a trgovac odmah dobiva uredan i pregledan zahtjev.

## Što bi WooCommerce web shop trebao imati?

Za praktičnu provedbu na WooCommerce web shopu dobro je imati nekoliko osnovnih funkcija:

- **javni obrazac** za slanje zahtjeva za raskid ugovora,
- **gumb ili link** koji je kupcu lako dostupan,
- **mogućnost slanja zahtjeva bez prijave** u korisnički račun,
- **potvrdu kupcu e-mailom** nakon uspješnog slanja zahtjeva,
- **obavijest trgovcu** o novom zahtjevu,
- **evidenciju zahtjeva** u administraciji web shopa.

Kod trgovina koje imaju puno narudžbi posebno je korisno da se zahtjevi ne gube po inboxu, nego da postoji pregled u WordPress administraciji.

## Rok od 14 dana: od narudžbe ili od isporuke?

Ovo je važan detalj koji se često pogrešno shvaća. Kod robe se rok za jednostrani raskid u pravilu računa od dana kada je kupac primio robu, a ne od dana kada je napravio narudžbu.

U praksi mnogi web shopovi nemaju direktnu integraciju s dostavnim službama i ne znaju automatski točan datum isporuke. Zato tehničko rješenje treba biti fleksibilno: idealno je omogućiti unos datuma isporuke u narudžbu, a ako datum nije poznat, koristiti sigurnosnu logiku koja ne skriva mogućnost slanja zahtjeva prerano.

Drugim riječima, nije dobro da sustav automatski zaključa kupca nakon 14 dana od narudžbe ako je roba možda isporučena nekoliko dana kasnije.

## Besplatan plugin ili postavljeno rješenje?

Za WooCommerce trgovine pripremili smo besplatan plugin koji dodaje osnovnu funkciju za zaprimanje zahtjeva za jednostrani raskid ugovora.

Besplatan plugin može biti dobro rješenje za korisnike koji sami znaju instalirati WordPress plugin, dodati shortcode na stranicu, provjeriti e-mailove i testirati radi li sve ispravno na njihovom web shopu.

Međutim, mnogi vlasnici web shopova ne žele riskirati da nešto ne radi, da se obrazac ne prikazuje dobro na mobilnom uređaju, da e-mail potvrde ne odlaze kupcu ili da se plugin ne uklopi dobro u postojeću temu. U tom slučaju nije stvar samo u pluginu, nego u tome da rješenje bude instalirano, podešeno i testirano.

Zato nudimo dvije mogućnosti: plugin možete preuzeti besplatno i instalirati sami, ili možete naručiti instalaciju i osnovno podešavanje na vašem WooCommerce web shopu.

## Naš besplatni WooCommerce plugin za raskid ugovora

Plugin omogućuje osnovnu tehničku funkciju za zaprimanje zahtjeva za jednostrani raskid ugovora na WooCommerce web shopu.

Plugin omogućuje:

- javni obrazac za raskid ugovora,
- slanje zahtjeva bez prijave kupca,
- gumb u korisničkom računu kupca,
- e-mail potvrdu kupcu,
- e-mail obavijest administratoru,
- evidenciju zahtjeva u WordPress administraciji,
- shortcode za prikaz obrasca ili gumba,
- mogućnost korištenja datuma isporuke kod računanja dostupnosti zahtjeva.

**Napomena za besplatni plugin:** besplatni plugin isporučuje se “kakav jest” i namijenjen je korisnicima koji ga znaju samostalno instalirati, podesiti i testirati. Besplatno preuzimanje ne uključuje individualnu podršku, instalaciju, prilagodbu dizajna, rješavanje konflikata s temom ili drugim pluginovima, pravnu provjeru tekstova ni garanciju rada na svakoj custom WooCommerce instalaciji.

### Besplatan WooCommerce plugin za raskid ugovora

Dodajte gumb i obrazac za jednostrani raskid ugovora na svoj WooCommerce web shop.

**Plugin:** besplatno preuzimanje
**Instalacija i osnovno podešavanje:** 59 € + PDV

## Što uključuje besplatno preuzimanje?

Kod besplatnog preuzimanja dobivate ZIP datoteku plugina koju možete sami instalirati na svoj WordPress/WooCommerce web shop. Prije preuzimanja potrebno je upisati osnovne podatke kako bismo vam mogli poslati link za preuzimanje i, ako to označite, obavijesti o budućim nadogradnjama plugina.

Besplatno preuzimanje ne uključuje podršku, instalaciju, podešavanje, prilagodbe ni provjeru rada plugina na vašem web shopu. Ako znate sami instalirati WordPress pluginove, ovo je najbrži način da isprobate rješenje.

## Što uključuje paket s instalacijom?

Ako ne želite sami instalirati i podešavati plugin, možete naručiti instalaciju i osnovno podešavanje. U tom slučaju postavljamo plugin na postojeći WooCommerce web shop, kreiramo stranicu “Raskid ugovora”, dodajemo obrazac i radimo osnovno testiranje slanja zahtjeva.

Cijena instalacije iznosi **59 € + PDV** i odnosi se na standardne WooCommerce web shopove s uobičajenom WordPress/WooCommerce konfiguracijom.

Ako web shop koristi jako prilagođenu temu, custom checkout, posebne dorade WooCommerce narudžbi, višejezične sustave ili dodatne integracije, mogu biti potrebne dodatne prilagodbe koje se dogovaraju zasebno.

## Zašto nudimo plugin besplatno?

Razlog je jednostavan: želimo da se što više WooCommerce trgovina na vrijeme pripremi za novu obvezu i da vlasnici web shopova imaju dostupno jednostavno tehničko rješenje.

Besplatan plugin je dobar izbor za one koji žele sami isprobati rješenje. Za trgovce koji žele da sve bude postavljeno, provjereno i testirano, dostupna je usluga instalacije i osnovnog podešavanja.

## Treba li odmah paničariti?

Ne treba paničariti, ali nije dobro ni čekati zadnji trenutak. Kod web shopova se često dogodi da jednostavna promjena otkrije druge probleme: e-mailovi ne odlaze, tema loše prikazuje obrazac, cache skriva promjene, korisnički račun ima custom izmjene ili postoje posebni statusi narudžbi.

Zato je bolje riješiti tehnički dio na vrijeme, testirati ga i po potrebi uskladiti tekstove u uvjetima poslovanja.

## Zaključak

Gumb za raskid ugovora nije samo još jedan link u footeru. Za web shop je to dio korisničkog puta i dio uredne komunikacije s kupcem. Dobro postavljeno rješenje kupcu omogućuje jednostavno slanje zahtjeva, a trgovcu daje jasnu evidenciju i manje ručnog dopisivanja.

Ako koristite WooCommerce i želite jednostavno rješenje za zaprimanje zahtjeva za raskid ugovora, plugin možete preuzeti besplatno ili naručiti instalaciju i osnovno podešavanje.

## Česta pitanja

### Je li plugin stvarno besplatan?

Da. Plugin možete besplatno preuzeti i samostalno instalirati na svoj WooCommerce web shop.

### Uključuje li besplatni plugin podršku?

Ne. Besplatno preuzimanje ne uključuje individualnu podršku, instalaciju, prilagodbe, rješavanje konflikata s temom ili drugim pluginovima ni pravnu provjeru tekstova.

### Koliko košta instalacija?

Instalacija i osnovno podešavanje iznose 59 € + PDV za standardne WooCommerce web shopove.

### Radi li plugin automatski povrat novca?

Ne. Plugin služi za zaprimanje zahtjeva i evidenciju. Povrat novca i daljnju obradu zahtjeva i dalje radi trgovac.

### Može li kupac poslati zahtjev bez prijave?

Da. Plugin podržava javni obrazac u koji kupac može upisati broj narudžbe i e-mail adresu.

### Zamjenjuje li plugin uvjete poslovanja?

Ne. Plugin je tehničko rješenje. Uvjete poslovanja, politiku povrata i pravne tekstove potrebno je uskladiti s konkretnim web shopom.

### Što ako moj web shop ima custom checkout ili posebne dorade?

Kod standardnih WooCommerce shopova instalacija je jednostavna. Ako web shop ima posebne dorade, višejezičnost, custom checkout ili neuobičajene statuse narudžbi, možda će trebati dodatna prilagodba koja se dogovara zasebno.

### Kako ću dobivati informacije o nadogradnjama?

Prilikom preuzimanja plugina možete označiti da želite primati obavijesti o novim verzijama i nadogradnjama plugina. Te obavijesti šaljemo putem e-maila.

Želite bolji web?

## Razgovarajmo o vašem projektu.

Javite nam što želite postići, a mi ćemo predložiti realno i održivo web rješenje.

---

Ova Markdown verzija namijenjena je AI agentima i alatima za čitanje sadržaja.
<style id="ml-newsletter-popup-css">
.mlnp{position:fixed;z-index:99990;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18171c}.mlnp *{box-sizing:border-box}.mlnp[hidden]{display:none!important}.mlnp__box{background:#fff;border:1px solid rgba(24,23,28,.10);box-shadow:0 24px 80px rgba(24,23,28,.18);border-radius:24px;overflow:hidden}.mlnp__inner{padding:26px}.mlnp__eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5A41BF;margin-bottom:10px}.mlnp__title{font-size:24px;line-height:1.15;margin:0 0 10px;font-weight:850}.mlnp__text{font-size:15px;line-height:1.55;color:#5e5d64;margin:0 0 18px}.mlnp form{display:grid;gap:10px}.mlnp label{font-size:13px;font-weight:750}.mlnp input{width:100%;border:1px solid #d9d9db;border-radius:12px;padding:12px 13px;font-size:15px;background:#fff}.mlnp button{border:0;border-radius:12px;padding:12px 16px;font-weight:850;cursor:pointer}.mlnp__submit{background:#5A41BF;color:#fff}.mlnp__close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:999px;background:rgba(24,23,28,.06);color:#18171c;font-size:20px;line-height:1}.mlnp__note{font-size:12px;color:#74727a;line-height:1.45;margin:10px 0 0}.mlnp__success{display:none;padding:18px;border-radius:16px;background:#f1f7f2;border:1px solid #cfe8d2;color:#244629;font-weight:700}.mlnp.is-success form,.mlnp.is-success .mlnp__text,.mlnp.is-success .mlnp__note{display:none}.mlnp.is-success .mlnp__success{display:block}.mlnp--popup{inset:0;display:grid;place-items:center;background:rgba(24,23,28,.28);backdrop-filter:blur(5px);padding:20px}.mlnp--popup .mlnp__box{width:min(520px,100%)}.mlnp--slide{right:22px;bottom:22px;width:min(420px,calc(100vw - 44px))}.mlnp--corner_left,.mlnp--corner_left_minimal{left:22px;bottom:22px;width:min(390px,calc(100vw - 44px))}.mlnp--corner_left .mlnp__box,.mlnp--corner_left_minimal .mlnp__box{border-radius:20px;box-shadow:0 18px 54px rgba(24,23,28,.16)}.mlnp--corner_left .mlnp__inner{padding:22px}.mlnp--corner_left .mlnp__title{font-size:21px}.mlnp--corner_left .mlnp__text{font-size:14px}.mlnp--corner_left_minimal .mlnp__inner{padding:18px}.mlnp--corner_left_minimal .mlnp__eyebrow{display:none}.mlnp--corner_left_minimal .mlnp__title{font-size:18px;margin-right:32px}.mlnp--corner_left_minimal .mlnp__text{font-size:13px;margin-bottom:12px}.mlnp--corner_left_minimal form{grid-template-columns:1fr auto;align-items:end}.mlnp--corner_left_minimal form label{display:none}.mlnp--corner_left_minimal input[name="name"]{display:none}.mlnp--corner_left_minimal input[type="email"]{padding:11px 12px}.mlnp--corner_left_minimal .mlnp__submit{padding:11px 14px}.mlnp--corner_left_minimal .mlnp__note{display:none}.mlnp--bar{left:18px;right:18px;bottom:18px}.mlnp--bar .mlnp__inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:20px;align-items:center}.mlnp--bar .mlnp__title{font-size:20px}.mlnp--bar .mlnp__text{margin-bottom:0}@media(max-width:767px){.mlnp--hide-mobile{display:none!important}.mlnp--bar .mlnp__inner{grid-template-columns:1fr}.mlnp__inner{padding:22px}.mlnp__title{font-size:21px}.mlnp--slide,.mlnp--corner_left,.mlnp--corner_left_minimal{left:14px;right:14px;bottom:14px;width:calc(100vw - 28px)}.mlnp--corner_left_minimal form{grid-template-columns:1fr}}
</style>
<div id="ml-newsletter-popup" class="mlnp mlnp--corner_left" hidden data-delay="6000" data-frequency-days="14">
  <div class="mlnp__box" role="dialog" aria-modal="false" aria-labelledby="mlnp-title">
    <button class="mlnp__close" type="button" aria-label="Zatvori">×</button>
    <div class="mlnp__inner">
      <div>
        <div class="mlnp__eyebrow">Medialive newsletter</div>
        <h2 id="mlnp-title" class="mlnp__title">Želite korisne savjete za bolji web?</h2>
        <p class="mlnp__text">Povremeno šaljemo kratke i konkretne savjete o web stranicama, web shopovima, održavanju i online nastupu. Bez spama.</p>
      </div>
      <form method="post" action="/component/ml_newsletter">
        <label>Ime</label><input type="text" name="name" autocomplete="name" placeholder="Vaše ime">
        <label>Email</label><input type="email" name="email" required autocomplete="email" placeholder="vas@email.hr">
        <input type="hidden" name="task" value="subscribe"><input type="hidden" name="mlnp_popup" value="1"><input type="hidden" name="mlnp_ajax" value="1"><input type="hidden" name="source_url" value=""><div style="position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden" aria-hidden="true"><label>Website</label><input type="text" name="mln_hp" value="" tabindex="-1" autocomplete="off"></div><input type="hidden" name="mln_started_at" value="1781008496"><input type="hidden" name="f5acf3f49b453c6db9547301d6af1389" value="1">
        <button class="mlnp__submit" type="submit">Prijavi me</button>
      </form>
      <div class="mlnp__success">Hvala! Poslali smo vam email za potvrdu prijave.</div>
      <p class="mlnp__note">Prijavu potvrđujete klikom na link koji ćemo poslati na email. Odjava je moguća u svakom newsletteru.</p>
    </div>
  </div>
</div>
<script>
(function(){
  var el=document.getElementById('ml-newsletter-popup'); if(!el) return;
  var key='mlnp_closed_until_v1';
  var now=Date.now();
  var until=parseInt(localStorage.getItem(key)||'0',10);
  if(until && until>now) return;
  function closeBox(days){ var d=days || parseInt(el.getAttribute('data-frequency-days')||'14',10); localStorage.setItem(key, String(Date.now()+d*86400000)); el.setAttribute('hidden','hidden'); }
  var close=el.querySelector('.mlnp__close'); if(close) close.addEventListener('click', function(){ closeBox(); });
  el.addEventListener('click', function(e){ if(e.target===el && el.classList.contains('mlnp--popup')) closeBox(); });
  var delay=parseInt(el.getAttribute('data-delay')||'6000',10);
  setTimeout(function(){ el.removeAttribute('hidden'); }, delay);
  var form=el.querySelector('form');
  if(form){
    form.addEventListener('submit', function(e){
      e.preventDefault();
      var submit=form.querySelector('.mlnp__submit');
      var oldText=submit ? submit.textContent : '';
      var src=form.querySelector('input[name="source_url"]'); if(src) src.value=window.location.href;
      if(submit){ submit.disabled=true; submit.textContent='Šaljem...'; }
      var url=form.getAttribute('action') || window.location.href;
      url += (url.indexOf('?') === -1 ? '?' : '&') + 'format=json';
      fetch(url, { method:'POST', body:new FormData(form), credentials:'same-origin', headers:{'X-Requested-With':'XMLHttpRequest'} })
        .then(function(r){ return r.json(); })
        .then(function(data){
          if(data && data.ok){
            try{ localStorage.setItem(key, String(Date.now()+365*86400000)); }catch(err){}
            var success=el.querySelector('.mlnp__success');
            if(success && data.message){ success.textContent=data.message; }
            el.classList.add('is-success');
          } else {
            alert((data && data.message) ? data.message : 'Prijava nije uspjela. Pokušajte ponovno.');
          }
        })
        .catch(function(){ alert('Prijava nije uspjela. Pokušajte ponovno.'); })
        .finally(function(){ if(submit){ submit.disabled=false; submit.textContent=oldText; } });
    });
  }
})();
</script>