The module adds Web Push notifications to OpenCart 3 without third-party services: subscription on the storefront through its own Service Worker and VAPID, storage of subscriptions in the store database, manual distribution from the admin panel and automatic notifications on store events. Suitable for online stores where it is important to return customers: order status, promotions, new items, product arrivals. Features
Subscribe to notifications on the storefront (HTTPS), pop-up window with flexible settings:
position (bottom/top/center/corners), colors(palette), button texts, display delay
close button and repeat display after a specified time
separate text for iPhone (Safari) with instructions
VAPID keys: generation in the admin panel, storage in the module settings
Newsletter from the admin panel:
dispatchall subscribers, by customer group, or specific Customer ID
mailing statistics: sent/errors/clicks, detailed logs with HTTP statuses and reasons
Auto-notifications:
when order status changes (for the buyer)
“product arrival” (button on the product page when it is unavailable)
Self-cleaning: subscriptions with endpoint errors (HTTP 404/410) are automatically converted to inactive
Selecting a notification icon through the built-in OpenCart image manager
OpenCart compatibility
OpenCart 3.x (3.0.x branch), main assemblies:
OpenCart.pro /Russian assemblies based on 3.0.x
OcStore 3.x (subject to standard admin/catalog and events structure)
Store requirements:
the storefront must work using HTTPS (otherwise browsers will not allow you to subscribe to Web Push)
CompatibilityPHP
Working version: PHP 7.4 (checked against the requirements of the Web Push sending library used)
Also generally compatible with PHP 8.0 - 8.2 (if configured correctly hosting)
Required: enabled extension OpenSSL (for VAPID and push encryption)
Restrictionsplatforms (honestly)
The system “Unsubscribe” button in a notification cannot be hidden - this is a browser interface.
iOS: Web Push works on iPhone/iPad only when adding a site to the Home screen (iOS 16.4+), which is an Apple limitation.