Frequently asked questions
Questions I get asked repeatedly — verified against the plugin code and the Messenger API documentation.
Does the plugin support age verification (18+ / Age Check)?
Section titled “Does the plugin support age verification (18+ / Age Check)?”Age Check is a Messenger-side service, not an API parameter — the Messenger import API has no field for it, so there is nothing the plugin could send. If you have Age Check active on your contract for all shipments, you don’t need to configure anything in the plugin.
The one thing to check with Messenger: whether they tie Age Check to a specific shipping type number. If so, enter that number under WooCommerce → Settings → Shipping → Messenger → Typ přepravy. Note that the shipping type is a global setting — it applies to all Messenger shipping instances, not per shipping zone.
If Messenger ever needs an extra field in the shipment data, the
kbnt_messenger_order_data
filter lets you add any parameter to the API payload — globally or
conditionally (e.g. only for orders containing alcohol).
How do I get the tracking number into a customer e-mail?
Section titled “How do I get the tracking number into a customer e-mail?”The plugin shows the tracking link on the order detail in the admin, but does not add it to customer e-mails by itself. Two things to know first:
- The “Completed order” e-mail is sent only after delivery (see Order status lifecycle), so a tracking link there arrives too late to be useful.
- Messenger notifies the recipient anyway — an SMS with a delivery window on the delivery day, and since plugin version 2.7.0 they also receive the customer’s e-mail address. A tracking link from the e-shop is a nice-to-have, not a necessity.
If you want it anyway, the tracking data is stored in order meta, so a small snippet does the job — it prints the link into any customer e-mail generated after the order was handed to Messenger:
add_action('woocommerce_email_before_order_table', function ($order, $sent_to_admin, $plain_text, $email) { // Only for customer e-mails and orders already handed to Messenger. if ($sent_to_admin || ! $order->get_meta('_kbnt_messenger_tracking_url')) { return; } printf( '<p>Track your shipment: <a href="%s">%s</a></p>', esc_url($order->get_meta('_kbnt_messenger_tracking_url')), esc_html($order->get_meta('_kbnt_messenger_tracking_code')) );}, 10, 4);Is the plugin compatible with invoicing plugins and WooPayments?
Section titled “Is the plugin compatible with invoicing plugins and WooPayments?”There is no direct conflict — the plugin doesn’t touch payment gateways or invoicing. What you do need to account for is the order status lifecycle:
- WooPayments (and other gateways) work as expected: a successful payment sets Processing, which is exactly what triggers the handover to Messenger. Card payments are correctly not treated as cash on delivery.
- Invoicing plugins (Toret Fakturoid and others): bind invoice creation to the Processing status. Anything bound to Completed fires only after delivery — often days later.
- Integrations that check whether an order is paid work correctly from plugin version 2.7.0, which registers the Messenger status among WooCommerce’s paid statuses.
The general rule: anything that reacts to Completed behaves differently with this plugin than in a vanilla WooCommerce shop, because Completed means delivered.
How does the plugin split orders into packages?
Section titled “How does the plugin split orders into packages?”See the dedicated page: Package splitting. The short version: items-per-package first, weight as a safety cap, and every product needs a weight set in WooCommerce.
Was this page helpful?
Thanks for the feedback!
Sorry to hear that. Tell me what was missing and how I can help →