Probo Connect for WooCommerce

Getting started with the Probo Connect plug-in for Wordpress WooCommerce

Below you'll find instructions to quickly get started with the Probo plugin. Running into something? Then read through this page carefully first. Isn't the solution to your problem listed here? Then get in touch at api@probo.nl. This page is in English; more advanced topics are offered exclusively in English.

A flying start

Want to get started with the plug-in quickly? Below you'll find the requirements and actions so you can get going right away.

  • A basic knowledge of WordPress and/or WooCommerce. Don't have that? Then get in touch with a WordPress specialist near you.
  • Install WordPress and WooCommerce if you haven't done so yet.
  • Make sure you have your Probo API token at hand.
  • Download Probo Connect via the plug-in directory in WordPress.
  • Activate Probo Connect.
  • Follow the steps on the Probo Dashboard within WooCommerce.

Good to know: the Probo uploader only works in combination with the classic cart. The Probo delivery dates only work in combination with the classic checkout.

Frequently asked questions.

Below we've tried to answer as many common questions as possible.

General

Do you have a demo environment?

We've deliberately chosen not to create a demo environment. You can install the plug-in on your own (test) environment or optionally test in the WordPress Playground.

Do you help with installation and implementation?

Probo does not help with the installation and implementation of the plug-in. This may sound strange, but we only provide technical support on our own plug-in. This FAQ hopefully contains the pointers to help you further. If you can't figure it out, we're happy to think along with you or refer you on. Get in touch via api@probo.nl.

Are there any costs to using the API and/or plug-in?

No. The Probo API and the WooCommerce plug-in are free for our customers.

How do I get a Probo account?

More information about that can be found here → https://apidocs.proboprints.com/requesting-a-probo-account

How do I get a Probo API token?

Once your account has been approved and you have the option to pay on account, you can request an API token via My Account → Details and Preferences → API connection. Then enter the key under WooCommerce → Settings → Probo Connect.

Does this also work for Shopify?

No, this plug-in only works for WordPress in combination with WooCommerce.

Installation & requirements

The plugin doesn't activate or gives an error on activation

Check the minimum requirements: WordPress 6.7 or higher, PHP 8.0 or higher and an active WooCommerce installation. On PHP 7.4 or an older WooCommerce version the plug-in doesn't work reliably. Not sure which versions you're running? Then check under WooCommerce → Status or ask your hosting provider.

I can't find the Probo settings anywhere

The settings are located under Probo Connect → Settings or WooCommerce → Settings → Probo Connect. Don't see that tab? Then WooCommerce isn't active or isn't fully loaded. Activate WooCommerce first and then check again.

Does the plugin work with HPOS (High-Performance Order Storage)?

Yes, Probo Connect supports HPOS. Is WooCommerce still showing an "incompatible" warning? Then that's caused by another order-related plug-in that isn't HPOS-compatible — not by Probo Connect.


Products

When do you choose which product?

API Products are standard WooCommerce products (simple or variable) that are linked to a Probo product code. You determine the print file, you determine the price, and your customer simply sees a normal product page. You manage API Products via your Probo platform.

Configurable Products let your customers choose product options themselves (format, material, finishing, quantity), upload their own design and see the price in real time — all via the Probo configurator on the product page.

I want to place the configurator somewhere else

By default the configurator is loaded automatically on the product page. Want it somewhere else? Then check the settings under Probo → Settings → Advanced settings. There you can turn off the automatic loading and place the shortcode [connect_configurator] yourself wherever you want.

The configurator is in Spanish, but the options aren't

We've translated the standard elements of the configurator. You set the language via the setting probo_configurator_language. The options of the configurator (labels and values from the Probo API) are not translated automatically. You can adjust these yourself via the Editor on a Probo Configurable product.

Prices aren't correct

Check your margin settings (probo_default_margin_multiplier and any rush margins) and the price mode/VAT settings of the configurator (probo_configurator_price_mode and probo_configurator_price_tax). Good to know: prices deliberately cannot be adjusted from the frontend — that's a security measure.

Products don't sync or show outdated data

The synchronization runs in the background via WP-Cron and only updates products that have actually changed. Go through these points:

  • Is WP-Cron running on your site? On low-traffic sites or with an external cron, the sync may not start by itself.
  • Does the product have a valid Probo API code?

Turn on Advanced → Logging → Products sync* (probo_logging_products_sync) to see what's happening.


WooCommerce

How do I set up the classic cart and classic checkout?

For a number of years now, WooCommerce has used standard blocks for the cart and checkout. The Probo uploader and the Probo delivery dates only work with the classic variants. Here's how to set those back:

Go to Pages* in your WordPress dashboard.

Open the Cart* page and edit it.

  • Remove the existing cart block.

Add the Classic cart* block or a Shortcode block and place in it: [woocommerce_cart]

Save the page.

Then do the same for the checkout:

Open the Checkout* page and edit it.

  • Remove the existing checkout block.

Add the Classic checkout block or a Shortcode block* and place in it: [woocommerce_checkout]

Save the page.

Tip: after switching, always test a full order in your (test) environment, so you know for sure that everything runs through correctly.


Troubleshooting

The connection with Probo isn't working

