Meet StoreEngine 2.2.0

Now Complete Solution for Digital & Physical Products.

FLAT50

This offer will never come back

00
Days
:
00
Hours
:
00
Minute
:
00
Second

Pathao Courier for WordPress: City and Zone-Aware Auto-Push Without WooCommerce

Pathao’s delivery network covers Bangladesh’s most important commerce corridors — Dhaka, Chittagong, and the growing tier-2 cities. But connecting Pathao to a WordPress store the standard way still means WooCommerce underneath, a separate integration plugin on top, and a manual “Send to Pathao” button you have to click for every order.

The problem with that model is the same one that affects every WooCommerce bolt-on: two systems that need to stay in sync, two update cycles that can break each other, and a manual dispatch step that scales badly past 50 orders a day. What Bangladesh’s ecommerce stores actually need is Pathao dispatch that happens automatically, correctly, and without a second plugin bridging two separate systems.

StoreEngine’s Courier addon integrates with Pathao natively — city and zone selection built in, shipments auto-pushed the moment payment lands, tracking polled every 15 minutes in the background — and none of it requires WooCommerce. For the full picture of how the shipping layer works, see the WordPress shipping plugin guide.

Quick Answer: How Do You Connect Pathao to WordPress?

The standard approach is a WooCommerce plugin (including Pathao’s own official plugin) that adds a “Send to Pathao” modal to each order — you still select city, zone, and area and click Send manually.
StoreEngine’s Courier addon connects to Pathao via API with auto-push — shipments are created automatically on payment, with city and zone data pulled from the order’s billing address.
City and zone support: StoreEngine’s UI surfaces Pathao’s live city list and zone list per city for the manual-dispatch flow; auto-push uses stored billing address data when city/zone meta keys are present.
What’s automated: payment completes → background task fires → Pathao API call → consignment ID and tracking URL stored against the order → status polled every 15 minutes → order auto-completed on delivery.
No WooCommerce required: StoreEngine is a standalone WordPress ecommerce plugin. Pathao integration lives inside the same engine that processes orders and checkout.

Why the Existing Pathao-WordPress Integrations All Need WooCommerce

Pathao’s official courier plugin for WordPress WooCommerce is designed to enhance your website’s functionality by providing courier service features, including seamless package tracking and a user-friendly way to manage deliveries. Every Pathao-WordPress plugin that exists — including Pathao’s own open-source plugin on GitHub, which adds a “Send with Pathao” button to the WooCommerce orders list and supports city, zone, and area selection via a modal — is built as a WooCommerce extension.

This creates three compounding problems. First, you’re maintaining WooCommerce and the Pathao plugin separately — when WooCommerce releases a major version, the Pathao plugin may take weeks to patch compatibility. Second, the official free plugin isn’t fully compatible with WooCommerce block checkout pages, which means stores using WooCommerce’s newer block-based checkout need a workaround or downgrade. Third, none of them auto-dispatch — every order still requires a human to open the modal, select city and zone, and click Send.

StoreEngine removes all three of those problems by moving the Pathao integration inside the store engine itself. If you also ship with Steadfast, the same architecture applies — see the Steadfast WordPress integration guide.

How StoreEngine’s Pathao Integration Works

StoreEngine's Pathao Auto Push Flow
OAuth connection

Pathao uses OAuth for merchant authentication. In StoreEngine’s Courier settings, you enter your Pathao OAuth client ID and client secret, then click Connect. StoreEngine initiates the OAuth flow — redirecting to Pathao’s authorization URL and returning with an access token. The token renews automatically (StoreEngine tracks expiry and refreshes before API calls fail). You authenticate once and don’t manage credentials again.

City and zone-aware dispatch

Pathao requires a city ID and zone ID for every shipment — not free-text city names, but Pathao’s internal IDs for each delivery area. StoreEngine surfaces these correctly.

In the admin shipments UI, when you create a shipment manually against a Pathao order, StoreEngine calls the live Pathao city list and populates a dropdown. When you select a city, StoreEngine immediately calls the zones endpoint for that city (couriers/providers/pathao/cities/{id}/zones) and populates the zone dropdown with the correct options for that city. This is the same city-zone dependency that Pathao’s own official plugin handles — city selection unlocks zone selection — and StoreEngine handles it natively.

For auto-pushed shipments, StoreEngine builds the payload from the order’s stored billing address data. If the billing address already has city and zone data stored against it (via checkout fields or a previous order), that data feeds directly into the Pathao payload.

Auto-push: no manual dispatch step

When payment completes, StoreEngine’s auto-push queues a background task. That task:

1.Checks the idempotency guard (order not already pushed)
2.Skips POS orders (in-person sales don’t need courier dispatch)
3.Builds the payload: customer name, phone, billing address, COD amount (if applicable), default weight, item description
4.Adds Pathao-specific extras where needed
5.Calls Pathao’s API to create the shipment
6.Stores the consignment ID, tracking ID, label URL, and tracking URL against the order in StoreEngine’s shipments table
7.Writes an order note: “Shipment #[id] created via pathao, tracking [id]”

The whole flow runs asynchronously via Action Scheduler — never blocking checkout, never delaying the payment gateway callback. If the same payment event fires twice (retry behavior on some gateways), the idempotency guard catches the duplicate and skips the second push.

15-minute background status polling

Pathao delivers webhook notifications for some status events but not all, and webhook reliability varies. StoreEngine handles this with background polling: every 15 minutes, Action Scheduler checks the status of all in-flight Pathao shipments (up to 50 per run) by calling Pathao’s tracking endpoint.

Every status change writes an order note with both the StoreEngine internal status and Pathao’s raw status string — so the order history shows exactly what Pathao reported and when. No manual portal checks required.

