Shipping for OpenCart and ocStore

Branch, parcel locker or courier — in seconds

The customer enters a city and picks a branch from the list — by number, name or address. No typos and no extra fields: only the Nova Poshta directory.

  • OpenCart 3.x
  • ocStore 3
  • PHP 7.4 · 8.1 · 8.2
  • Ukrainian, English, Russian
Demo
2
Shipping method this is what the customer sees at checkout
Choose a city and a branch

Interactive example. In your store it is the real Nova Poshta directory: via the API or from your local database.

Order journey

From cart to shipment — without typing addresses by hand

  1. 1 Picks delivery

    Branch, parcel locker or courier — as ordinary shipping methods in the cart.

  2. 2 Types two letters

    Suggestions appear from the second letter — up to 30 options, without reloading the page.

  3. 3 Picks a branch

    The choice is saved at once — even if the checkout re-renders.

  4. 4 The server checks

    The branch belongs to the city and is open — otherwise the customer sees a hint.

  5. The manager ships

    City, branch or address — in the order card and in the comment.

Delivery options

The customer chooses how to get the parcel

Branch

Search by number, name or address. With many cities you can turn on a region filter.

  • Branches and pickup points — always
  • Drop-off points and warehouses — never: a parcel can’t be collected there

Parcel locker

Turned on with one switch in the settings — parcel lockers then appear in the same list, marked with their type.

  • A separate “Parcel locker” label in the list
  • Turn it off — the customer won’t see them

Courier to an address

A separate shipping method with its own title and price. You choose which address fields the customer sees.

  • House, apartment, floor
  • Delivery comment

Orders without the “wrong” branch

The city and branch are checked on the server before the order is created — data from the browser is not taken on trust.

  • The branch must belong to the chosen city
  • A temporarily closed branch won’t pass
  • The choice is saved instantly — a checkout reload won’t erase it
  • The Nova Poshta API key never reaches the customer’s browser
For managers

Everything for shipping — in the order card

Delivery details are stored in the module’s own table and shown in the admin as a “Nova Poshta delivery” panel. The order’s standard address fields are filled in too — even in One Page Checkout, which has no address form of its own for Nova Poshta.

And to have the details in e-mails and exports too, the module can add a delivery line to the order comment.

Delivery price

You decide what the customer pays

Try it: pick a mode, turn on the threshold and move the cart total.

1003000
The customer sees in the cart
Nova Poshta Delivery: 80 UAH

The customer pays the fixed amount you set.

Example: a fixed price of 80 UAH and a 1500 UAH threshold — you set the values yourself.
Directory

Live API or a local database — your choice

Live API

Every search goes straight to Nova Poshta. Answers are cached for an hour, so repeated lookups don’t slow checkout down.

  • Nothing to update
  • Good for a quick start

Local database

Checkout works from your tables, and the API is only needed for updates — once a day by cron or with a button in the admin.

  • Nothing is deleted during an update — closed branches are switched off only at the end
  • An interrupted update doesn’t break checkout: the previous database keeps working
  • Update history and a warning if the database hasn’t been updated for over two days
Update database Waiting
  1. Preparation
  2. Loading regions
  3. Loading cities
  4. Loading branches
  5. Done
php system/nova_poshta_cli.php sync · or a cron link if there is no console access
Compatibility

Fits right into your checkout

The widget finds the Nova Poshta shipping method on the page itself and appears next to it — without being tied to a specific theme.

OpenCart 3.x · ocStore 3

The widget appears under the chosen shipping method. The customer can’t proceed to payment without a branch or address.

One Page Checkout

After installing — “Modifications → Refresh”, and in the One Page Checkout settings switch off the country, region, city and address fields for the Nova Poshta methods: the widget collects them itself. Without a branch the order won’t be confirmed.

Octemplates SmartCheckout

Nothing to configure. The widget takes the place of the “City” and “Address” fields and fills them with the chosen city and branch — SmartCheckout’s own checks and the order address keep working as before.

Installation

Up and running in 4 steps

  1. Upload nova_poshta.ocmod.zip in “Extensions → Installer”, then “Extensions → Modifications → Refresh”.
  2. In “Extensions → Shipping”, install “Nova Poshta” and enter the licence key from your account — the module activates for your domain.
  3. On the “API” tab, paste your Nova Poshta API key and press “Check API key”.
  4. Choose the data source (Live API or local database) and the delivery price — then enable the module.
Changelog

Updates

  1. v1.0.0 Current
    • First release
FAQ

Questions and answers

Ready to connect?

Nova Poshta in your store today

  • Branches, parcel lockers and courier in one module
  • Licence key and archive — in your account right after payment
  • Module updates — in “My modules”
$24 one-time · license for 1 domain
  • License key right after payment
  • Archive and updates in your account
  • Secure payment via WayForPay

Similar modules

Full catalog

Need help with a module or a custom tweak?

We’ll install it, adapt it to your theme or build a module for your needs.