Most common causes:

  • API key copied incorrectly (space or truncated).
  • Server blocks outgoing HTTPS traffic to api.proboprints.com (firewall/proxy). Check this with your hosting provider.
  • Wrong environment: sandbox vs. production.

Turn on Advanced → Logging → Outgoing API calls (probo_log_outgoing_api_calls) to see exactly what the API returns. The Authorization header is never logged, so your API key stays safe.

My order is being cancelled — what happened?

First check that sandbox mode isn't accidentally turned on (probo_sandbox_mode); sandbox orders are not actually executed. Set up an error email (probo_error_email) to receive error notifications, and consult the order log (probo-order-{id}) via WooCommerce → Status → Logs.

My order doesn't come through to Probo

Set up an error email (probo_error_email) to receive error notifications, and consult the order log via probo-order-{id} under WooCommerce → Status → Logs. The order is normally sent when reaching the status defined under probo_order_send_on_status_summary. It's possible that your theme has modified or removed this action. You can adjust the action via Probo → Settings → Advanced settings.

In addition, check:

  • Are your API credentials filled in and valid?
  • Does the product have a valid Probo product ID / API code linked?

Elementor: use the Elementor widget for the configurator, or use the shortcode [connect_configurator] on the product page. Don't forget to turn off the automatic loading of the configurator.

Divi: use the shortcode at the desired location. Here too, don't forget to turn off the automatic loading.

For custom themes or page builders, the shortcode is often more reliable than the automatic loading.

The configurator does load, but keeps hanging on a spinner

The configurator communicates with Probo via your own website, so your API key isn't visible to visitors. That connection uses a security check (same-site check). Do you use caching, a CDN or a reverse proxy? Then those check requests may be blocked. You can temporarily test with the setting probo_bypass_same_site_check — but note: understand the security implication before you leave this on in production.

The uploader doesn't show

Our uploader only works in combination with the classic cart. Make sure you've made it available (see "How do I set up the classic cart and classic checkout?"). If you only use simple products and not the Probo uploader, then you don't need to use the classic cart.

Good to know: products that don't need a file (for example template products) deliberately don't show the uploader button.

The uploader status keeps hanging

In the "files after order" flow, the plug-in regularly checks the status with Probo. Check the uploader sessions page and the poll interval (probo_uploader_polling_interval). Still not working? Then check whether admin-ajax.php is reachable on your site — some security plug-ins block this.

The shipping methods aren't shown

Our shipping method selection only works with the classic checkout (see "How do I set up the classic cart and classic checkout?"). You can optionally block the checkout until the customer has chosen a delivery date/shipping method (probo_require_shipping_selection).

Customers can check out without a confirmed upload

Turn on probo_require_confirmed_upload to block the checkout until the Probo uploader is confirmed. The customer then sees a notice in the cart and at "Place order".

Order statuses in WooCommerce don't update from Probo

Status updates from Probo come in automatically on your website via a webhook. Isn't this working?

The webhook endpoint must be publicly reachable. Security plug-ins or firewalls that block REST routes will break this.

Check your status mapping (probo_status_mapping), so that Probo statuses fall onto the correct WooCommerce statuses.

Turn on Advanced → Logging → Incoming callbacks (probo_log_incoming_callbacks) to check whether the updates are coming in.

Does it work with WooCommerce Shipping & Tracking?

Yes. As soon as a status update contains a track & trace code, it's automatically added to the order.

The contact_email setting isn't working

The address at probo_contact_email must be an existing Probo merchant login, otherwise the API refuses it. So use the email address you log in with to your Probo account.


Diagnosis & support

How can I view the payload of an order myself (debugging)?

Want to see exactly which data is sent to Probo (address, products, configuration, delivery date)? That's possible without code, via a built-in debug action:

Open the order via WooCommerce → Orders.*

In the Order actions* block (on the right, near the "Update" button) choose the action "Log Probo payload (debug)" and run it.

  • The full payload that would go to Probo is written to the order log.

View the log via WooCommerce → Status → Logs,* or via the "View order log" link in the Probo Order Panel. Each order has its own log source: probo-order-{id}.

Want to see the payload of every order that is actually synced? Then turn on Advanced → Logging → Outgoing API calls (probo_log_outgoing_api_calls). Each API call is then logged; the Authorization header is never logged.

Important to know:

  • Turn logging off again after debugging — it's off by default for performance.
  • The payload contains customer data (name/address). So don't just share logs.

Want to change something in the payload instead of only viewing it? That's custom work via hooks (probo_order_payload_filter_*) and requires a developer.

How do I best debug problems?

All logging is off by default (for performance) and you turn it on per category under Advanced → Logging:

  • Order processing (probo_logging_orders)
  • Products sync (probo_logging_products_sync)
  • General (probo_logging_general)
  • Incoming callbacks (probo_log_incoming_callbacks)
  • Outgoing API calls (probo_log_outgoing_api_calls)

Each category has a "view log" link. You'll find the logs under WooCommerce → Status → Logs. Order logs are grouped per order (probo-order-{id}). Only turn on what you need.

I have a lot of stuck scheduled actions

Use the maintenance tool (probo_clear_scheduled_actions) to cancel and clean up Probo scheduled actions. With the same tool you can also clear log files per category.

Advanced articles
  1. Extending the logic; hooks and filters
  2. Creating a custom uploader
  3. Changing the styling