Normalized seven-state status model

Pathao’s raw API returns its own status terminology. StoreEngine normalizes all of it into seven consistent internal states:

created → picked_up → in_transit → out_for_delivery → delivered → cancelled → returned

Your order notes, admin filters, and auto-completion triggers all work against these normalized states — not against whatever Pathao’s API happened to return in a given response.

Auto-complete on delivery, auto-hold on return

When polling confirms a Pathao shipment is delivered — and all shipments on that order are delivered — StoreEngine automatically marks the order completed. For multi-vendor orders, it waits until every vendor’s shipment confirms delivered before completing the order.

When a shipment returns, StoreEngine can optionally move the order to on-hold. This is disabled by default (opt-in), because returned parcels often need human judgment before the next action.

COD Orders with Pathao

COD is the primary payment method for most Bangladesh ecommerce, and Pathao’s API accepts a cash collection amount on each shipment. StoreEngine handles this transparently.

In the auto-push configuration, you list which payment method IDs count as COD (cod, cash-on-delivery, or whichever method IDs your store uses). For any order using one of those methods, StoreEngine includes the order total as the COD collection amount in the Pathao payload. Prepaid orders send 0. You configure it once and it applies automatically to every shipment from that point.

Multi-Vendor Marketplace: Per-Vendor Pathao Dispatch

For stores running StoreEngine’s Multi-Vendor addon, a single customer order can contain products from multiple vendors — each shipping from a different warehouse. StoreEngine’s auto-push automatically groups line items by vendor and creates a separate Pathao shipment for each vendor.

Each vendor’s shipment gets its own consignment ID, its own tracking, and its own delivery timeline. The customer’s order shows all shipments. The order auto-completes when every vendor’s shipment is confirmed delivered by Pathao.

This is the scenario where all existing WooCommerce-based Pathao plugins break down — they don’t have multi-vendor awareness, because that logic lives in a separate plugin from the Pathao integration.

Setting Up Pathao in StoreEngine

Setting Up Pathao in StoreEngine

Step 1 — Activate the Couriers addon in StoreEngine Pro and go to Settings → Couriers.

Step 2 — Connect Pathao via OAuth. Find the Pathao provider card, enter your OAuth client ID and client secret (available from your Pathao merchant account), and click Connect. StoreEngine initiates the OAuth authorization flow. Once complete, the Pathao card shows “Connected” and the token renews automatically.

Step 3 — Enable auto-push. In the auto-push settings, select Pathao as the default provider, set your default package weight, configure which payment methods trigger COD amount collection, and save.

From this point, every paid order on your store dispatches to Pathao automatically — in the background, without blocking checkout, and without anyone touching the order manually. For how shipping zones determine which orders route through Pathao, see the shipping zones setup guide.

Is StoreEngine the Right Pathao Integration for Your Store?

If you’re currently dispatching Pathao orders manually — clicking Send, selecting city and zone, copying consignment IDs — auto-push removes this entirely from your daily workflow.
If the WooCommerce + Pathao plugin stack is creating update or compatibility headaches → StoreEngine is a WooCommerce replacement, not an add-on. Pathao integration and order management live in the same engine.
If you run COD-heavy sales → COD amount passes automatically to Pathao based on your configured payment methods. No manual entry, no risk of sending the wrong collection amount.
If you run a marketplace → per-vendor Pathao dispatch is automatic. Each seller’s products ship under their own consignment, tracked independently.
If tracking is eating admin time → 15-minute background polling and automatic order notes mean you never need to check Pathao’s portal manually to know where an order is.

Frequently Asked Questions

How do I connect Pathao to my WordPress store?

With StoreEngine, you activate the Couriers addon, connect Pathao via OAuth (enter your client ID and secret, click Connect), and enable auto-push. StoreEngine then dispatches every paid order to Pathao automatically in the background — no manual booking step, no WooCommerce required. Existing Pathao-WordPress integrations are WooCommerce extensions that require a manual “Send to Pathao” click per order; StoreEngine handles dispatch automatically.

Does StoreEngine require WooCommerce for Pathao integration?

No. StoreEngine is a standalone WordPress ecommerce plugin. The Pathao integration is part of the store engine itself — it reads order data, builds the Pathao payload, and calls Pathao’s API from inside the same system that processed the checkout. WooCommerce is not installed or required.

How does city and zone selection work?

StoreEngine calls Pathao’s live city list and populates a city dropdown in the admin shipment UI. When you select a city, StoreEngine immediately loads that city’s available zones from Pathao’s API. For auto-pushed shipments, city and zone data is pulled from the order’s billing address fields if present.

How does Pathao’s OAuth authentication work in StoreEngine?

You enter your Pathao OAuth client ID and secret in the Courier settings, then click Connect. StoreEngine redirects to Pathao’s authorization URL and returns with an access token on success. The token is stored and refreshed automatically before it expires — you authenticate once and the connection stays live without any manual credential management.

Does it handle COD collection amounts correctly?

Yes. In the auto-push settings, you list which payment method IDs count as COD. For those orders, StoreEngine passes the order total as the COD collection amount in the Pathao payload. Prepaid orders send 0. This applies automatically to every auto-pushed shipment.

What happens to returned Pathao parcels?

When polling detects a shipment has returned, StoreEngine can optionally move the parent order to on-hold for your review. This is disabled by default — enable it in the Courier sync settings if you want automatic hold on returns. A return order note is always written regardless of the sync setting.

Can it handle multi-vendor Pathao dispatch?

Yes. If an order contains products from multiple vendors (using StoreEngine’s Multi-Vendor addon), StoreEngine creates a separate Pathao shipment per vendor automatically during auto-push. Each vendor’s items dispatch under their own consignment ID with independent tracking.