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

v1.1.0 2025-10-06 11:37 UTC

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.