{"id":337180,"date":"2026-07-08T13:40:11","date_gmt":"2026-07-08T13:40:11","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/smartretur\/"},"modified":"2026-07-08T19:13:53","modified_gmt":"2026-07-08T19:13:53","slug":"returino-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/returino-for-woocommerce\/","author":23529027,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.10","stable_tag":"1.0.10","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Returino for WooCommerce","header_author":"Returino","header_description":"Brings a WooCommerce store into compliance with OUG 18\/2026: an accessible digital withdrawal\/return process, partial returns, and instant durable-medium (email) confirmations.","assets_banners_color":"1b6e5c","last_updated":"2026-07-08 19:13:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":50,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.10":{"tag":"1.0.10","author":"nord95","date":"2026-07-08 19:13:53"},"1.0.4":{"tag":"1.0.4","author":"nord95","date":"2026-07-08 13:39:49"},"1.0.6":{"tag":"1.0.6","author":"nord95","date":"2026-07-08 15:53:07"},"1.0.7":{"tag":"1.0.7","author":"nord95","date":"2026-07-08 16:04:23"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3600720,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3600720,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3600720,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3600720,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.10","1.0.4","1.0.6","1.0.7"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[14361,9682,55969,245590,286],"plugin_category":[45],"plugin_contributors":[270599],"plugin_business_model":[],"class_list":["post-337180","plugin","type-plugin","status-publish","hentry","plugin_tags-compliance","plugin_tags-refund","plugin_tags-returns","plugin_tags-withdrawal","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-nord95","plugin_committers-nord95"],"banners":{"banner":"https:\/\/ps.w.org\/returino-for-woocommerce\/assets\/banner-772x250.png?rev=3600720","banner_2x":"https:\/\/ps.w.org\/returino-for-woocommerce\/assets\/banner-1544x500.png?rev=3600720","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/returino-for-woocommerce\/assets\/icon-128x128.png?rev=3600720","icon_2x":"https:\/\/ps.w.org\/returino-for-woocommerce\/assets\/icon-256x256.png?rev=3600720","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Returino adds a complete withdrawal\/return flow to a WooCommerce store,\nin line with <strong>Romania's OUG 18\/2026<\/strong>:<\/p>\n\n<ul>\n<li>Public 2-step form (<code>[returino_return_form]<\/code>): order number + billing\nemail, then product selection (partial returns supported), IBAN, and a\nreturn reason.<\/li>\n<li>Strict server-side validation \u2014 returned products are re-derived from\nthe actual order, never trusted from client input; quantity is capped at\nwhat was actually purchased.<\/li>\n<li>Instant durable-medium confirmation \u2014 an email sent through\n  WC()-&gt;mailer(), inheriting the store's header\/footer, containing the\ncustomer's name, order number, exact products, and the exact date\/time\nof submission.<\/li>\n<li>A dedicated <strong>Returino<\/strong> admin menu (not buried under WooCommerce),\nlisting every return request with custom statuses\n(Pending\/Processing\/Completed\/Rejected) and full per-request details.<\/li>\n<li>Direct integration with the WooCommerce order screen (HPOS-compatible):\nany return request linked to an order shows up there, with its status\nand a link, plus an automatic order note on every status change.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WooCommerce active (declared explicitly via <code>Requires Plugins<\/code>).<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin (Plugins \u2192 Add New, or manual upload).<\/li>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Create a page (e.g. \"Product Return\") and add the shortcode\n   [returino_return_form] directly in the page content.<\/li>\n<li>Return requests appear under the <strong>Returino<\/strong> admin menu.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20should%20the%20shortcode%20be%20placed%20for%20it%20to%20work%20correctly%3F\"><h3>Where should the shortcode be placed for it to work correctly?<\/h3><\/dt>\n<dd><p>Directly in a page's content (Shortcode block or classic editor). Added\nvia a widget or page builder, the form may still render, but its\nstyles\/scripts won't be enqueued automatically.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20product%20from%20the%20order%20was%20later%20deleted%3F\"><h3>What happens if a product from the order was later deleted?<\/h3><\/dt>\n<dd><p>The form shows a placeholder image and the product name stored on the\norder line item \u2014 it doesn't depend on the product still existing in the\ncatalog.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Is it compatible with High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>Yes, explicit compatibility is declared; the order-screen meta box works\nwith both the custom order tables and classic post-based storage.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Added a server-side guard (wp_insert_post_data) so a return request can\nnever be saved with a status other than our own four, regardless of\nwhich admin UI path is used (Quick Edit, bulk edit, REST API, etc.) \u2014\nthe previous fix only covered the classic per-post editor.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Fixed a bug where opening\/saving a return request in wp-admin silently\nreset its status to \"Published\" (the classic edit screen didn't\nrecognize our custom statuses), making it disappear from the order\nscreen and the customer's My Account tab. The custom statuses are now\nregistered in that screen's status dropdown.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Small performance improvements.<\/li>\n<li>Added subtle Returino branding to the email footer and the form.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>IBAN is now only required for payment methods that can't be refunded\nautomatically (cash on delivery, bank transfer). Card\/wallet payments\nskip the IBAN field entirely, both in the form and in validation.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Track each confirmation email's delivery status (sent\/failed), captured\nvia wp_mail_failed, and show it on every return request in admin.<\/li>\n<li>\"Resend confirmation\" button \u2014 resends the exact original content, not\na rebuilt one.<\/li>\n<li>\"Send test email\" tool on the settings screen.<\/li>\n<li>Confirmation content is now saved in the database independent of email\ndelivery, and shown to the logged-in customer under My Account \u2192\n\"Cererile mele de retur\" \u2014 a durable-medium safety net that doesn't\ndepend on the email actually arriving.<\/li>\n<li>Dashboard\/list notice and an admin-menu count bubble for failed\nconfirmation emails, so failures surface without relying on email.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Renamed to Returino for WooCommerce to avoid confusion with an\nunrelated, unaffiliated existing company of the previous name.<\/li>\n<li>Replaced generic \"woo\"\/\"wc\" prefixes (namespace, constants, CPT slug,\nstatuses, shortcode tag) with a distinct \"returino\" prefix.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Removed the GitHub-based update checker in favor of native\nwordpress.org updates.<\/li>\n<li>Text domain aligned with the plugin slug.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Meta box on the WooCommerce order screen showing linked return requests.<\/li>\n<li>Automatic order note whenever a request's status changes.<\/li>\n<li>Explicit HPOS compatibility declaration.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: custom post type + statuses, 2-step front-end form,\nAJAX validation, confirmation email, admin meta box, Returino menu.<\/li>\n<\/ul>","raw_excerpt":"Brings a WooCommerce store into compliance with Romania&#039;s OUG 18\/2026: digital withdrawal, partial returns, durable-medium email confirmation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337180"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nord95"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337180"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337180"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337180"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337180"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337180"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}