PHPackages                             xenon/multicourier - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. xenon/multicourier

AbandonedArchivedLibrary[API Development](/categories/api)

xenon/multicourier
==================

This is a courier api endpoints library for interacting such as e-courier, pathao, paperfly etc

v1.0.3(3y ago)202.0k7MITPHP

Since Jan 17Pushed 3y ago2 watchersCompare

[ Source](https://github.com/arif98741/multicourier)[ Packagist](https://packagist.org/packages/xenon/multicourier)[ Patreon](https://www.patreon.com/arif98741)[ RSS](/packages/xenon-multicourier/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (9)Dependencies (1)Versions (11)Used By (0)

This is a courier api endpoints library for interacting such as e-courier, pathao etc

Installation
============

[](#installation)

### Step 1:

[](#step-1)

```
composer require xenon/multicourier

```

### Step 2:

[](#step-2)

Then, publish the package

```
php artisan vendor:publish --provider=Xenon\MultiCourier\MultiCourierServiceProvider

```

### Step 3:

[](#step-3)

Set **.env** configuration for individual couriers

```
PATHAO_CLIENT_SECRET="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
PATHAO_USERNAME="xxxx@example.com"
PATHAO_PASSWORD="xxxxxx"
PATHAO_GRANT_TYPE="password"

ECOURIER_API_KEY='xxx'
ECOURIER_API_SECRET='xxx'
ECOURIER_USER_ID='xxxx'
ECOURIER_ENVIRONMENT='xxxx'

```

Otherwise, if you want more control, you can use the underlying sender object. This will not touch any laravel facade or service provider.

#### Sample Code Requesting to E-courier

[](#sample-code-requesting-to-e-courier)

```
use Xenon\MultiCourier\Provider\ECourier;
use Xenon\MultiCourier\Courier;

$courier = Courier::getInstance();
$courier->setProvider(ECourier::class, 'local'); /* local/production */
$courier->setConfig([
    'API-KEY' => 'xxx',
    'API-SECRET' => 'xxxx',
    'USER-ID' => 'xxxx',
]);
$courier->setParams(['city'=>'Dhaka']);
$thanas = $courier->getThanas(); //get thana
$cities = $courier->getCities(); //get city
```

```
//place order
use Xenon\MultiCourier\Provider\ECourier;
use Xenon\MultiCourier\Courier;

$courier = Courier::getInstance();
$courier->setProvider(ECourier::class, 'local'); /* local/production */
$courier->setConfig([
    'API-KEY' => 'xxx',
    'API-SECRET' => 'xxx',
    'USER-ID' => 'xxx',
]);
$orderData = array(
    'recipient_name' => 'XXXXX',
    'recipient_mobile' => '017XXXXX',
    'recipient_city' => 'Dhaka',
    'recipient_area' => 'Badda',
    'recipient_thana' => 'Badda',
    'recipient_address' => 'Full Address',
    'package_code' => '#XXXX',
    'product_price' => '1500',
    'payment_method' => 'COD',
    'recipient_landmark' => 'DBBL ATM',
    'parcel_type' => 'BOX',
    'requested_delivery_time' => '2019-07-05',
    'delivery_hour' => 'any',
    'recipient_zip' => '1212',
    'pick_hub' => '18490',
    'product_id' => 'DAFS',
    'pick_address' => 'Gudaraghat new mobile',
    'comments' => 'Please handle carefully',
    'number_of_item' => '3',
    'actual_product_price' => '1200',
    'pgwid' => 'XXX',
    'pgwtxn_id' => 'XXXXXX'
);

$courier->setParams($orderData);
$response = $courier->placeOrder();

```

#### Sample Code Requesting to Pathao

[](#sample-code-requesting-to-pathao)

```
use Xenon\MultiCourier\Courier;
use Xenon\MultiCourier\Provider\Pathao;

$courier = Courier::getInstance();
$courier->setProvider(Pathao::class, 'local'); /* local/production */
$courier->setMethod('get');
$courier->setRequestEndpoint('cities/1/zone-list', []); //second param should be array. its optional. you should form params here
$response = $courier->send();
```

Available Methods to Interact with Provider's Api
=================================================

[](#available-methods-to-interact-with-providers-api)

### *getInstance()*

[](#getinstance)

### *getConfig()*

[](#getconfig)

### *setConfig()*

[](#setconfig)

### *getParams()*

[](#getparams)

### *setParams()*

[](#setparams)

### *getProvider()*

[](#getprovider)

### *setProvider()*

[](#setprovider)

### *getCities()*

[](#getcities)

### *getThanas()*

[](#getthanas)

### *trackOrder()*

[](#trackorder)

### *trackChildOrder()*

[](#trackchildorder)

### *getPackages()*

[](#getpackages)

### *placeOrder()*

[](#placeorder)

### *cancelOrder()*

[](#cancelorder)

### *cancelChildOrder()*

[](#cancelchildorder)

### *fraudStatusCheck()*

[](#fraudstatuscheck)

### *getAreas()*

[](#getareas)

### *getPostCodes()*

[](#getpostcodes)

### *getBranches()*

[](#getbranches)

### *printLabel()*

[](#printlabel)

### *boostSms()*

[](#boostsms)

### *topupSms()*

[](#topupsms)

### *topTransactionStatus()*

[](#toptransactionstatus)

### *topupOtp()*

[](#topupotp)

#### Currently Supported Courier Gateways

[](#currently-supported-courier-gateways)

- **ECourier**
- **Pathao**

[![](https://raw.githubusercontent.com/arif98741/multicourier/master/img/ecourier.png)](https://raw.githubusercontent.com/arif98741/multicourier/master/img/ecourier.png)[![](https://raw.githubusercontent.com/arif98741/multicourier/master/img/pathao.png)](https://raw.githubusercontent.com/arif98741/multicourier/master/img/pathao.png)

We are continuously working in this open source library for adding more Bangladeshi courier companies. If you feel something is missing then make a issue regarding that. Your can pull request to **dev** branch. If you want to contribute in this library, then you are highly welcome to do that.... read blog from here

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~18 days

Recently: every ~37 days

Total

9

Last Release

1434d ago

Major Versions

v0.1.0 → v1.0.22022-06-14

### Community

Maintainers

![](https://www.gravatar.com/avatar/fc7bf6cacc5223cb4f56412e5510ca049755722c6c4be46c9e759500332e094b?d=identicon)[arif98741](/maintainers/arif98741)

---

Top Contributors

[![arif98741](https://avatars.githubusercontent.com/u/17213478?v=4)](https://github.com/arif98741 "arif98741 (38 commits)")

---

Tags

apicouriere-courierecourierecourier-bookingecourier-parcel-trackerlaravelpathao-apipathao-merchantphpredxsteadfaststeadfast-api

### Embed Badge

![Health badge](/badges/xenon-multicourier/health.svg)

```
[![Health](https://phpackages.com/badges/xenon-multicourier/health.svg)](https://phpackages.com/packages/xenon-multicourier)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[mapado/rest-client-sdk

Rest Client SDK for hydra API

1125.9k2](/packages/mapado-rest-client-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
