
Romania Couriers for OpenCart — FAN Courier, Sameday and Cargus: door delivery and parcel lockers
FAN Courier, Sameday and Cargus in one shipping module for OpenCart 4, 3 and 2.3 stores in Romania: delivery to the door and to pickup points (FANbox, easybox, Cargus Ship & Go), point selection on the stock checkout and on One Page Checkout, AWBs, labels, tracking and cash on delivery. Pro — live courier tariff, automatic and bulk AWBs.
- Compatibility
- OpenCart 4.0.2.0+ and 4.1.x (tested on 4.1.0.3 and 4.0.2.3) · OpenCart 3.x (tested on 3.0.5.0) · OpenCart 2.3.0.2 · PHP 7.0+ (tested on 7.0, 8.2 and 8.3) · stock checkout and CatCode One Page Checkout
- Version
-
v1.0.2 (OpenCart 4)
v1.0.2 (OpenCart 3.x)
v1.0.2 (OpenCart 2.3) - Licence
- one site, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- September 2026
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 — one site
Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. If our server is unreachable, Pro keeps working for 14 more days. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
OpenCart 4.0.2.0+ and 4.1.x (tested on 4.1.0.3 and 4.0.2.3), 3.x (tested on 3.0.5.0) or 2.3.0.2.
PHP 7.0+ — whatever your OpenCart version needs (tested on 7.0, 8.2 and 8.3). The cURL extension; ZipArchive for bulk label printing across several couriers.
Courier accounts: FAN Courier (selfAWB), Sameday (eAWB API), Cargus (UrgentOnlineAPI + WebExpress). Switch on one, two or all three.
Buyer’s phone at checkout — all three couriers require it.
RON currency in the store with a current rate — for the live tariff and cash on delivery.
Cron: on OpenCart 4 — the built-in scheduler (System → Maintenance → Cron Jobs) or the cron URL; on OpenCart 3 and 2.3 — the cron URL from the settings once an hour. Without cron, points are refreshed with the button.
Product weight — products without a weight use the default weight from the settings; the parcel size for lockers is set there too.
Module languages: English and Romanian.
Version history
OpenCart 4 on the PDO database driver.
OpenCart 3 and 2.3 with CatCode One Page Checkout.
For OpenCart 4.x, 3.x and 2.3: FAN Courier + FANbox, Sameday + easybox, Cargus + Ship & Go; point selection on the stock checkout and on CatCode One Page Checkout; AWBs, labels, tracking,…
Frequently bought with Romania Couriers 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

