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
| Feature | Supported |
|---|---|
| HPOS | ✅ |
| Shipping Zones | ✅ |
| Real-time Rates | ✅ |
| Interactive Map | ✅ |
| Shipment Registration | Manual 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:
- Username & Password: Your QuickShipper account credentials.
- Google Map Key: Required to display the map for point selection.
- Store Location: Set your store's Longitude, Latitude, Address, and Phone.
- Registration Mode: Choose between Manual or Automatic registration.
- Map Position: Choose where the interactive map appears on the checkout page — after address line 1, after city, or after postcode.
- Show logo: Toggle the QuickShipper logo visibility on the checkout page.
- 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:
- Go to WooCommerce > Settings > Shipping > Shipping options.
- Enable Debug mode.
- 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.
| Parameter | Type | Description |
|---|---|---|
$meta_data | array | Sender and receiver coordinates/address data. |
$package | array | WooCommerce shipping package. |
The $meta_data array contains:
| Key | Type | Description |
|---|---|---|
store_address | string | Sender address saved with the rate and used during registration. |
store_phone | string | Sender phone saved with the rate and used during registration. |
from_longitude | float | Sender longitude used for the quote and registration. |
from_latitude | float | Sender latitude used for the quote and registration. |
to_longitude | float | Recipient longitude used for the quote and registration. |
to_latitude | float | Recipient latitude used for the quote and registration. |
from_street_name | string | Sender street sent to the delivery-fee request. |
to_street_name | string | Recipient street sent to the delivery-fee request. |
cart_amount | float | Package merchandise total including line tax. |
cart_weight | float | Package 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.