Everything you need to get the module running, keep it updated, and set it up for your store.
This module does not automatically refund orders, restock products, void payments, or make legal decisions. It provides the request workflow and admin tools so the merchant can review each case.
Go to Admin > Extensions > Installer and upload the extension file. Wait until OpenCart confirms the upload has completed.
Go to Admin > Extensions > Modifications and click Refresh, so OpenCart applies the OCMOD changes.
Go to Admin > Dashboard > Developer Settings and clear the theme, SASS, and modification caches. Buttons vary slightly by OpenCart version or theme.
Go to Admin > Extensions > Extensions > Modules, find Ninawebs EU Withdrawal & Cancel Button, and click Install.
Go to Admin > System > Users > User Groups, edit your administrator user group, and allow access/modify permissions for the module and its request management screen.
Enable the module, enable guest order links if you allow guest checkout, choose which order statuses allow or hide pre-dispatch cancellation and withdrawal/return requests, configure notification emails, then save. Open the Order Status Updates tab if you want to map an optional whole-order OpenCart status to each request status in advance; new and upgraded installs default every mapping to No order status change.
Customer Cancelled) under Admin > System > Localisation > Order Statuses to use as the automatic holding status for eligible pre-dispatch cancellations. This helps prevent staff from accidentally packing or shipping an order after a cancellation request.
The base module is theme-neutral and does not modify Journal templates directly. If your store runs Journal, the separately installable Journal 3 compatibility add-on is now available for the source-verified Journal 3.1.14, 3.1.15, 3.2.8, and 3.2.10 account-page patterns.
Complete the installation steps above before installing the add-on.
Go to Admin > Extensions > Installer and upload the Journal 3 compatibility .ocmod.zip.
Go to Admin > Extensions > Modifications and click Refresh, then clear the Journal and OpenCart theme caches.
Reopen the main module settings page. A new Journal Theme tab provides a best-effort switch for the Twig-based customer account-page link, a shortcut to the button editor, and step-by-step Journal placement instructions.
Footer link/button injection is intentionally not attempted, because Journal builds that area from database-managed rows, columns, and modules. Use Journal > Footer > Builder instead: Quick Edit the wanted Links Menu and add the public route as a Custom URL, or click + Add Module, open My Modules > OpenCart, and select the configured Ninawebs EU Withdrawal — Button instance. See the Footer Builder placement guide for a walkthrough with screenshots, or the Layout Builder placement guide if you'd rather place the button on the Account layout directly.
Create a full file and database backup before updating.
Go to Admin > Extensions > Installer and upload the new package. In most cases you do not need to remove the old uploaded package first.
Go to Admin > Extensions > Modifications and click Refresh.
Go to Admin > Dashboard > Developer Settings and clear the theme and modification caches.
Open the module settings page under Admin > Extensions > Extensions > Modules and click Save.
Click the "Refresh layouts and order statuses" button on the module settings page.
After updating, check:
Disable the module first under Admin > Extensions > Extensions > Modules, then uninstall it and refresh modifications. Request and audit history tables are preserved so existing records are not lost, but module settings (order statuses, notification email, the guest-link token secret) are reset, which can break guest links created before the uninstall. If you are updating rather than removing the module for good, use the Updating steps above instead of uninstalling first.