Shipping with Venipak for WooCommerce

Plugin Banner

Shipping with Venipak for WooCommerce

by Akadrama

Download
Description
  • Delivery to customer address.
  • Delivery to Venipak pickup points and lockers. A pickup map is displayed during checkout for user convenience.
  • Cash on delivery (COD) service for collection of money by cash or card.
  • To use this extension, you must have an active contract with Venipak. https://www.venipak.com/
  • Additionally, you must have user credentials for the Venipak API. Please contact Venipak sales. https://www.venipak.com/

Support email: [email protected]
Support: https://www.venipak.com/

  1. Install the plugin
  2. Configure with your Venipak details. You must have user credentials for the Venipak API. Please contact Venipak sales. https://www.venipak.com/
  3. Create Venipak shipping methods

Do not use this please

By anwpuser on February 15, 2025

Broken plugin, waste of time.
It is better to create my own Venipak plugin for my customer.

Terrible plugin, don't waste your time

By domik999 on January 27, 2025

Terrible plugin, do not recommend installing, in fact, as well as from other deliveries. There is no WPML translation integration. Delivery customization is maximally dumb, to customize for one country by weight you need to create 10 times ID VENIPAK, because in one ID can be set only one range of weights. I have 5 countries, it clogs up the system a lot.

Because of this plugin, I had long time problems with other plugins. I do not know how the developers made this plugin, but apparently the hands grow from the one place……. Don’t waste your time, find a general plugin for shipping settings in Woocommerce, it will be much better. And these generation of labels and call the courier is easier to do manually!

Prastai

By Exon (aidasgv) on December 7, 2023

Prastai įgyvendintas įskiepis, neina atsisiųsti lipdukų sistemos viduje, laiku neišimami neaptarnaujami paštomatai, supportas į klausimus atsako selektyviai.

Courier shipping method not compatible with PHP 8+

By kriztjan on August 31, 2023

It’s been a year since this has been reported and still has not been fixed, so let me do this by myself. The Courier Shipping method will not be displayed in cart/checkout after switching to PHP 8+

Location:
/wc-venipak-shipping/admin/class-woocommerce-shopup-venipak-shipping-admin-courier.php
Line 160 and 161.

When minimum weight or maximum weight is not set under the shipping method, then the get_option will return an empty string.

After that, the condition that starts from line 164 and ends at 166, all three conditions will return false, since you’re trying to compare a string to an integrer, that as of PHP 8 will return false. Hence the rate will not be set to the shipping method and that’s the reason it is not displayed.

Quote from PHP 8 backward incompatible changes:
Non-strict comparisons between numbers and non-numeric strings now work by casting the number to string and comparing the strings. Comparisons between numbers and numeric strings continue to work as before. Notably, this means that 0 == "not-a-number" is considered false now.

THE SOLUTION
Surround minimum_weight and maximum_weight variable values with floatval function or just type cast to float.

Fix this and I’ll change my review.

Venipak plugin

By novastela on October 8, 2021

great support 🙂 bug was fixed on the same day as reported 🙂

venipak plugin

By gmtbeauty on October 30, 2020

Great support!

1.27.1

  • New: The pickup point on the order page has its own editor with Change, Save, Cancel and Remove point. The point is saved at once, without updating the whole order, and an order note records the change
  • New: While a pickup point change is not saved, Dispatch on the order page refuses with a reminder, so the parcel no longer goes to the previous point
  • New: For an order already sent to Venipak, or with an unconfirmed dispatch, the editor warns that a new point applies only after “Dispatch one more time”
  • Fix: On stores using High-Performance Order Storage, pressing Update after Dispatch on the same page without reloading put the order’s earlier Venipak data back, so the order looked undispatched. The plugin’s own order data no longer appears in the order’s Custom Fields box
  • Fix: An order page left open in another tab no longer undoes a newer pickup point when it is updated
  • Tweak: Courier orders say why they have no pickup point. Lithuanian translations for the new texts

