Introduction

Last modified:

Ingrid Delivery Checkout for WooCommerce is a plugin that extends WooCommerce, allowing you to make shipments via Ingrid.

You can download the plugin here.

As of version 2.9.0, Ingrid Delivery Checkout for WooCommerce supports High-Performance Order Storage (HPOS).

Warning

Ingrid Delivery Checkout for WooCommerce does not support the Checkout block in WooCommerce.
You can read more about this here.

Sign up with Ingrid

You need an agreement with Ingrid to be able to use this plugin.

Installation

  1. Login to WordPress Admin. Navigate to Plugins → Add New (in the left column menu).
  2. Click Upload Plugin and then browse to the plugin zip-file on your computer. Click on OK and finally click on the Install Now button.
  3. Activate the plugin.

Configuration

Go to: WooCommerce → Settings → Shipping

Now Ingrid Delivery Checkout is displayed as an available option in the horizontal menu at the top. Click on this link to access the Ingrid settings.

WooCommerce shipping settings with the Ingrid Delivery Checkout link highlighted in the horizontal menu

Basic settings

  1. API Key – Enter your API key that you will receive from Ingrid once you have your agreement.
  2. Delivery API version – Check this box to use the new API (Delivery Checkout v2).
  3. Test mode – Check this box to use the Ingrid Staging Environment.
  4. Ingrid address form – Check this box if you are using Ingrid’s address form.
  5. Fallback shipping method – Enter the shipping method you want as backup in the event of WooCommerce being unable to connect to Ingrid.
  6. New widget placement – Check this box to use the new widget placement logic. When this box is checked the Ingrid Delivery Checkout will be displayed where the shortcode is placed. If not checked the widget will be displayed in the default position.
  7. Widget placement hook – Choose the hook where you want the Ingrid Shipping widget to be displayed.
    Widget placement hook dropdown with the available checkout hooks
  8. Custom placement hook – Enter a custom hook where you want the Ingrid Shipping widget to be placed.
  9. Update on product page – Check this box to create and update Ingrid session when a product is added to the cart, to be able to get shipping price before customer navigates to checkout page.
Ingrid Delivery Checkout basic settings with API key, API version, test mode, address form, fallback shipping method and widget placement

Delivery tracking

  1. Site ID – Enter the Site ID received from the Ingrid administration portal.
  2. Tracking number field name – Order post meta name used when sending tracking number to Ingrid. Leave blank to use the plugin default.

Read more about delivery tracking in this section.

Delivery tracking settings with the Site ID and Tracking number field name fields

Product Page Widget

  1. Auth token – Enter the Product page widget token received from the Ingrid administration portal.
  2. Product Page Widget placement – Choose where you want the Product Page Widget to be displayed.
  3. Custom placement hook – Enter a custom hook where you want the Product Page Widget to be displayed.
  4. Custom placement hook priority – Enter a priority for the custom hook where you want the Product Page Widget to be displayed.
  5. Tax status – Always Taxable. The dropdown has no other option, because shipping from Ingrid is always taxable in WooCommerce. The setting is there because WooCommerce requires a tax status for every shipping method.
Product Page Widget settings with auth token, widget placement, custom placement hook, hook priority and tax status
Product Page Widget placement dropdown with positions on the product page

Displaying Ingrid Delivery Checkout

Go to Shipping zones in the horizontal menu at the top and remove any existing Shipping Zones as they will conflict with Ingrid.

WooCommerce shipping settings with the Shipping zones link highlighted

Edit your Checkout page and add the shortcode [woocommerce_ingrid] above [woocommerce_checkout].

WordPress Pages list with the Checkout page highlighted
Checkout page in the block editor with the woocommerce_ingrid shortcode above the woocommerce_checkout shortcode

Cart data sent to Ingrid

For each order line sent to Ingrid the following data will be passed:

  • sku
  • name
  • price
  • quantity
  • height, width & length
  • weight
  • out of stock
  • attributes – (as an array) both regular product attributes (as pa_attributename:attributevalue) and variable product variants (as variantvalue).

For the entire order the following data is sent to Ingrid:

  • vouchers – (as an array) the name of the coupon code used. If the coupon code enables free shipping, a voucher named free_shipping will also be sent.
  • purchase_country
  • purchase_currency

This data can be used when creating conditional logic in your Ingrid account.

Shipping data in WooCommerce order

When an order has been created in WooCommerce, the name and price of the selected shipping method in the Ingrid Delivery Checkout widget is added to the order.

Shipping line in a WooCommerce order showing PostNord with cost and tax

The order ID created in Ingrid’s system for the shipment is saved as an order post_meta field with the name ingrid_tos_id. This id can be used to make API requests to Ingrid to retrieve more information about the shipment.

More information about the shipment is saved as an order post_meta field with the name _ingrid_shipment_info. This data is stored as a JSON object with the following structure:

{
	"session_id": "c9a16f51-937a-4e88-8b80-633aafc827ce",
	"tos_id": "01FPW7NJ0KQR9F2PNBENMS4G47",
	"currency": "SEK",
	"cost": 29,
	"category_name": "PostNord",
	"shipping": {
		"method_id": "pnl-mpc",
		"external_method_id": null,
		"carrier": "PostNord",
		"product": "MyPack Collect",
		"location": {
			"name": "Ica Kvantum Arvika",
			"id": "204160"
		}
	}
}

For shipping methods that do not have a pickup point the “location” parameter will not be included in the structure.

From version 2.6.0 of the plugin, the following data is also stored as separate order meta data fields:

  • Shipping method id – _ingrid_method_id.
  • External method id – _ingrid_external_method_id.
  • Service location id (pickup point or box) – _ingrid_location_id.
  • Availability token (Instabox) – _ingrid_availability_token.
  • Shipment carrier – _ingrid_carrier.

Multiple store currencies

In Ingrid’s system you specify shipping options – and prices – per region. The easiest and most straightforward way to handle multiple currencies in your store together with Ingrid is to force a currency to a specific set of countries/regions.

That way you can have a setup like this:

  • In WooCommerce you force NOK as the currency for customers from Norway.
  • In Ingrid you specify shipping prices in NOK in the region Norway.

If this isn’t possible, you can enable Ingrid’s Currency Conversion logic. Contact Ingrid customer support team to enable this feature. More info can be found in Ingrid’s docs about currency conversion.