
Ukrposhta International for WooCommerce — Ukrposhta shipping abroad with the rate in the cart
Ukrposhta shipping abroad right in the WooCommerce cart: Ukrposhta's own rate for the country, weight and size of the order — small packet, parcel, EMS, Prime, by air or surface. HS codes for customs, Latin-letters check at checkout. Pro — shipments from the order, CN22/CN23, tracking number.
- Compatibility
- WooCommerce 7.0+ · WordPress 6.2+ · PHP 7.4+ · HPOS · classic and block checkout · tested on WordPress 7.1 + WooCommerce 11.1, PHP 8.3
- Licence
- one site, annual
- 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.

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
WooCommerce 7.0+ with the classic or block checkout, HPOS compatible · WordPress 6.2+ · PHP 7.4+. Tested on WordPress 7.1, WooCommerce 11.1 and PHP 8.3.
A contract with Ukrposhta for international shipments and eCom API keys with international access: the Bearer for rates; the user token and a sender with an address in Latin letters for shipments (Pro).
A shipping zone with the countries you ship to. The method does not work for Ukraine — for branches in Ukraine there is the Ukrposhta module for WooCommerce.
Product weight and size — products without them get the defaults from the settings.
US — only with 10-digit HS codes on the products or a default code.
Currency — UAH or USD right away; any other currency with an exchange rate in the settings.
Version history
The Pro version now activates without an error when the free copy “CatCode International Shipping with Ukrposhta for WooCommerce” from WordPress.org is already active.
The Ukrposhta rate abroad in the cart (small packet, parcel, EMS, Prime; by air or surface), customs fields on products, the US rate with HS codes, the Latin-letters and phone check on the…
Frequently bought with Ukrposhta International for WooCommerce
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
Ukrposhta International for WooCommerce — international shipping with Ukrposhta, with the rate right in the cart. A Ukrainian shop that ships abroad usually quotes the delivery by hand: the customer places the order, the manager opens the Ukrposhta calculator and writes back with a price. The plugin asks Ukrposhta for the rate itself — for the customer’s country and the weight and size of the cart — and shows it like any other shipping method. Small packet, parcel, EMS or Prime, by air or surface: whatever Ukrposhta does not take to that country, the customer simply does not see. For OpenCart 4, 3 and 2.3 there is a separate version — Ukrposhta International for OpenCart.
What you need. A contract with Ukrposhta for international shipments and eCom API keys with international access: the Bearer for rates; for shipments (Pro) also the user token and a sender with an address in Latin letters. Your Ukrposhta manager or api-support issues the keys; without them the method does not appear in the cart. Honestly about testing: the plugin is built on Ukrposhta’s official international shipments API documentation (edition of 23.07.2026) and run on a test store with answers in the format of that documentation; it has not yet run on a live Ukrposhta contract. Try it with your keys in the 7-day Pro trial — if Ukrposhta answers differently from the documentation, we will fix it promptly.
What the customer sees
The customer enters an address abroad — and sees Ukrposhta with the price for their country among the shipping methods. The rate is calculated for the whole cart as one box: total weight, total volume, the longest item as the longest side, plus the packaging weight from the settings. Change the quantity or the country — the price is recalculated. For addresses in Ukraine the method never shows: the regular Ukrposhta or Nova Poshta works there.
Not every shipment type goes to every country. In automatic mode the plugin takes a small packet while the cart fits its limits (2 kg, 60 cm) and a parcel when it does not, or when Ukrposhta does not take small packets to that country. A fixed type (for example, EMS only) simply does not show where Ukrposhta refused. Orders over 30 kg get no method without Pro; with Pro they are split into several shipments.
Ukrposhta accepts international addresses in Latin letters only and does not accept a shipment without a phone number. So when this method is chosen, the checkout checks the address and the phone and tells the customer which fields to retype — on the classic and block checkout. The check can be switched off in the settings.
What the admin gets
- A method in regular WooCommerce shipping zones. Add “Ukrposhta International” to the zone with the countries you ship to. Every instance of the method has its own shipment type (automatic, small packet, parcel, EMS, Prime) and transport (air or surface), so you can offer, say, a parcel by air and EMS side by side.
- Parcel and rate: weight and size for products without them, packaging weight, declared value for parcels and EMS, what to do when the API is down — hide the method or show a flat price.
- Currency. A UAH or USD store works right away. For any other currency you set an exchange rate; without it the method does not show, so no made-up price is ever displayed.
- Customs: shipment category, default HS code and country of origin. On the product, in the Shipping tab — its own HS code, name in Latin letters and country of origin; variations take them from the parent product.
- “Test” prices a 1 kg parcel to a country of your choice and shows Ukrposhta’s answer. The keys are stored encrypted and never returned into the form fields.
- A log of every request to Ukrposhta — in the WooCommerce logs, when switched on in the settings.
- Shipment from the order screen (Pro). The “Ukrposhta International” box builds a draft from the order: type and transport from the rate the customer chose, weight, box, customs items with Latin names and HS codes. The manager checks it and clicks “Create shipment in Ukrposhta” — the plugin creates the address and the recipient in Latin letters and the shipment itself, and gets the tracking number.
- Checks before sending. Vague names like “Gift” or “Accessories”, which Ukrposhta rejects, and forbidden combinations (EMS with the “Sale of goods” category) are stopped before the request.
- Documents: all forms, CN22 and CN23 customs declarations, the label — PDF with buttons in the same box. There, too, “Refresh statuses” and deleting a shipment not yet handed to Ukrposhta.
- The tracking number goes into the order e-mails and the customer’s account.
How it works — step by step
- Keys. WooCommerce → Ukrposhta International: paste the eCom Bearer, save and click “Test”.
- Shipping zone. In the zone with the countries you ship to (for example, “Europe”) add the “Ukrposhta International” method and choose the shipment type and transport.
- Products. On the products you sell abroad fill in the HS code and the name in Latin letters — or set defaults in the settings.
- Cart. The customer enters an address abroad — the plugin asks Ukrposhta for the rate for their country, weight and box and shows the price. Answers are cached; reloading the cart sends no new request.
- Checkout. The address has to be in Latin letters, the phone is required; otherwise the customer sees which fields to fix.
- Order. The order keeps the shipping cost, the weight and the shipment type.
- Shipment (Pro). The manager creates the international shipment from the order screen, prints CN22 or CN23 and the label, the customer gets the tracking number by e-mail.
How much it costs
UAH 890 — a one-year licence. A year of updates, technical support and all Pro features.
You can take a longer term right away — the longer, the cheaper per year:
- 1 year — UAH 890
- 2 years — UAH 1,690 (−5%, UAH 845 per year)
- 3 years — UAH 2,350 (−12%, UAH 783 per year)
- 4 years — UAH 2,920 (−18%, UAH 730 per year)
- 5 years — UAH 3,340 (−25%, UAH 668 per year)
No automatic charges: renewal is manual, reminders come by e-mail. A purchased licence keeps the Pro features forever — when the term ends, the shop only stops getting new versions and support. The Ukrposhta rate in the cart from the free version works either way.
One key — one domain. Moving the shop — release the licence on the old domain with the “Release the licence” button and activate it on the new one.
Trial first, payment later. The 7-day free Pro trial starts with a button in the plugin settings, no card needed. It never starts by itself: a fresh install is the plain Free version. After the trial only the Pro features switch off.
Under the hood
- Rate — POST
/international/delivery-priceof the Ukrposhta eCom API: weight in grams, the longest side, width, height, country, shipment type and transport. For the US also the category and the goods with HS codes and value in USD, as Ukrposhta requires. - A Ukrposhta refusal is not a shop error. A country or type Ukrposhta does not take simply gives no method; automatic mode switches from a small packet to a parcel by itself.
- Rate cache in transients; when the API is down — hide the method or show a flat price. After a change of the settings or the licence, rates in an already open cart are recalculated at once.
- Shipment (Pro) — address (
/addresses), non-resident recipient (/clients) and an INTERNATIONAL shipment with customs items (/shipments); forms via Ukrposhta’s forms service. - Keys — AES-256-CBC with HMAC, no XOR.
- A Pro gate without bricking: when the trial ends, only the Pro features stop; the rate in the cart keeps working.
- Deleting the plugin removes its settings, rate cache, cron jobs and the method in shipping zones. Tracking numbers on orders and HS codes on products stay as shop data.
How to install
- Plugins → Add New → Upload Plugin: choose
ukrposhta-international-for-woocommerce-1.0.1.zipand activate. - WooCommerce → Ukrposhta International: paste the eCom Bearer, save and click “Test”.
- WooCommerce → Settings → Shipping → the zone with the countries you ship to → Add shipping method → “Ukrposhta International”.
- On the products you sell abroad: Product data → Shipping — HS code and name in Latin letters.
- If our Ukrposhta module is installed with international shipments on — switch them off there, so the customer does not see two Ukrposhta options abroad.
- For Pro: paste the licence key from the e-mail after payment or start the 7-day trial.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
What do I need from Ukrposhta?
A contract for international shipments and eCom API keys with access to international services: the Bearer for rates, and for shipments also the user (counterparty) token and a sender with an address in Latin letters. Your Ukrposhta manager or api-support issues them. Without the keys the method does not show in the cart.
What keys has the plugin been tested with?
The plugin is built on Ukrposhta's official international shipments API documentation (edition of 23.07.2026) and tested on a test store with answers in the format of that documentation. It has not yet run on a live Ukrposhta contract. The plugin shows Ukrposhta's errors in Ukrposhta's own words and writes them to the WooCommerce log, so try it with your keys in the 7-day Pro trial — if Ukrposhta answers differently, we will fix it promptly.
Why is there no shipping to the US?
For the US Ukrposhta prices only together with the goods: every product needs a 10-digit HS code (or set a default code in the settings). Without the code the method does not show for the US.
I already have CatCode's Ukrposhta module. Do they conflict?
They work side by side without errors, but if international shipping is on in the old module, a customer abroad sees two Ukrposhta options with different prices. Switch off international shipments in the old module ("International shipments" in the method settings): that module stays for branches in Ukraine, this one is for shipping abroad.
Is the customs duty added to the shipping price?
No. For the US the duty estimate Ukrposhta returns is shown next to the rate for information only. For EU countries Ukrposhta does not calculate duty in the rate.
What if I do not want to pay for Pro?
The Ukrposhta rate abroad in the cart, the customs fields on products and the checkout check 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
—