1.27.0

  • New: Shipments to countries outside LT, LV, EE, PL and FI can carry a customs document (commercial invoice, pro forma invoice or certificate of origin, PDF). Attach it on the order page by uploading a file or choosing one from the media library; it is sent to Venipak with the dispatch and not stored on the site
  • New: For those shipments the order page also takes the shipment value in EUR. Left empty, the order total is used; an order in another currency needs the value entered
  • New: EORI number in the sender settings, sent with global shipments
  • New: Shipments from Lithuania, Latvia or Estonia to Poland or Finland are sent as Venipak international shipments, as Venipak requires. A dispatch that mixes packages up to 30 kg with heavier ones, or has a package over 30 kg without width, height and length, is refused with an explanation instead of being sent
  • New: The “Global shipment” checkbox on the order page is gone. The shipment type (domestic, international or global) is chosen from the sender and recipient countries; for pickup orders the pickup point’s country counts. Shipments to countries outside LT, LV, EE, PL and FI need every package’s width, height, length and description: bulk dispatch and the Dispatch button in the orders list refuse them with an explanation (dispatch them from the order page), and the order page refuses packages with any of these missing
  • Fix: Package width, height and length on the order page are now entered in the store’s dimension unit, shown in the table header, and sent to Venipak in metres as it requires. Before, the value was sent as typed, so 30 meant as centimetres went as 30 metres
  • Fix: An order placed with Venipak courier after a pickup point had been picked at checkout was shipped to that pickup point. A courier order now always goes to its address, and checkout keeps a pickup point only for the pickup method
  • Fix: Products split into several packages (“Total shipments”) now declare each package’s share of the product weight, in kg, whatever the store’s weight unit. Before, every package carried the full product weight, unconverted
  • Fix: The pickup point selector on the order screen listed points for the logged-in manager’s own country and cart instead of the order’s: points of the wrong country, or none when the manager had no country set or their own cart held a heavy, oversized or age-restricted product. It now lists the points of the order’s shipping country (billing country if there is no shipping address; all countries if the order has neither)
  • Security: A pickup point name submitted through the block checkout could carry HTML that ran on the order screen and in emails. Pickup point details are now escaped wherever they are shown, checkout accepts only a pickup point id, and tracking details from Venipak are escaped too

1.26.6

  • Fix: An order whose dispatch was cut off before Venipak’s answer was recorded (a PHP time limit, an error in another plugin) showed “Undefined array key” warnings in the orders list and had no label button. Such orders now show their pack numbers and the label button. Printing the label marks the dispatch as sent once Venipak returns it, so a later Dispatch does not register the parcel twice; if Venipak has no such parcel, the label window says so
  • Fix: A dispatch Venipak accepted is now recorded before the order status changes, so an error in another plugin’s order status hook can no longer leave the order looking undispatched
  • Fix: When Venipak reported a pack number as already in use, the order kept that number until the retry finished; if the retry was cut off, the order pointed at another parcel. The collision is now recorded before retrying

1.26.5

  • Fix: A dispatch that never reached Venipak was treated as success. An empty or failed response marked the orders “completed” and “sent” while nothing was registered and no labels existed. The dispatch now requires a real confirmation from Venipak and reports the transport error otherwise
  • Fix: Declare compatibility with High-Performance Order Storage and with the Cart/Checkout blocks. WooCommerce was listing the plugin as incompatible with both, which was never true
  • Tweak: Declare the actual requirements (WordPress 6.5, PHP 7.4, WooCommerce) instead of the long-stale “WordPress 4.4”
  • Tested with WordPress 7.0.3

1.26.4

  • Fix: Bulk label printing opened a blank window instead of the PDF. The request had no timeout, so larger batches were cut off after 5 seconds and the empty result was sent to the browser as a PDF
  • Fix: Labels and manifests now show why no PDF is coming instead of an empty viewer window
  • Fix: Orders for a pickup point that Venipak has removed were silently dispatched to the customer’s home address by courier. The dispatch now stops with a clear message asking for another pickup point
  • Fix: The chosen pickup point is stored with the order, so its name and address remain visible on the order screen and in customer emails even after Venipak removes the point from its list
  • Fix: Label format was sent empty by shops that never saved the plugin settings page
  • Fix: Customer emails no longer contain an empty tracking link for orders that have not been dispatched
  • Performance: The pickup point list is read and decoded once per request instead of on every lookup

1.26.3

  • Fix: Pickup point selector now clearly visible at checkout (white background + Venipak brand-coloured border)
  • Improvement: Show a translated placeholder (“Select pickup point”) while no pickup point is selected

1.26.2

  • Fix: Pickup shipping method instance weight range (minimum/maximum) now applies to pickup points, not only lockers
  • Fix: Weight range boundaries no longer overlap between instances (each bucket covers (min, max])

1.26.1

  • Fix: Pack number counter not incrementing between dispatches (cache invalidation)
  • Fix: Automatically retry dispatch with incremented pack number on “already in use” errors (+1, +5, +10)
  • Fix: Bundle markerclusterer locally instead of loading from unpkg CDN (resolves timeout issues)
  • Fix: Only load markerclusterer script when Google Maps is enabled in settings
  • Fix: Remove global CSS styles that broke third-party theme layouts on checkout
  • Fix: Scope all checkout styles to Venipak-specific selectors
  • Performance: Lazy-load shipping class options only when admin settings form is rendered
  • Performance: Remove unnecessary SQL queries from cart and checkout pages
  • Performance: Use prepared statements for shipping class database queries

