na0260 / pathao-api-laravel-package
A Laravel 8–12 compatible Pathao Courier API integration package with token caching and full feature support.
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/na0260/pathao-api-laravel-package
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.5|^8.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0|^12.0
This package is auto-updated.
Last update: 2026-01-06 12:26:17 UTC
README
This package provides a complete Laravel integration with the Pathao Courier Merchant API. You can manage stores, orders, bulk orders, price calculation, and fetch cities, zones, and areas.
Installation
Install via Composer:
composer require na0260/pathao-api-laravel-package
Configuration
Publish the config file (optional):
php artisan vendor:publish --provider="Nur\Pathao\PathaoServiceProvider" --tag="config"
Add credentials in .env:
PATHAO_CLIENT_ID=your_client_id
PATHAO_CLIENT_SECRET=your_client_secret
PATHAO_USERNAME=your_email
PATHAO_PASSWORD=your_password
PATHAO_SANDBOX=false (if you want to use sandbox use true, otherwise false)
Usage
All calls can be made via the Pathao facade.
Cities, Zones, Areas
$cities = Pathao::cities(); $zones = Pathao::zones($cityId); $areas = Pathao::areas($zoneId);
Stores
Create Store
$store = Pathao::createStore([ 'name' => 'Test Store', 'contact_name' => 'John Doe', 'contact_number' => '017XXXXXXXX', 'address' => 'House 123, Road 4, Dhaka', 'city_id' => {{city_id}}, 'zone_id' => {{zone_id}}, 'area_id' => {{area_id}}, ]);
Store Info
$stores = Pathao::storeInfo();
Orders
Create Order
$order = Pathao::createOrder([ 'store_id' => {{merchant_store_id}}, 'merchant_order_id' => "{{merchant_order_id}}", 'recipient_name' => 'John Doe', 'recipient_phone' => '017XXXXXXXX', 'recipient_address' => 'House 123, Road 4, Dhaka', 'delivery_type' => {{48 for Normal Delivery, 12 for On Demand Delivery}}, 'item_type' => {{1 for Document, 2 for Parcel}}, 'item_quantity' => {{Quantity of your parcels}}, 'item_weight' => {{Minimum 0.5 KG to Maximum 10 KG}}, 'item_description' => 'Test item', 'amount_to_collect' => {{Recipient Payable Amount. Default should be 0 in case of NON Cash-On-Delivery(COD)The collectible amount from the customer.}}, ]);
Bulk Order
$orders = [$order1, $order2]; $response = Pathao::createBulkOrder($orders);
Order Info
$orderInfo = Pathao::orderInfo($consignmentId);
Price Calculator
$price = Pathao::priceCalculator([ 'store_id' => {{merchant_store_id}}, 'item_type' => {{1 for Document, 2 for Parcel}}, 'delivery_type' => {{48 for Normal Delivery, 12 for On Demand Delivery}}, 'item_weight' => {{Minimum 0.5 KG to Maximum 10 KG}}, 'recipient_city' => {{city_id}}, 'recipient_zone' => {{zone_id}}, ]);
Requirements
- Laravel 8-12
- PHP 8.2+
License
This package is open-sourced software licensed under the MIT license.