Description
Returino adaugă magazinului tău WooCommerce un formular public de retur / cerere de retragere din contract, gândit pentru cerințele OUG 18/2026 privind dreptul de retragere al consumatorilor.
Clientul își identifică singur comanda (număr comandă + email de facturare), selectează exact produsele pe care vrea să le returneze — retur parțial, nu doar integral — și primește o confirmare pe email, pe suport durabil, cu detaliile exacte ale cererii.
Funcționalități principale:
- Formular public în 2 pași, fără să părăsească site-ul tău — nicio platformă externă, niciun cont necesar pentru client.
- Retur parțial: clientul alege exact ce produse și ce cantități returnează, nu tot coșul.
- Validare strictă pe server — produsele și cantitățile sunt reluate direct din comandă, nu din ce trimite browserul clientului.
- IBAN cerut doar când chiar e nevoie de el (ramburs, transfer bancar) — la plata cu cardul, banii se întorc automat pe card, fără să mai ceri IBAN.
- Motivul returului e opțional — clientul poate trimite cererea fără să completeze unul.
- Confirmare instantanee pe email, pe suport durabil, cu numele clientului, numărul comenzii, produsele exacte și data/ora exactă a cererii — utilă și pentru eventuale verificări ANPC.
- Meniu dedicat „Returino” în admin, cu toate cererile, statusuri (Pending/Processing/Completed/Rejected) și detalii complete per cerere.
- Integrare directă în ecranul comenzii din WooCommerce (compatibil HPOS) — vezi dintr-o privire dacă o comandă are cereri de retur asociate.
- Tab „Cererile mele de retur” în contul clientului (My Account), pentru clienții logați.
Pluginul te ajută să implementezi partea tehnică a cerințelor din OUG 18/2026 (formular, confirmare pe suport durabil, retur parțial) — nu constituie consultanță juridică și nu garantează, prin el însuși, conformitatea legală completă a magazinului tău. Recomandăm verificarea cerințelor exacte aplicabile afacerii tale.
In English
Returino adds a public 2-step withdrawal/return form to your WooCommerce store, built around Romania’s OUG 18/2026 consumer withdrawal-right requirements: partial returns, durable-medium email confirmation, strict server-side validation, and no external platform involved.
Requirements
- WooCommerce active (declared explicitly via
Requires Plugins).
Installation
- Instalează și activează pluginul (Plugins Add New, sau upload manual).
- Asigură-te că WooCommerce e instalat și activ.
- Creează o pagină (ex. „Retur produs”) și adaugă shortcode-ul
[returino_return_form]direct în conținutul paginii — nu printr-un widget sau page builder, altfel stilurile/scripturile nu se încarcă automat. - Cererile de retur apar în meniul Returino din admin.
FAQ
-
Unde trebuie pus shortcode-ul ca să funcționeze corect?
-
Direct în conținutul unei pagini (bloc Shortcode sau editor clasic). Adăugat prin widget sau page builder, formularul poate tot apărea, dar stilurile/scripturile nu se încarcă automat.
-
Motivul returului e obligatoriu?
-
Nu, e opțional. Clientul poate trimite cererea fără să completeze un motiv.
-
Cere IBAN de la toți clienții?
-
Nu. IBAN e cerut doar pentru comenzi plătite ramburs sau prin transfer bancar. La plata cu cardul, câmpul nici nu apare — rambursarea se face automat pe card.
-
Ce se întâmplă dacă un produs din comandă a fost șters ulterior?
-
Formularul afișează o imagine placeholder și numele produsului salvat pe linia comenzii — nu depinde de produsul mai existând în catalog.
-
E compatibil cu High-Performance Order Storage (HPOS)?
-
Da, compatibilitate declarată explicit; meta box-ul de pe ecranul comenzii funcționează atât cu tabelele custom de comenzi, cât și cu stocarea clasică bazată pe postări.
-
Site-ul e în spatele unui proxy/CDN (Cloudflare) și formularul se blochează pentru toți vizitatorii?
-
Limitarea de încercări la căutarea comenzii (10 căutări eșuate / 15 minute) se bazează implicit pe adresa IP a conexiunii (
REMOTE_ADDR). În spatele unui proxy invers sau CDN precum Cloudflare, această adresă poate fi cea a proxy-ului, nu a vizitatorului — caz în care toți vizitatorii ajung să împartă aceeași limită.Dacă site-ul tău chiar rulează în spatele unui astfel de proxy, poți suprascrie sursa IP-ului cu un filtru (ex. într-un plugin de site sau
functions.php):add_filter( 'returino_rate_limit_ip', function ( $ip, $server ) { return $server['HTTP_CF_CONNECTING_IP'] ?? $ip; }, 10, 2 );Folosește acest filtru doar dacă site-ul chiar e în spatele acelui proxy — altfel, orice vizitator îl poate ocoli trimițând el însuși acel antet.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Returino – Formular de retur for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Returino – Formular de retur for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.1
- Fixed the order-lookup rate limiter to key off a validated IP address
instead of trusting REMOTE_ADDR blindly — sites behind a reverse
proxy/CDN (e.g. Cloudflare) could otherwise have every visitor share
one throttling bucket, turning the anti-enumeration protection into an
accidental site-wide lockout. Added areturino_rate_limit_ipfilter
for sites that need to supply the real visitor IP (see FAQ). A
successful lookup now also clears that visitor’s failed-attempt count. - Renamed the wp_ajax_oug18_* AJAX action/nonce names to
wp_ajax_returino_* (code only, no stored data affected — the
oug18* post meta keys are unchanged).
1.1.0
- Renamed the plugin to “Returino – Formular de retur for WooCommerce”
(previously “Returino for WooCommerce”) for better discoverability
when searching in wp-admin. - The “Powered by Returino” credit on the public form is now opt-in and
disabled by default (Returino Settings) — previously it showed
automatically. Existing installs will stop showing it until enabled. - Added per-IP throttling on order lookup (max 10 failed attempts / 15
minutes) against order-number enumeration. - Unified the order-lookup error message so it no longer reveals whether
the order number or the email was the wrong part. - Renamed the internal “oug18-” prefix (markup/CSS/JS) to “returino-“.
1.0.10
- Added a server-side guard (wp_insert_post_data) so a return request can
never be saved with a status other than our own four, regardless of
which admin UI path is used (Quick Edit, bulk edit, REST API, etc.) —
the previous fix only covered the classic per-post editor.
1.0.9
- Fixed a bug where opening/saving a return request in wp-admin silently
reset its status to “Published” (the classic edit screen didn’t
recognize our custom statuses), making it disappear from the order
screen and the customer’s My Account tab. The custom statuses are now
registered in that screen’s status dropdown.
1.0.8
- Small performance improvements.
- Added subtle Returino branding to the email footer and the form.
1.0.7
- IBAN is now only required for payment methods that can’t be refunded
automatically (cash on delivery, bank transfer). Card/wallet payments
skip the IBAN field entirely, both in the form and in validation.
1.0.5
- Track each confirmation email’s delivery status (sent/failed), captured
via wp_mail_failed, and show it on every return request in admin. - “Resend confirmation” button — resends the exact original content, not
a rebuilt one. - “Send test email” tool on the settings screen.
- Confirmation content is now saved in the database independent of email
delivery, and shown to the logged-in customer under My Account
“Cererile mele de retur” — a durable-medium safety net that doesn’t
depend on the email actually arriving. - Dashboard/list notice and an admin-menu count bubble for failed
confirmation emails, so failures surface without relying on email.
1.0.4
- Renamed to Returino for WooCommerce to avoid confusion with an
unrelated, unaffiliated existing company of the previous name. - Replaced generic “woo”/”wc” prefixes (namespace, constants, CPT slug,
statuses, shortcode tag) with a distinct “returino” prefix.
1.0.2
- Removed the GitHub-based update checker in favor of native
wordpress.org updates. - Text domain aligned with the plugin slug.
1.0.1
- Meta box on the WooCommerce order screen showing linked return requests.
- Automatic order note whenever a request’s status changes.
- Explicit HPOS compatibility declaration.
1.0.0
- Initial release: custom post type + statuses, 2-step front-end form,
AJAX validation, confirmation email, admin meta box, Returino menu.
