Pirate Ship’s WooCommerce integration makes it simple to import your orders and turn them into shipping labels. When you buy postage for your WooCommerce orders using Pirate Ship, the order is automatically marked as "Completed" in WooCommerce and the tracking number is attached to the order as an "Order Note" or a "Customer Note" depending on your settings.

Minimum requirements:

  1. Your WooCommerce plugin must be at least version 2.6 or newer.
  2. Your Wordpress installation must be at least version 4.4 or newer.
  3. You must have an SSL certificate installed on your website (https://)

Here's how to connect Pirate Ship to WooCommerce:

  1. In Pirate Ship, head to Settings > Integrations > Connect New Source > WooCommerce.
  2. Enter the URL of your WooCommerce store and click "Connect".

Once your WooCommerce store is connected, click back to the "Ship" page in Pirate Ship and you'll see a new option: "Import from WooCommerce". From here you’ll see all of the orders in your store that have the "Processing" status. Pirate Ship will refresh the data periodically, but make sure to click the Refresh Data button to make sure you’re always looking at the most current order list.  

You can click any of the columns to filter or sort the data to group and select which orders you would like to create shipments for.

In Pirate Ship’s Settings > Integrations > WooCommerce page you can adjust several settings:

  • You can select which Statuses you’d like Pirate Ship to import, by default we'll only import orders marked as "Processing".
  • You can edit the Field Mapping to have some of the WooCommerce order data printed in small text in the corner of the shipping label. This is commonly used to print Order Items or an Order ID on each label, which can be helpful.
  • You can also choose to enable Pirate Ship's tracking email (which have the added ability to be scheduled for a specific date and time). Just go to Settings > Integrations > Edit WooCommerce. You'll see a checkbox that says "Enable Pirate Ship's Tracking Emails for WooCommerce shipments." You can configure how this email looks and the subject line by going back to Settings > Tracking Emails.

    Important Note on Emails:
    If you enable Pirate Ship's emails, the tracking information will be pushed back to Woo as a private Order Note, which will not trigger any email notifications within WooCommerce. But if you disable Pirate Ship's emails, the tracking information will be pushed back to Woo as a Customer Note, which will trigger the Customer Note email template within WooCommerce if you have it enabled. 

Keep in mind, WooCommerce may also trigger an email notification when the status of an order gets changed to "Completed". Generally, it's best to disable this email template in WooCommerce. You can configure this notification in your WooCommerce settings under the "Emails" tab.

A note on refunding labels:

If for any reason you need to "Refund" a label that won't be used, Pirate Ship will automatically change the associated WooCommerce order status from "Completed" back to "Processing". 

Common integration errors:

If you get an error saying Pirate Ship “could not integrate with your WooCommerce store”:

  • Make sure you're using the minimum required versions of WooCommerce / Wordpress listed above.
  • Make sure your website uses an SSL certificate.
  • In your browser, add /wp-json/wc/v1 to the URL you're trying to connect to (for example, https://www.yourwebsite.com/wp-json/wc/v1) and see if it gives you an error. If there is an error, the problem is on your side and you'll need to fix the error that page is showing.
  • Contact your hosting company or developer and ask them to whitelist Pirate Ship's User Agent String ("Pirate Ship WooCommerce Integration"). Sometimes firewalls will block unknown User Agents. They can test, if everything is working by running the following command: curl --verbose --user-agent "Pirate Ship WooCommerce Integration" https://www.yourwebsite.com/wp-json/wc/v1
    They should receive a HTTP response (200) and JSON result of your store configuration.
Did this answer your question?