{"id":349294,"date":"2026-08-06T12:07:47","date_gmt":"2026-08-06T12:07:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/catcode-delivery-with-nova-poshta-for-woocommerce\/"},"modified":"2026-08-06T16:07:20","modified_gmt":"2026-08-06T16:07:20","slug":"catcode-delivery-with-nova-poshta-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/uk.wordpress.org\/plugins\/catcode-delivery-with-nova-poshta-for-woocommerce\/","author":23504569,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"CatCode Delivery with Nova Poshta for WooCommerce","header_author":"CatCode","header_description":"Nova Poshta delivery for WooCommerce: city and branch or parcel-locker selection in the checkout, live rates, waybill creation and status tracking.","assets_banners_color":"fefefe","last_updated":"2026-08-06 16:07:20","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/catcode.com.ua\/modules\/nova-poshta-premium-for-woocommerce\/","header_author_uri":"https:\/\/catcode.com.ua","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"catcodestudio","date":"2026-08-06 12:44:29"},"1.0.2":{"tag":"1.0.2","author":"catcodestudio","date":"2026-08-06 16:07:20"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3636591,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3636591,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3636591,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3636591,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3636839,"resolution":"1","location":"assets","locale":"","width":612,"height":460},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3636839,"resolution":"2","location":"assets","locale":"","width":612,"height":460},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3636839,"resolution":"3","location":"assets","locale":"","width":1183,"height":446},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3636839,"resolution":"4","location":"assets","locale":"","width":1360,"height":1040}},"screenshots":{"1":"Checkout: the delivery block with city search and suggestions from the carrier directory.","2":"Branch and parcel-locker list for the city the customer picked.","3":"Shipment log in the admin area \u2014 waybill numbers with live carrier statuses.","4":"Shipping-method settings: API key, connection tests and the rate options."}},"plugin_section":[],"plugin_tags":[126024,250526,274665,143700,274666],"plugin_category":[45],"plugin_contributors":[271712],"plugin_business_model":[],"class_list":["post-349294","plugin","type-plugin","status-publish","hentry","plugin_tags-126024","plugin_tags-250526","plugin_tags-274665","plugin_tags-143700","plugin_tags-274666","plugin_category-ecommerce","plugin_contributors-catcodestudio","plugin_committers-catcodestudio"],"banners":{"banner":"https:\/\/ps.w.org\/catcode-delivery-with-nova-poshta-for-woocommerce\/assets\/banner-772x250.png?rev=3636591","banner_2x":"https:\/\/ps.w.org\/catcode-delivery-with-nova-poshta-for-woocommerce\/assets\/banner-1544x500.png?rev=3636591","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/catcode-delivery-with-nova-poshta-for-woocommerce\/assets\/icon-128x128.png?rev=3636591","icon_2x":"https:\/\/ps.w.org\/catcode-delivery-with-nova-poshta-for-woocommerce\/assets\/icon-256x256.png?rev=3636591","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/catcode-delivery-with-nova-poshta-for-woocommerce\/assets\/screenshot-1.png?rev=3636839","caption":"\u0427\u0435\u043a\u0430\u0443\u0442: \u0431\u043b\u043e\u043a \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0437 \u043f\u043e\u0448\u0443\u043a\u043e\u043c \u043c\u0456\u0441\u0442\u0430 \u0456 \u043f\u0456\u0434\u043a\u0430\u0437\u043a\u0430\u043c\u0438 \u0437 \u0434\u043e\u0432\u0456\u0434\u043d\u0438\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0437\u043d\u0438\u043a\u0430."},{"src":"https:\/\/ps.w.org\/catcode-delivery-with-nova-poshta-for-woocommerce\/assets\/screenshot-2.png?rev=3636839","caption":"\u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0456\u0434\u0434\u0456\u043b\u0435\u043d\u044c \u0456 \u043f\u043e\u0448\u0442\u043e\u043c\u0430\u0442\u0456\u0432 \u0434\u043b\u044f \u043c\u0456\u0441\u0442\u0430, \u044f\u043a\u0435 \u043e\u0431\u0440\u0430\u0432 \u043f\u043e\u043a\u0443\u043f\u0435\u0446\u044c."},{"src":"https:\/\/ps.w.org\/catcode-delivery-with-nova-poshta-for-woocommerce\/assets\/screenshot-3.png?rev=3636839","caption":"\u0416\u0443\u0440\u043d\u0430\u043b \u0432\u0456\u0434\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044c \u0432 \u0430\u0434\u043c\u0456\u043d\u0446\u0456 \u2014 \u043d\u043e\u043c\u0435\u0440\u0438 \u0422\u0422\u041d \u0437 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0438\u043c\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u0456\u0437\u043d\u0438\u043a\u0430."},{"src":"https:\/\/ps.w.org\/catcode-delivery-with-nova-poshta-for-woocommerce\/assets\/screenshot-4.png?rev=3636839","caption":"\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u043c\u0435\u0442\u043e\u0434\u0443 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438: API-\u043a\u043b\u044e\u0447, \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u0437'\u0454\u0434\u043d\u0430\u043d\u043d\u044f \u0456 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0432\u0430\u0440\u0442\u043e\u0441\u0442\u0456."}],"raw_content":"<!--section=description-->\n<p>The plugin adds a Nova Poshta shipping method to WooCommerce together with a branch picker that lives inside the checkout itself, so the customer never leaves the page or types an address by hand.<\/p>\n\n<p>Nova Poshta is the largest parcel carrier in Ukraine. Its branches and parcel lockers are how most Ukrainian online orders are delivered, and the carrier expects a branch reference rather than a street address, which is why a plain address field does not work for these shops.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>City search with suggestions, plus a one-click list of the largest cities.<\/li>\n<li>Branch or parcel-locker selection from the carrier's live directory.<\/li>\n<li>Delivery cost calculated through the carrier API, with an optional surcharge and free shipping above an order total.<\/li>\n<li>Waybill created from the order screen, or automatically when the order reaches a status you choose.<\/li>\n<li>Shipment log in the admin area with tracking links, and manual status refresh.<\/li>\n<li>City and branch directories are cached in the plugin's own tables, so the checkout never waits for the API.<\/li>\n<li>The API key is stored encrypted.<\/li>\n<li>Works with both the classic checkout and the block checkout.<\/li>\n<\/ul>\n\n<p>Nova Poshta is a third-party service. This plugin is an independent integration built on the carrier's public API and is not affiliated with, endorsed by, or sponsored by Nova Poshta.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Nova Poshta carrier API to look up cities and branches, calculate delivery cost and create waybills. Nothing is sent until you enter your own API key in the shipping method settings.<\/p>\n\n<p><strong>Nova Poshta API<\/strong> \u2014 <code>https:\/\/api.novaposhta.ua<\/code><\/p>\n\n<ul>\n<li>When the checkout is displayed: the city and branch search terms typed by the customer, so the matching directory entries can be returned.<\/li>\n<li>When a delivery cost is calculated: the sender and recipient city references, cart weight and declared value.<\/li>\n<li>When a waybill is created: the recipient name, phone number, chosen branch, order total, weight and declared value, together with your sender profile.<\/li>\n<li>When a shipment status is refreshed: the waybill number.<\/li>\n<\/ul>\n\n<p>The city and branch directories are also downloaded in bulk and cached locally so the checkout does not query the carrier on every page load.<\/p>\n\n<p>Terms of service: https:\/\/novaposhta.ua\/more\/public-agreement-for-cbs\nPrivacy policy: https:\/\/novaposhta.ua\/more\/privacy-policy<\/p>\n\n<h4>\u041e\u043f\u0438\u0441 \u0443\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u043e\u044e<\/h4>\n\n<p>\u041f\u043b\u0430\u0433\u0456\u043d \u0434\u043e\u0434\u0430\u0454 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u041d\u043e\u0432\u043e\u044e \u041f\u043e\u0448\u0442\u043e\u044e \u0443 WooCommerce \u0440\u0430\u0437\u043e\u043c \u0437 \u0432\u0438\u0431\u043e\u0440\u043e\u043c \u0432\u0456\u0434\u0434\u0456\u043b\u0435\u043d\u043d\u044f \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0441\u0442\u043e\u0440\u0456\u043d\u0446\u0456 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u044f \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u2014 \u043f\u043e\u043a\u0443\u043f\u0435\u0446\u044c \u043d\u0435 \u0437\u0430\u043b\u0438\u0448\u0430\u0454 \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0456 \u043d\u0435 \u0432\u043f\u0438\u0441\u0443\u0454 \u0430\u0434\u0440\u0435\u0441\u0443 \u0440\u0443\u043a\u0430\u043c\u0438.<\/p>\n\n<ul>\n<li>\u041f\u043e\u0448\u0443\u043a \u043c\u0456\u0441\u0442\u0430 \u0437 \u043f\u0456\u0434\u043a\u0430\u0437\u043a\u0430\u043c\u0438 \u0456 \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0439\u0431\u0456\u043b\u044c\u0448\u0438\u0445 \u043c\u0456\u0441\u0442 \u0432 \u043e\u0434\u0438\u043d \u043a\u043b\u0456\u043a.<\/li>\n<li>\u0412\u0438\u0431\u0456\u0440 \u0432\u0456\u0434\u0434\u0456\u043b\u0435\u043d\u043d\u044f \u0430\u0431\u043e \u043f\u043e\u0448\u0442\u043e\u043c\u0430\u0442\u0430 \u0437 \u0436\u0438\u0432\u043e\u0433\u043e \u0434\u043e\u0432\u0456\u0434\u043d\u0438\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0437\u043d\u0438\u043a\u0430.<\/li>\n<li>\u0420\u043e\u0437\u0440\u0430\u0445\u0443\u043d\u043e\u043a \u0432\u0430\u0440\u0442\u043e\u0441\u0442\u0456 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 API \u041d\u043e\u0432\u043e\u0457 \u041f\u043e\u0448\u0442\u0438, \u0437 \u043c\u043e\u0436\u043b\u0438\u0432\u043e\u044e \u043d\u0430\u0446\u0456\u043d\u043a\u043e\u044e \u0456 \u0431\u0435\u0437\u043a\u043e\u0448\u0442\u043e\u0432\u043d\u043e\u044e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u043e\u044e \u0432\u0456\u0434 \u0441\u0443\u043c\u0438 \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u043d\u044f.<\/li>\n<li>\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0422\u0422\u041d (\u0435\u043a\u0441\u043f\u0440\u0435\u0441-\u043d\u0430\u043a\u043b\u0430\u0434\u043d\u043e\u0457) \u0437 \u043a\u0430\u0440\u0442\u043a\u0438 \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u0430\u0431\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0456 \u0432 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441.<\/li>\n<li>\u0416\u0443\u0440\u043d\u0430\u043b \u0432\u0456\u0434\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044c \u0432 \u0430\u0434\u043c\u0456\u043d\u0446\u0456 \u0437 \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u0438\u0445, \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f\u043c\u0438 \u043d\u0430 \u0442\u0440\u0435\u043a\u0456\u043d\u0433 \u0456 \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f\u043c \u0441\u0442\u0430\u0442\u0443\u0441\u0456\u0432.<\/li>\n<li>\u0414\u043e\u0432\u0456\u0434\u043d\u0438\u043a\u0438 \u043c\u0456\u0441\u0442 \u0456 \u0432\u0456\u0434\u0434\u0456\u043b\u0435\u043d\u044c \u043a\u0435\u0448\u0443\u044e\u0442\u044c\u0441\u044f \u0443 \u0432\u043b\u0430\u0441\u043d\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u044f\u0445 \u043f\u043b\u0430\u0433\u0456\u043d\u0430, \u0442\u043e\u0436 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u044f \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u043d\u0435 \u0447\u0435\u043a\u0430\u0454 \u043d\u0430 API.<\/li>\n<li>API-\u043a\u043b\u044e\u0447 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0454\u0442\u044c\u0441\u044f \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u043c.<\/li>\n<li>\u041f\u0440\u0430\u0446\u044e\u0454 \u0456 \u0437 \u043a\u043b\u0430\u0441\u0438\u0447\u043d\u0438\u043c \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u044f\u043c \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u043d\u044f, \u0456 \u0437 \u0431\u043b\u043e\u043a\u043e\u0432\u0438\u043c (Gutenberg).<\/li>\n<\/ul>\n\n<p>\u041d\u043e\u0432\u0430 \u041f\u043e\u0448\u0442\u0430 \u2014 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0456\u0439 \u0441\u0435\u0440\u0432\u0456\u0441. \u0426\u0435\u0439 \u043f\u043b\u0430\u0433\u0456\u043d \u0454 \u043d\u0435\u0437\u0430\u043b\u0435\u0436\u043d\u043e\u044e \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0454\u044e \u043d\u0430 \u043f\u0443\u0431\u043b\u0456\u0447\u043d\u043e\u043c\u0443 API \u043f\u0435\u0440\u0435\u0432\u0456\u0437\u043d\u0438\u043a\u0430 \u0456 \u043d\u0435 \u0430\u0444\u0456\u043b\u0456\u0439\u043e\u0432\u0430\u043d\u0438\u0439 \u0437 \u041d\u043e\u0432\u043e\u044e \u041f\u043e\u0448\u0442\u043e\u044e.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to WooCommerce \u2192 Settings \u2192 Shipping and add the \"Nova Poshta\" method to the zone you need.<\/li>\n<li>Paste your API key (Nova Poshta account: Settings \u2192 Security \u2192 API keys) and save.<\/li>\n<li>Press \"Test connection\", then fill in the sender profile.<\/li>\n<li>Optionally choose the order status that triggers automatic waybill creation.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20contract%20with%20the%20carrier%3F\"><h3>Do I need a contract with the carrier?<\/h3><\/dt>\n<dd><p>An API key from your Nova Poshta account is enough to calculate rates and show branches. Creating waybills additionally requires a sender profile configured in that account.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20block%20checkout%3F\"><h3>Does it work with the block checkout?<\/h3><\/dt>\n<dd><p>Yes. The selection is kept in the WooCommerce session, so the classic checkout and the block checkout behave the same way.<\/p><\/dd>\n<dt id=\"where%20do%20i%20see%20the%20waybills%20that%20were%20created%3F\"><h3>Where do I see the waybills that were created?<\/h3><\/dt>\n<dd><p>Under WooCommerce \u2192 Nova Poshta. The waybill number is also shown on the order screen.<\/p><\/dd>\n<dt id=\"in%20which%20language%20is%20the%20interface%3F\"><h3>In which language is the interface?<\/h3><\/dt>\n<dd><p>The source strings are English. Ukrainian and any other locale are translated on translate.wordpress.org and delivered by WordPress automatically.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Ukrainian translation bundled again \u2014 1.0.1 shipped an English-only interface.<\/li>\n<li>readme: Ukrainian description and keywords.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Rate calculation through the Nova Poshta API is now an opt-in setting and is off by default, so the delivery cost you set is no longer replaced by the carrier tariff.<\/li>\n<li>A zero cost is no longer shown as \"Free!\" \u2014 the method is labelled \"(paid on pickup)\" and the price reads \"at the carrier's rates\". Free shipping above an order total works as before.<\/li>\n<li>Removed unused code paths left over from an internal build: cash-on-delivery fields on the waybill, return waybills, webhook tables and their scheduled events.<\/li>\n<li>Translations are now handled entirely through translate.wordpress.org; bundled .po\/.mo files removed.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: checkout branch picker, live rates, waybill creation, shipment log.<\/li>\n<\/ul>","raw_excerpt":"Branch and parcel-locker picker in the WooCommerce checkout, live delivery rates and waybills through the Nova Poshta carrier API.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=349294"}],"author":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/catcodestudio"}],"wp:attachment":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349294"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349294"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349294"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349294"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349294"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}