Title: SoftSquare Shipping Gateway for WooCommerce
Author: Izhan
Published: <strong>September 29, 2026</strong>
Last modified: September 30, 2026

---

Search plugins

![](https://ps.w.org/softsquare-shipping-gateway-for-woocommerce/assets/icon-256x256.
png?rev=3718994)

# SoftSquare Shipping Gateway for WooCommerce

 By [Izhan](https://profiles.wordpress.org/izhan47/)

[Download](https://downloads.wordpress.org/plugin/softsquare-shipping-gateway-for-woocommerce.1.2.4.zip)

 * [Details](https://wordpress.org/plugins/softsquare-shipping-gateway-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/softsquare-shipping-gateway-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/softsquare-shipping-gateway-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/softsquare-shipping-gateway-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/)

## Description

SoftSquare Shipping Gateway for WooCommerce is a TCS Pakistan shipping plugin that
connects your WooCommerce store to TCS for shipment booking, shipment tracking, 
shipping label generation, COD delivery, and day-to-day shipment management, without
anyone retyping an address into a courier portal.

**This is an independent third-party integration developed and maintained by SoftSquare.
It is not affiliated with, endorsed by, sponsored by, or officially supported by
TCS.** TCS is a trademark of its respective owner and is used here only to describe
the courier this plugin connects WooCommerce to.

This plugin does not talk to TCS directly; it works through the SoftSquare service,
which is required for booking, printing or tracking. See **External Services** below
for exactly what is sent and when.

### Features

Everything listed here is implemented in the plugin. Nothing is planned or partial.

 * Book a TCS shipment directly from a WooCommerce order, or automatically when 
   an order reaches a status you choose
 * Cancel a TCS booking, re-book it with corrected details, or book a TCS reverse
   pickup
 * TCS COD (cash-on-delivery) support, with the amount to collect taken from the
   order total or set per order
 * Generate and print a TCS shipping label (consignment note) as a PDF, stored locally
   so reprints are instant
 * Bulk-book TCS shipments and bulk-print TCS shipping labels from the orders list
 * Track a TCS consignment from the WooCommerce order screen, and from a public 
   TCS tracking page via the `[tcs_tracking]` shortcode
 * Hourly TCS shipment status refresh, plus a signed webhook the service can call
   the moment a status changes
 * Move the WooCommerce order status automatically when TCS delivers or returns 
   a parcel
 * Email the customer, the store, or both when a TCS shipment’s status changes, 
   optionally through your own SMTP server
 * A searchable list of TCS Pakistan destinations at checkout, bundled with the 
   plugin, so every order carries a station code TCS recognises
 * Enter and test your TCS account credentials from the WooCommerce settings screen
 * An activity log of every call the site makes to the SoftSquare/TCS gateway, with
   credentials redacted

### Configuration

All settings for connecting WooCommerce to TCS Pakistan live under **SoftSquare 
Shipping  Settings** in the WordPress admin.

 * **TCS account** — your API username, password and bearer token, your TCS account
   number and cost centre. These are issued by TCS, not by SoftSquare or by this
   plugin.
 * **Collection address** — where parcels are picked up from. A booking is refused
   without it.
 * **Booking defaults** — service code, currency, default weight, what goes in the
   content description.
 * **Store behaviour** — which payment methods count as COD, which order statuses
   trigger an automatic booking, whether to show the TCS city field at checkout.
 * **Status emails** and **Sending mail (SMTP)** — who is told when a parcel moves,
   and which mail server sends it.

Press **Test connection** after saving. It asks the service to authenticate against
TCS there and then, and reports what TCS said.

### Usage

Open any WooCommerce order. The **TCS shipment** panel on the right will book the
parcel, and from then on shows the consignment number, the current status and a 
button to print the consignment note.

To book several at once, tick them in the orders list and choose **Book with TCS**
from the bulk actions menu.

For customers, put the `[tcs_tracking]` shortcode on a page. Activating the plugin
creates a draft page called **Track your order** containing it; publish that page
to turn it on. The shortcode accepts `[tcs_tracking accent="#7b2d52" width="900px"]`
if you want it to match your theme more closely than it manages on its own.

### External Services

This plugin relies on one external service and cannot work without it.

**Service:** SoftSquare Shipping Gateway
 **Operated by:** SoftSquare **Endpoint:**
https://app.softsquare.io

**Why it is used.** The service holds your TCS credentials and performs the courier
API calls. Your WordPress site never contacts TCS directly. This exists so that 
one set of courier credentials can serve a store without those credentials being
used from the store’s own server.

**What is sent, and when.**

_When you press “Connect this site” under SoftSquare Shipping  Settings:_ the site
URL and its domain, so the service can register the site and issue a signing secret.
The service then fetches a one-time random token back from this site to prove the
domain is yours. Nothing is sent to SoftSquare before you press this button.

_When you save the settings screen:_ the TCS credentials you entered (API username,
password, bearer token), your TCS account number, customer number and cost centre
code, your collection address (name, street address, postcode, city, country, mobile
number), and your booking defaults. This is the only time credentials are transmitted,
and only because you pressed Save.

_When an order is booked — either by pressing Book, by a bulk action, or automatically
when an order reaches a status you configured:_ the order number and reference, 
and for the recipient: first and last name, full shipping address including city,
postcode and country, phone number, and email address. Also the COD amount, order
total, currency, parcel weight and piece count, service code, cost centre, and a
description of the contents. If “Include SKUs” is on, each line item’s description,
quantity, unit price and SKU are included.

_When you print a label:_ the consignment number.

_When you track a parcel, and hourly for parcels still in transit:_ the consignment
number.

_When a visitor uses the tracking shortcode:_ only the consignment number they typed.
No customer or order data is sent for a public tracking lookup.

_When you cancel, re-book or book a reverse pickup:_ the consignment number, and
for a re-booking the same order data as the original booking.

No analytics, usage statistics or telemetry are sent. No data is sent on a schedule
except the hourly status check described above, which carries consignment numbers
only.

**Terms of service:** https://softsquare.io/wp-term
 **Privacy policy:** https://
softsquare.io/wp-privacy

### Privacy

The customer data this sends, and when, is listed in full under **External Services**
above; this section covers what that means for your own privacy obligations.

Data is only ever sent as a result of an action you or your configuration initiated:
pressing Book, running a bulk action, saving settings, or an order reaching a status
you chose to auto-book on. Nothing is sent when a customer simply places an order
unless you turned automatic booking on.

If you are subject to GDPR or a similar regime, you should name SoftSquare as a 
processor in your privacy policy, alongside TCS as the carrier.

Stored on your own site: an activity log of every call made to the service, with
credentials redacted but the rest of the request and response kept as sent — so 
a booking call’s log entry includes the same recipient name, address, phone number
and order details that went to the gateway. This log is only visible to users who
can manage WooCommerce, is kept for 30 days by default (configurable), and can be
cleared at any time from **SoftSquare Shipping  Activity log**. Also stored: consignment
numbers and courier status against each order; and label PDFs in `wp-content/uploads/
ssg-labels/`, protected by a random filename and served only to users who can already
view the order. Uninstalling deletes the settings, the activity log and the stored
labels. Consignment numbers on orders are kept, because they are the record of a
real shipment.

### Security

TCS credentials are entered by the merchant and stored in the WordPress options 
table with the plugin’s other settings. They are sent to the SoftSquare service 
over HTTPS when you save the settings screen, and are held there — the plugin does
not need them again to book a parcel.

Credentials are never printed in full in the admin. A saved value shows only its
length, and for the bearer token the first and last few characters, which is enough
to tell a wrong credential from one that was truncated on the way in. Credentials
are stripped from the activity log before it is written, and never appear in an 
error message shown to a customer.

Requests from this site to the service are signed with HMAC-SHA256. The webhook 
the service calls back on is signed the same way and verified with `hash_equals`
before anything is acted on.

No credentials are hard-coded anywhere in this plugin.

### Credits

Developed and maintained by SoftSquare — https://softsquare.io/

TCS is a trademark of its respective owner. SoftSquare Shipping Gateway for WooCommerce
is an independent third-party integration and is not affiliated with, endorsed by,
sponsored by, or officially supported by TCS.

## Screenshots

[⌊TCS shipment details and shipment actions directly inside a WooCommerce order.⌉⌊
TCS shipment details and shipment actions directly inside a WooCommerce order.⌉[

TCS shipment details and shipment actions directly inside a WooCommerce order.

[⌊Manage TCS shipments, consignment numbers, order references, delivery status, 
and COD amounts.⌉⌊Manage TCS shipments, consignment numbers, order references, delivery
status, and COD amounts.⌉[

Manage TCS shipments, consignment numbers, order references, delivery status, and
COD amounts.

[⌊Configure email notifications when TCS shipment statuses change.⌉⌊Configure email
notifications when TCS shipment statuses change.⌉[

Configure email notifications when TCS shipment statuses change.

[⌊Automate TCS shipment booking and configure order status and tracking workflows.⌉⌊
Automate TCS shipment booking and configure order status and tracking workflows.⌉[

Automate TCS shipment booking and configure order status and tracking workflows.

[⌊Configure TCS booking defaults including service code, currency, weight, COD, 
order items, and labels.⌉⌊Configure TCS booking defaults including service code,
currency, weight, COD, order items, and labels.⌉[

Configure TCS booking defaults including service code, currency, weight, COD, order
items, and labels.

[⌊Configure your TCS account, API credentials, environment, customer number, and
cost centre.⌉⌊Configure your TCS account, API credentials, environment, customer
number, and cost centre.⌉[

Configure your TCS account, API credentials, environment, customer number, and cost
centre.

[⌊Connect WooCommerce to the SoftSquare service for TCS shipping and configure the
gateway connection.⌉⌊Connect WooCommerce to the SoftSquare service for TCS shipping
and configure the gateway connection.⌉[

Connect WooCommerce to the SoftSquare service for TCS shipping and configure the
gateway connection.

## Installation

 1. Install and activate WooCommerce. This plugin does nothing without it.
 2. Upload the plugin through **Plugins  Add New  Upload Plugin**, or install SoftSquare
    Shipping Gateway for WooCommerce directly from the WordPress plugin directory.
 3. Activate it, then go to **SoftSquare Shipping  Settings** and press **Connect this
    site**. The site registers itself with the SoftSquare service and proves it owns
    the domain. No key to paste.
 4. Go to **SoftSquare Shipping  Settings** and enter your TCS API credentials and 
    collection address to start booking TCS shipments.

## FAQ

### Is this an official TCS plugin?

No. SoftSquare Shipping Gateway for WooCommerce is an independent third-party integration
developed and maintained by SoftSquare. TCS is a trademark of its respective owner,
and this plugin is not affiliated with, endorsed by, sponsored by, or officially
supported by TCS.

### Does this plugin integrate WooCommerce with TCS Pakistan?

Yes. It connects your WooCommerce store to TCS Pakistan through the SoftSquare service,
so orders can be booked, tracked and managed as TCS shipments without leaving WordPress.

### Can I book TCS shipments from WooCommerce?

Yes. Book a TCS shipment from the order screen, in bulk from the orders list, or
automatically when an order reaches a status you choose.

### Can I track TCS shipments?

Yes. Track a TCS consignment from the WooCommerce order screen, from a public tracking
page via the `[tcs_tracking]` shortcode, or let the plugin check hourly on its own
for shipments still in transit.

### Does it support TCS COD shipments?

Yes. Cash-on-delivery orders are booked with the amount to collect taken from the
order total, or you can set a different amount per order.

### Can I generate TCS shipping labels?

Yes. A TCS shipping label (consignment note) can be printed as a PDF as soon as 
a shipment is booked, individually or in bulk, and is stored locally so reprints
are instant.

### Can TCS shipment booking be automated?

Yes. Choose the WooCommerce order statuses that should trigger a TCS booking automatically—
for example, as soon as an order becomes Processing — and the plugin books it without
anyone opening the order.

### Do I need a TCS account?

Yes. You need your own TCS COD API credentials — an API username, password and bearer
token, plus an account number and cost centre. TCS issues these. Neither this plugin
nor SoftSquare can create them for you.

### Do I need a SoftSquare account?

You do not create one by hand. Press “Connect this site” under SoftSquare Shipping
Settings and the plugin registers your site with the SoftSquare service and proves
it owns the domain. There is no sign-up form, no key to paste, and no account to
pay for before the plugin will work — and nothing is sent to SoftSquare until you
press that button.

### Does the plugin send customer information to an external service?

Yes. Booking a parcel sends the recipient’s name, address, phone number and email
to the SoftSquare service, which passes what TCS needs to TCS. This is what makes
a delivery possible. The **External Services** section above lists everything that
is sent and when.

### Can I use it without the SoftSquare service?

No. The service is what talks to TCS. Without it the plugin can store settings but
cannot book, print or track. If you run your own copy of the service, point the 
plugin at it with the `SSGW_SERVICE_URL` constant in `wp-config.php`.

### Does it work with High-Performance Order Storage?

Yes. The plugin reads and writes order data through the WooCommerce CRUD API and
declares compatibility with both HPOS and the block-based cart and checkout.

### What happens to my data if I uninstall?

Settings, the activity log and stored label PDFs are deleted. Consignment numbers
and courier statuses on your orders are kept, so you can still answer a customer
asking where their parcel went. Nothing is deleted from the SoftSquare service.

## Reviews

![](https://secure.gravatar.com/avatar/aa91fd4b350c19c27437f283e9f19deb997bf99db681085bc1e4e1ea2f83c0c9?
s=60&d=retro&r=g)

### 󠀁[Great Plugin for Easy TCS Shipping Integration](https://wordpress.org/support/topic/great-plugin-for-easy-tcs-shipping-integration/)󠁿

 [mumar820099](https://profiles.wordpress.org/mumar820099/) September 30, 2026

Really good plugin for TCS integration. Setup was quite easy and we were able to
connect it with our system without much hassle. It has made managing shipments and
creating bookings much easier for us. So far, everything is working smoothly and
it has saved us a lot of manual work. Definitely a useful plugin if you are using
TCS for deliveries.

 [ Read all 1 review ](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/reviews/)

## Contributors & Developers

“SoftSquare Shipping Gateway for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Izhan ](https://profiles.wordpress.org/izhan47/)

[Translate “SoftSquare Shipping Gateway for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/softsquare-shipping-gateway-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/softsquare-shipping-gateway-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/softsquare-shipping-gateway-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/softsquare-shipping-gateway-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/softsquare-shipping-gateway-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.4

 * Connecting to the SoftSquare service is now a deliberate action: press “Connect
   this site” under SoftSquare Shipping  Settings. Nothing is sent to SoftSquare
   automatically on activation or on an admin page load anymore.
 * The plugin’s text domain now matches the plugin slug (`softsquare-shipping-gateway-
   for-woocommerce`), as WordPress.org requires.
 * Removed the duplicate “Tested up to” declaration from the plugin header — it 
   is now declared in this readme only.
 * Fixed the Settings link on the Plugins screen, which pointed at the wrong page
   slug.
 * No functional changes beyond how the initial connection is triggered — existing
   settings, bookings and consignment numbers are kept, and already-connected sites
   are unaffected.

#### 1.2.3

 * Corrective release for the WordPress.org review: menu-icon CSS is now added through`
   wp_add_inline_style()` instead of an inline `<style>` tag, internal PHP class/
   function/constant names now use the `SSGW_`/`ssgw_` prefix instead of the collision-
   prone `SSG_`/`ssg_`, and the plugin now declares compatibility up to WordPress
   7.1. No functional changes, and no stored setting, order metadata, database table,
   hook, AJAX action or REST route was renamed — existing installations are unaffected.

#### 1.2.2

 * Renamed to SoftSquare Shipping Gateway for WooCommerce for clarity on the WordPress.
   org plugin directory. No functional changes — existing settings, bookings and
   consignment numbers are kept.

#### 1.2.1

 * Renamed to SoftSquare Shipping Gateway and prepared for the WordPress plugin 
   directory.
 * Labels are stored locally, so reprinting one no longer needs a round trip to 
   the service.
 * A bundled, searchable list of TCS destinations at checkout, so the field cannot
   disappear when the network does.
 * Tracking results are no longer stored by page caches.
 * Saved credentials are masked more strictly in the admin.
 * Removed a byte-order mark from the main plugin file.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.2.4**
 *  Last updated **4 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [courier](https://wordpress.org/plugins/tags/courier/)[shipping](https://wordpress.org/plugins/tags/shipping/)
   [tracking](https://wordpress.org/plugins/tags/tracking/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/softsquare-shipping-gateway-for-woocommerce/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/reviews/)

## Contributors

 *   [ Izhan ](https://profiles.wordpress.org/izhan47/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/softsquare-shipping-gateway-for-woocommerce/)