Skip to content

WooCommerce QuickShipper Shipping Method

Documentation for the Plug and Pay WooCommerce QuickShipper Shipping Method plugin.

Requirements

Technical Requirements

  • PHP: 8.1, 8.2, or 8.3
  • ionCube Loader: Required. For version requirements and installation details, see IonCube Loader.
  • WooCommerce: 3.6 or higher

Store Setup Prerequisites

  • Google Maps API Key: Required for the interactive map selection.
  • QuickShipper Account: Username and Password provided by QuickShipper.
  • Store Location: Coordinates (Latitude/Longitude) for your warehouse or store location.

Technical Specification & Feature Support

FeatureSupported
HPOS✅
Shipping Zones✅
Real-time Rates✅
Interactive Map✅
Shipment RegistrationManual or Automatic
Shipment Tracking✅
Test Mode✅
Configurable Map Position✅
Debug Mode✅

Setup

Global Settings

Go to WooCommerce > Settings > Shipping > QuickShipper to configure the global API settings:

  1. Username & Password: Your QuickShipper account credentials.
  2. Google Map Key: Required to display the map for point selection.
  3. Store Location: Set your store's Longitude, Latitude, Address, and Phone.
  4. Registration Mode: Choose between Manual or Automatic registration.
  5. Map Position: Choose where the interactive map appears on the checkout page — after address line 1, after city, or after postcode.
  6. Show logo: Toggle the QuickShipper logo visibility on the checkout page.
  7. Debug Log: Enable this to log API requests and rate calculation details.

Shipping Zones

After configuring the global settings, add the QuickShipper delivery method to your desired shipping zones under WooCommerce > Settings > Shipping > Shipping zones.

Checkout Behavior

Interactive Map

Customers can select their precise delivery location using an interactive Google Map during checkout.

Real-time Rate Calculation

The shipping rate is calculated in real time based on the distance from the configured store location to the point selected by the customer.

Managing Shipments

Register a Shipment

The plugin supports two registration modes:

  • Manual (Default): Store administrators manually register the shipment from the WooCommerce order details page.
  • Automatic: Shipments are automatically registered with QuickShipper as soon as the order payment is completed.

Shipment Tracking

Tracking numbers are automatically associated with the WooCommerce order. Additionally, a real-time tracking status table is displayed directly on the order details page, allowing you and your customers to monitor the delivery progress without leaving the site.

Debugging

WooCommerce Shipping Debug Mode

When configuring or troubleshooting rates, enable WooCommerce shipping debug mode so cached rates do not hide settings or interactive-map changes:

  1. Go to WooCommerce > Settings > Shipping > Shipping options.
  2. Enable Debug mode.
  3. Save the changes.

Disable WooCommerce shipping debug mode again after testing because it can affect checkout performance.

QuickShipper Debug Log

Enable Debug Log in the QuickShipper global or shipping-zone instance settings, then review entries under WooCommerce > Status > Logs using the quickshipper_method source.

Actions & Filters

plugandpay_woocommerce_quickshipper_method_override_calculate_shipping_meta_data

Type: filter

When: Before requesting delivery fees from QuickShipper — controls the coordinates and address metadata used for rate calculation.

ParameterTypeDescription
$meta_dataarraySender and receiver coordinates/address data.
$packagearrayWooCommerce shipping package.

The $meta_data array contains:

KeyTypeDescription
store_addressstringSender address saved with the rate and used during registration.
store_phonestringSender phone saved with the rate and used during registration.
from_longitudefloatSender longitude used for the quote and registration.
from_latitudefloatSender latitude used for the quote and registration.
to_longitudefloatRecipient longitude used for the quote and registration.
to_latitudefloatRecipient latitude used for the quote and registration.
from_street_namestringSender street sent to the delivery-fee request.
to_street_namestringRecipient street sent to the delivery-fee request.
cart_amountfloatPackage merchandise total including line tax.
cart_weightfloatPackage product weight in kilograms.

All values are saved as shipping-line metadata. Keep store_address and from_street_name aligned when switching warehouses: the former is used for registration and the latter for the price request.

add_filter(
    'plugandpay_woocommerce_quickshipper_method_override_calculate_shipping_meta_data',
    function( $meta_data, $package ) {
        // Route this package from a different warehouse.
        $meta_data['store_address']    = '1 Warehouse Street, Batumi';
        $meta_data['store_phone']      = '599123456';
        $meta_data['from_street_name'] = $meta_data['store_address'];
        $meta_data['from_longitude']   = 41.6168;
        $meta_data['from_latitude']    = 41.6367;

        return $meta_data;
    },
    10,
    2
);

WooCommerce Core Hooks

The WooCommerce method ID is quickshipper_method.

Use the standard woocommerce_package_rates filter to change the QuickShipper checkout cost or label. See General Shipping Hooks for examples based on cart total, destination city, or products.