Telegram notifications and Viber/SMS for customers for OpenCart
Full module description
Romania Couriers for OpenCart is a shipping module for stores in Romania on OpenCart 4, 3 and 2.3. The country’s three largest couriers in one extension: FAN Courier with FANbox lockers, Sameday with easybox lockers and PUDO points, Cargus with its Ship & Go network. The buyer picks door or pickup-point delivery right at checkout, and the manager creates the AWB, prints the label and sees the parcel status on the order page without opening the couriers’ portals.
What you need. A business account with every courier you switch on: FAN Courier — client ID, user name and password of selfAWB; Sameday — an eAWB API user; Cargus — an UrgentOnlineAPI subscription key and a WebExpress account. Honestly about testing: FAN Courier was tested live on the public FAN Courier test account; Sameday and Cargus against the official specification of their APIs on a test server, because these couriers give test access to customers only. Try it on your own accounts in the 7-day Pro trial — if a courier answers differently from its documentation, we fix it fast.
What the buyer sees
The buyer sees the methods of every courier you switched on, with prices. Once they choose a pickup-point method, the point panel appears under it: the list starts with the points of their city, and search works by city, street or point name. Switch to door delivery and the panel goes away, while their address stays their own: the module never writes the locker address into the buyer’s fields. Each courier keeps its own chosen point, so switching between FANbox and easybox mixes nothing up.
Try to check out with a pickup-point method and no point, and the server refuses with an explanation (“Please choose a FANbox pickup point.”). On OpenCart 4 that is the payment and confirm step, on OpenCart 3 and 2.3 already the shipping step. While no point is chosen, the order confirmation block on the page is held with a note that the point is missing. A point chosen earlier never ends up in an order with another shipping method. For a Cargus Ship & Go point that does not take cash on delivery, the module refuses cash on delivery.
What the admin gets
Settings — Extensions → Extensions → Shipping → Romania Couriers. There are four settings tabs (methods, three couriers) plus Shipments, Automation and Licence.
- Six methods in one shipping extension: FAN Courier and FANbox, Sameday and easybox, Cargus and Cargus Ship & Go. Shown for Romanian addresses only (and, if you like, only in a chosen geo zone).
- Method price — fixed, in the store’s default currency, free from a products subtotal, a free-shipping coupon works as usual, weight limit per method.
- Currency. Courier tariffs and cash on delivery are in lei. If the store has no RON currency, the settings page warns you: without it amounts are taken 1:1.
- Courier points in your database. The Download … points button pulls each courier’s points (FAN Courier — over 3,200 FANbox lockers), after that the cron refreshes them daily. The buyer searches your database instead of waiting for the courier API.
- Save and check the connection checks the account and, for Sameday and Cargus, fills in your pickup locations and services by itself.
- Passwords and keys are stored encrypted in the database and never reach the HTML of the settings page.
- Phone. All three couriers need the buyer’s phone. OpenCart 4 does not ask for it by default — the module warns you and turns on Telephone display and Telephone required in one click.
- The Romania Couriers panel on the order page: weight, number of parcels (more than one is Pro), cash on delivery in RON for the payment methods you marked, AWB creation.
- PDF label A4 or A6 / 10×14 cm (FAN Courier prints A6 only for AWBs with ePOD), status refresh and cancel — buttons in the same panel.
- Change the point by hand if the buyer asks — by point ID.
- AWBs for any order: even if the buyer chose another shipping method, you pick the courier in the panel.
- An order without a phone gets a phone field in the panel: it is saved to the order together with the AWB.
- For the buyer — an e-mail with the AWB number and a link to the courier’s tracking, and a line in the order history of their account.
- AWB list in the Sales menu: orders with courier, point and AWB state, Without AWB and On the way filters.
- Pro: bulk actions — create AWBs for the ticked orders, print all labels at once (one PDF or a ZIP), refresh statuses.
- Pro: automation — the AWB is created by itself when the order reaches the status you choose; AWB states are checked every hour, changes go to the order history, and a delivered order can get the status you choose.
How it works — step by step
- Setup. Accounts of the couriers you need, Save and check the connection, point download, then methods and prices on the Delivery methods tab.
- Checkout. A buyer with a Romanian address sees the methods of the couriers you switched on. For a pickup point they pick the point in the panel; with Pro the price comes from the courier tariff and is recalculated after the point and the payment method (cash on delivery) are chosen.
- Server-side check. For a pickup-point method, checkout without a point does not go through. For a Cargus Ship & Go point without cash on delivery, an order with cash on delivery does not go through either.
- Order. The point is written to the order on the server only if the shipping method is that courier’s pickup-point method: the order’s shipping address becomes the point’s address. The buyer’s address book stays theirs.
- AWB. The manager creates the AWB on the order page (with Pro — automatically on a chosen status or in bulk from the list) and prints the label. The buyer gets an e-mail with tracking.
- Status. The Refresh status button asks the courier; with Pro statuses sync hourly — by the OpenCart 4 cron or the cron URL from the settings.
- Cancel. An AWB the courier has not picked up yet is cancelled from the order page.
Under the hood
- The point lives on the server only. The picker JavaScript never reads or writes the buyer’s address fields. The point goes to the session separately for each courier (only its ID; the data comes from the module’s table), and to the order only if the shipping method is that courier’s pickup-point method; otherwise the link is removed.
- The no-point check sits on saving the payment method and on confirm in OpenCart 4; on the shipping, payment and confirm step events in OpenCart 3; on the same steps through a modification (install.xml) that the module registers by itself in OpenCart 2.3.
- A live tariff without surprises (Pro). If the courier answers with zero, an error or not within a few seconds, the method shows your fixed price, not “free”. A pickup-point method does not ask for a tariff before a point is chosen.
- One library for three builds, PHP 7.0-compatible code. Own tables for points, order links, AWBs and service data.
- Passwords and keys — AES-256-CBC with HMAC, no XOR.
- A Pro gate that does not brick anything: when the trial ends only the Pro features stop, delivery and AWBs keep working.
- Uninstall removes the events and cron jobs; the module’s tables and a copy of the settings stay for a reinstall.
How to install
- OpenCart 4: Extensions → Installer → upload
cc_rocourier.ocmod.zip(do not rename the archive) and press Install. OpenCart 3: Extensions → Installer →cc_rocourier-oc3.ocmod.zip, then Extensions → Modifications → Refresh. OpenCart 2.3: upload the contents of theupload/folder fromcc_rocourier-oc2.ocmod.zipto the store root (FTP or the host’s file manager) — the 2.3 Installer does not copy files without FTP set up. - Extensions → Extensions → Shipping → Romania Couriers → Install, then Edit.
- OpenCart 2.3: Extensions → Modifications → Refresh. The module registers its modification by itself, and the settings page shows a yellow reminder until Refresh is pressed — without it the checkout point check does not work.
- Fill in the account of each courier you switch on, press Save and check the connection and Download … points.
- On the Delivery methods tab switch on the methods you need and set prices, the free-shipping threshold and the weight limit.
- Place a test order to a pickup point and create an AWB from the order page.
- For Pro: paste the licence key from the e-mail after payment or press Try Pro free for 7 days on the Licence tab. For OpenCart 3 and 2.3 add the cron URL from the Automation tab to the host’s cron, once an hour.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Do I need contracts with the couriers?
Yes, a business account with every courier you switch on: FAN Courier — client ID, user name and password of selfAWB; Sameday — an eAWB API user; Cargus — an UrgentOnlineAPI subscription key from the developer portal and a WebExpress account. Couriers can be switched on one by one.
Which accounts was the module tested with?
FAN Courier — live on the public FAN Courier test account: points, tariff, AWBs to the door and to a FANbox, label, status, deletion. Sameday and Cargus were tested against the official specification of their APIs on a test server that answers the way they do; the module has not yet run on live accounts of these two couriers. Courier errors are shown in the courier's own words.
The pickup-point method does not show up at checkout.
It appears once the courier's points are downloaded (the Download … points button in the settings) and the buyer's address is in Romania. Check the method's weight limit and the geo zone as well.
The AWB fails with "The order has no phone number".
The couriers need the buyer's phone, and OpenCart 4 does not ask for it by default. The settings page has a button that switches on Telephone display and Telephone required; for an order already placed, type the phone in the AWB panel.
FAN Courier refuses a FANbox AWB with cash on delivery.
A FANbox takes cash on delivery by card only. FAN Courier has to enable card payment (mPOS) for your account; the module adds the option it needs by itself.
Is the licence yearly?
No. For OpenCart it is a one-time payment, a licence forever, and one licence covers all three builds: 4.x, 3.x and 2.3. Delivery methods, point selection, AWBs, labels, tracking and cash on delivery stay free with no time limit.
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
—