
Telegram notifications and Viber/SMS for customers for OpenCart
OpenCart order notifications in your Telegram — free. Pro: Viber and SMS messages to customers about order status through TurboSMS, Alpha SMS, or SMS-Fly.
- Compatibility
- OpenCart 4.0.2 – 4.1.x and 3.0.2 – 3.0.5.0 (Viber/SMS since 1.1.0); OpenCart 2.3.0.x — Telegram only, 1.0.4
- PHP
- 7.4 or newer
- Version
-
v1.1.2 (OpenCart 4)
v1.1.3 (OpenCart 3.x)
v1.0.5 (OpenCart 2.3) - Licence
- two sites, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- 26 October 2026
The module in action — 41 sec
Clear even without sound: Ukrainian subtitles
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
What it looks like

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — two sites
Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
OpenCart 4.0.2 – 4.1.x or 3.0.2 – 3.0.5.0; PHP 7.4+ with cURL
OpenCart 2.3.0.x — a separate build, 1.0.4, Telegram notifications only (tested on PHP 5.6 and 7.0)
Viber / SMS to customers — in the OpenCart 4.x and 3.0.x builds, from version 1.1.0
For Viber / SMS: a TurboSMS, Alpha SMS, or SMS-Fly account with a registered sender name (for Viber, an approved sender)
The “Telephone” field must be enabled at checkout — without a number there’s nowhere to message the customer
Outbound access to api.telegram.org and to the API of the chosen SMS service
Version history
Messages are no longer lost on hosts whose web PHP is built without sodium (OpenCart 4) or openssl (OpenCart 3 and 2.3).
Fixed the status change message: the previous status is now read from the order right before the change.
Pro: Viber and SMS messages to customers about order status through TurboSMS, Alpha SMS, or SMS-Fly.
All versions (7)
Scheduled resending of failed messages, low-stock notifications no more than once per product per day.
PHP 7.4 support (string function polyfills).
Fixed: on OpenCart 4.0.2.x notifications weren’t sent because the model event name format differs between minor versions.
New orders, status changes, and low stock in Telegram; custom templates, multiple chats and forum-group topics, silent mode, log, retry, encrypted token.
Frequently bought with Telegram notifications and Viber/SMS for customers for OpenCart
4 modules in one order — 40% cheaper than separately


Nova Poshta Premium — a Nova Poshta module for OpenCart 2.3, 3.x and 4.x

LiqPay — Card Payments for OpenCart 2.3, 3.x and 4.x