1.26.0

  • Security: Nonce verification and capability checks on admin AJAX handlers
  • Security: Escape all admin output to prevent XSS
  • Fix: Atomic pack number generation prevents duplicates on concurrent dispatches
  • Fix: Duplicate bulk action hook causing double label processing
  • Fix: Duplicate volume element in shipment XML
  • Fix: Memory leaks in map markers and select2 event listeners
  • Feature: Configurable pickup selector position (inline or after all shipping methods)
  • Feature: Configurable pickup selector width
  • Feature: “Select Venipak pickup point:” label on checkout dropdown
  • Tweak: Pickup dropdown uses cached data instead of re-fetching on selection
  • Translations: Added LT, ET, LV translations for new strings

1.25.9

  • Stability improvements for checkout scripts

1.25.8

  • Fix: Stricter locker dimension check (oversize items no longer show lockers)
  • Tweak: Block checkout pickup selector stability (no double fetch, restore selection)
  • Fix: Remove shop-specific locker warning message from checkout (block + assets)

1.25.7

  • Fix: Avoid early translation loading notice by delaying header translations

1.25.6

  • Fix: Prevent Venipak map from loading twice and double zooming on checkout
  • Fix: Keep classic Google Maps markers (no Map ID needed) for compatibility

1.25.5

  • Feature: Add animated loading spinner to pickup point selection dropdown while fetching pickup points

1.25.4

  • Fix: Use correct contact person name instead of company name in consignee contact_person field

1.25.3

  • Fix: Add address to pickup point in blocks list

1.25.2

  • Fix: Missing dispatch button

1.25.1

  • Fix: Undefined variable warning

1.25.0

  • Feature: Show delivery status in order list
  • Fix: Deprecation warning

1.24.3

  • Fix: Checkout page CSS
  • Fix: Parcel size calculation improvements

1.24.2

  • Fix: Validation when no pickup point is selected

1.24.1

  • Fix: Order edit page error

1.24.0

  • Feature: Tracking
  • Fix: Validation priority fix

1.23.4

  • Fix: Blocks API translations

1.23.3

  • Fix: Blocks API fixes

1.23.2

  • Feature: WordPress 6.7.1 support

1.23.0

  • Feature: Blocks API support

1.22.6

  • Fix: Use billing address phone if phone is not available in shipping address

1.22.5

  • Fix: Improve shipping address validation

1.22.4

  • Fix: Pickup selection width
  • Fix: Security issue
  • Fix: Use billing address if shipping address is not available

1.22.3

  • Fix: Pickup selection validation error
  • Fix: Pickups loading issue

1.22.1

  • Fix: Get order_id from global scope if not set

1.22.0

  • Feature: Add shortcut [venipak_tracking order_id=”{order_id}”]

1.21.5

  • Fix: Resolved an issue that caused errors during order processing when no shipping method was selected

1.21.4

  • Fix: Auto package count

1.21.3

  • Fix: Use shipping company in label if defined

1.21.2

  • Fix: Pickup list loading issue

1.21.1

  • Fix: Pickup list loading

1.21.0

  • Feature: Predefined product-specific shipment counts
  • Fix: Use phone from shipping details
  • Fix: Deprecated PHP error

1.20.0

  • Feature: HPOS support
  • Feature: Remember the last selected pickup point
  • Fix: Size restrictions for variations
  • Fix: Pickup list update

1.19.8

  • Fix: Error log cleanup

1.19.7

  • Fix: Sequence of labels

1.19.6

  • Fix: Security vulnerability – Cross Site Scripting (XSS)

1.19.5

  • Fix: Set default product count for one label

1.19.4

  • Fix: Load JS and CSS only on cart or checkout pages

1.19.3

  • Fix: Lockers list update period set to 1 day

1.19.2

  • Fix: Locker weight conditions. It is now possible to create multiple locker shipping methods based on weight

1.19.1

  • Fix: Multiple labels print order

1.19.0

  • New Feature: Print multiple labels
  • Fix: The courier method was not displayed because the minimum weight was not set
  • Fix: Pickup selection alignment to the right

1.18.0

  • New Feature: Return label service

1.17.13

  • Fix: PHP warning

1.17.12

  • Fix: Disable 30kg locker limit

1.17.11

  • Fix: Pickup selector
  • Fix: Shipping method title design
  • Fix: COD validation