Ninawebs EU Withdrawal & Cancel Order Button for OpenCart 3.x.x.x
Ninawebs EU Withdrawal & Cancel Order Button adds a practical cancellation and withdrawal request workflow to OpenCart 3 stores.
It allows customers to send cancellation or withdrawal requests directly from their order page, while giving the store owner clear admin tools to review and manage each request.
The module is designed for real shop workflows. It supports both registered customers and guest customers, and keeps refunds, stock handling, payment cancellation, and legal decisions under store owner control.
Main Features
Adds a cancellation / withdrawal action to eligible customer orders
Supports logged-in customer orders
Supports guest orders through secure order access links
Separate customer account page for cancellation and withdrawal requests
Shows available orders and existing request statuses to the customer
Customer request form with order details, products, totals, and addresses
Optional reason dropdown
Optional customer comment field
Duplicate open-request prevention
Customer confirmation page after request submission
Customer email acknowledgement after submission
Merchant/admin notification email for new requests
Pre-Dispatch Cancellation
The module can be configured to allow cancellation requests for selected OpenCart order statuses. This is useful for orders that have not yet been collected, packed, or shipped.
For example, the store owner can allow cancellation while the order is still in a status such as Processed.
The module can also automatically move eligible pre-dispatch cancellation requests to a selected OpenCart order status, such as Customer Cancelled. This helps prevent fulfilment staff from accidentally packing or shipping an order after the customer has requested cancellation.
The module does not automatically refund, restock products, void payments, or perform accounting operations.
Withdrawal / Return Request Handling
For orders that are already shipped, delivered, or otherwise past the normal pre-dispatch stage, the module can show a withdrawal / return request option instead.
The store owner can configure which order statuses allow withdrawal requests and which statuses should hide the action. This gives the merchant control over how the module fits into their own order workflow.
The module helps implement an EU-style withdrawal request workflow, but it does not make legal eligibility decisions automatically. The final review remains with the merchant.
Guest Order Support
Guest customers do not need to register an account to use the request workflow.
The module can add a secure guest order link to the order confirmation email. The guest link opens a dedicated guest order page for that order only. From there, the guest customer can view the order details and submit a cancellation or withdrawal request when the order is eligible.
Secure selector + token links
Raw guest tokens are not stored
Tokens are verified using password hash validation
Guest links can expire after a configurable number of days
Guest link usage is tracked
Older active links for the same order are deactivated when a new one is created
Admin Request Management
The module includes a separate admin request list for cancellation and withdrawal requests. Open requests can be reviewed, filtered, updated, and closed from the OpenCart admin area.
Admin request list
Request detail page
Filter by order ID, request type, and request status
View customer, order, reason, comment, request type, and request status
Add internal admin comments
Update request status
Optionally notify customer when status changes
Request history with status changes, comments, notification flag, date, and admin user
Admin top-bar alert for unresolved requests
Request Statuses
The module uses a simple request workflow:
Submitted
Accepted
Rejected
Awaiting return
Completed
Cancelled by admin
Configurable Settings
Enable or disable the module
Enable or disable guest order links
Set guest link expiry days
Select order statuses that allow pre-dispatch cancellation
Select order statuses that hide pre-dispatch cancellation
Select order statuses that allow withdrawal / return requests
Select order statuses that hide withdrawal actions
Enable or disable manual-review fallback
Enable or disable duplicate open-request prevention
Enable or disable customer comments
Require a reason for pre-dispatch cancellations
Enable customer confirmation emails
Enable merchant notification emails
Set merchant notification email address
Enable troubleshooting logging
Email Features
Customer acknowledgement after request submission
Merchant/admin notification for new requests
Customer status update email when admin updates the request and chooses to notify the customer
Guest order link in order confirmation email
Registered customer order link in order confirmation email
Translatable email text
Security Features
CSRF protection on request forms
Secure guest order access links
Raw guest tokens are not stored
Guest token validation uses password hashing
Guest links are scoped to one order only
Logged-in customers can only access their own orders
Duplicate open-request prevention
Race-condition protection during request creation
Customer and admin comments are escaped in templates
Request records are preserved on uninstall to avoid accidental loss of audit history
Compatibility
Built for OpenCart 3.0.x.x
PHP 7.4+ compatible
No PHP 8-only syntax
Default OpenCart theme supported
Journal 3 compatibility additions included for common account menu/sidebar patterns
Customer pages follow standard OpenCart account layout patterns
Language Support
English language files included
Finnish customer-facing language files included
Admin setting help text is stored in language files for translation
Email text is stored in language files for translation
What This Module Does Not Do
Does not automatically refund orders
Does not restock products
Does not cancel or void payments
Does not make legal eligibility decisions automatically
Does not replace your store terms, refund policy, or legal review
Does not automatically track actual delivery date
[*] Does not provide product-level partial return handling
Recommended Use
Use this module when you want a clear and controlled way to receive cancellation and withdrawal requests from customers.
It is especially useful for EU-facing OpenCart stores that want to provide a visible electronic request workflow while still keeping the final handling, refunding, and order processing under admin control.
Ninawebs - Practical OpenCart extensions for real store workflows.
Login and write down your comment.
Login my OpenCart Account