Abandoned Cart Recovery for OpenCart 2.3, 3.x and 4.x
Full module description
The module does two things. It sends your OpenCart store events to you in Telegram — a new order, a status change, a product’s stock dropping. And, since version 1.1.0, it messages the customer on Viber or by SMS when their order changes status: “received”, “shipped, tracking number 2045…”, “cancelled”.
Telegram notifications for you stay free, as before. Viber and SMS messages to customers are a Pro feature: they go through your own TurboSMS, Alpha SMS, or SMS-Fly account, and the first 7 days of Pro unlock with a button in the module settings, no payment needed.
What the customer sees
The customer checks out as usual, with nothing extra to fill in — the module uses the phone number they already enter at checkout. As soon as a manager moves the order to a status you enabled messages for, the customer gets a short Viber message from your store’s name. If the number has no Viber or the message isn’t delivered, the service sends the same text by SMS on its own.
- Processing: “My Store: Olena, order #64 received, total 1,250 UAH. Thank you!”
- Shipped: “My Store: order #64 has been shipped. Tracking number: 20450000000000” — the module takes the tracking number from the comment the manager adds along with the status change.
Each status is sent to a customer only once: if the order is moved back to “Processing” and forward again, or the manager clicks “Add history” twice, there won’t be a second paid message.
How it works, step by step
- A manager changes the order status in the admin panel (or a payment module moves it automatically) — OpenCart fires the order history event.
- The module checks whether messages are enabled for that status, whether Pro is active, and whether this customer has already been sent this status.
- The phone number is normalised to the international E.164 format based on the order country:
093 123 45 67in an order from Ukraine becomes380931234567,+48 731 234 567becomes a Polish number, and a number without a code is read as a number from the order’s address country rather than guessed from the first digits. - The number’s country picks the SMS sender name and the Viber sender; the
*=line covers all other countries. - The text is built from your template:
{tracking_number}is the first 11–14 digit number in the status comment,{comment}is the comment itself. A line where every tag is empty is simply dropped. - First a “sending” line is written to the log — so a parallel save of the same status can’t cause a duplicate. Then the request goes to the service, and the log shows the message ID or the rejection reason.
Under the hood
- Three integrations built to the services’ official documentation: TurboSMS (
message/send.json, Viber+SMS hybrid), Alpha SMS (JSON protocol, typeviber+sms), SMS-Fly (REST API v2, channels["viber","sms"]). - The service key and the bot token are stored encrypted; the key field never displays the saved value.
- The licence and Viber/SMS settings live in a separate settings group — the regular “Save” on the Telegram tab doesn’t touch them, and vice versa.
- Customer messages work even when Telegram notifications are switched off: these are two independent parts of one module.
- A service error never breaks checkout or a status change in the admin panel — it’s only written to the log.
- Numbers in the log are masked (
+38093***4567). - In the OpenCart 3 build the database connection temporarily switches to
utf8mb4, so emoji in Telegram templates don’t turn into “?”.
Download
- For OpenCart 4.x —
cc_telegram.ocmod.zip, version 1.1.1 - For OpenCart 3.0.x —
cc_telegram-oc3-1.1.2.ocmod.zip, version 1.1.2 - For OpenCart 2.3.0.x —
cc_telegram-oc2-1.0.4.ocmod.zip, version 1.0.4, Telegram notifications only (no Viber / SMS)
How to install
- Admin panel → Extensions → Installer → “Upload” → choose the archive for your OpenCart version. You can update over the previous version — the Telegram settings are kept.
- In OpenCart 3: Extensions → Modifications → “Refresh”. OpenCart 4 doesn’t need this step.
- Extensions → Extensions → type “Modules” → “Telegram Order Notifications” → “Install” (if not installed yet), then “Edit”.
- For Telegram: paste the bot token from @BotFather, click “Find chat_id”, and send a test.
- For customers: the Viber / SMS to customers tab → “Start 7 days free”, or paste a purchased key.
- Pick the service, paste the API key, choose the channel and per-country sender names (
UA=MyStore,*=MyStore), tick the statuses and adjust the texts if needed. Click “Check key and balance”, then send a test to your own number.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
How much do the SMS and Viber messages themselves cost?
Your service's rates (TurboSMS, Alpha SMS, or SMS-Fly). The module takes no commission and doesn't sit between you and the service — requests go straight to it with your key.
The customer has no Viber — what do they get?
In "Viber, SMS if not delivered" mode the service sends an SMS with the same text on its own.
Where does the tracking number come from?
From the comment the manager adds along with the status change: the first 11–14 digit number fills the {tracking_number} tag.
What happens when the trial ends?
Customer messages stop, while Telegram notifications for you keep working. Once you buy a licence, Pro switches back on and the settings are kept.
Do I need any third-party service or subscription?
No. Your own bot sends messages straight to the Telegram API. There's no server of ours between your store and Telegram — we never see the orders or the token.
How much do Telegram notifications cost?
Nothing. There's no limit on the number of messages, chats, or orders — the only limits are Telegram's own (roughly 30 messages per second per bot).
How do I notify several managers?
Enter several IDs in the "Notification chats" field, one per line. You can mix a personal chat, group, and channel. For a specific topic in a forum group, add the topic number after a colon, e.g. -1001234567890:42.
The bot isn't posting to the group — what do I do?
Add the bot to the group and give it permission to send messages (for a channel, make it an admin). Then send any message in the group and click "Find chat_id": a group ID is always negative.
The message shows <b> tags instead of bold text.
That means the template contains a disallowed or unclosed tag. Telegram only understands <b>, <i>, <u>, <s>, <code>, <pre> and <a href>. Check the template and save it again.
Can I turn off the notification sound?
Yes, enable "Silent notifications" — Telegram will deliver them without a sound alert, though the message still appears in the chat.
What happens if Telegram is unreachable at the moment of the order?
The failed attempt is logged with a response code, and the module resends the message. The order itself isn't affected — checkout is never blocked.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—
