PHPackages                             kwtsms/kwtsms-notification-channel - 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. [Mail &amp; Notifications](/categories/mail)
4. /
5. kwtsms/kwtsms-notification-channel

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

kwtsms/kwtsms-notification-channel
==================================

kwtSMS notification channel for Laravel

v1.0.0(6d ago)00MITPHPPHP ^8.1

Since Mar 17Pushed 5d agoCompare

[ Source](https://github.com/boxlinknet/kwtsms-notification-channel)[ Packagist](https://packagist.org/packages/kwtsms/kwtsms-notification-channel)[ Docs](https://github.com/boxlinknet/kwtsms-notification-channel)[ RSS](/packages/kwtsms-kwtsms-notification-channel/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (6)Versions (2)Used By (0)

kwtSMS Notification Channel for Laravel
=======================================

[](#kwtsms-notification-channel-for-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/840fd1a9f9276847aab29cae279be6d5db274a7a443e70be4a88cbe883309e0a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b7774736d732f6b7774736d732d6e6f74696669636174696f6e2d6368616e6e656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kwtsms/kwtsms-notification-channel)[![Total Downloads](https://camo.githubusercontent.com/e825beb3575feabf5bbbd02e49f7b2f278ead9b831383ebc92f738c7d92f382e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b7774736d732f6b7774736d732d6e6f74696669636174696f6e2d6368616e6e656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kwtsms/kwtsms-notification-channel)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)

This package makes it easy to send notifications using [kwtSMS](https://www.kwtsms.com) with Laravel.

About kwtSMS
------------

[](#about-kwtsms)

[kwtSMS](https://www.kwtsms.com) is Kuwait's leading SMS gateway, providing reliable SMS delivery for businesses across Kuwait and internationally. Unlike international providers (Twilio, Infobip, etc.), kwtSMS is a local Kuwaiti provider with direct carrier connections, ensuring fast and reliable delivery to all Kuwaiti mobile networks (Zain, Ooredoo, STC, Virgin Mobile).

kwtSMS supports both promotional and transactional messaging, OTP delivery, bulk campaigns, and offers a simple REST/JSON API with client libraries in [12 programming languages](https://www.kwtsms.com/developers.html).

Features
--------

[](#features)

- **Laravel Notifications Integration**: Send SMS using Laravel's built-in notification system
- **Simple API**: Clean, fluent message builder with `KwtSmsMessage::create()`
- **Custom Sender ID**: Override the default sender ID per message
- **Test Mode Support**: Send test messages without consuming credits during development
- **Auto-Discovery**: Laravel package auto-discovery, no manual service provider registration needed
- **Configurable**: Publish and customize the config file to match your setup
- **Lightweight**: Minimal dependencies, uses Laravel's HTTP client under the hood

Contents
--------

[](#contents)

- [About kwtSMS](#about-kwtsms)
- [Features](#features)
- [Installation](#installation)
- [Setting up kwtSMS](#setting-up-kwtsms)
- [Usage](#usage)
- [Available Methods](#available-methods)
- [Changelog](#changelog)
- [Testing](#testing)
- [Security](#security)
- [Contributing](#contributing)
- [Credits](#credits)
- [License](#license)

Installation
------------

[](#installation)

You can install the package via Composer:

```
composer require kwtsms/kwtsms-notification-channel
```

Publish the configuration file:

```
php artisan vendor:publish --provider="NotificationChannels\KwtSms\KwtSmsServiceProvider" --tag="config"
```

Add your kwtSMS credentials to your `.env` file:

```
KWTSMS_USERNAME=your-username
KWTSMS_PASSWORD=your-password
KWTSMS_SENDER=your-sender-id
KWTSMS_TEST_MODE=false
```

Setting up kwtSMS
-----------------

[](#setting-up-kwtsms)

To get started, you need a kwtSMS account:

1. Sign up at [kwtsms.com](https://www.kwtsms.com)
2. Obtain your API username and password from the dashboard
3. Register a Sender ID (or use the default `KWT-SMS`)
4. Add the credentials to your `.env` file as shown above

Usage
-----

[](#usage)

Create a notification class that uses the `KwtSmsChannel`:

```
use Illuminate\Notifications\Notification;
use NotificationChannels\KwtSms\KwtSmsChannel;
use NotificationChannels\KwtSms\KwtSmsMessage;

class OrderShipped extends Notification
{
    public function via($notifiable): array
    {
        return [KwtSmsChannel::class];
    }

    public function toKwtSms($notifiable): KwtSmsMessage
    {
        return KwtSmsMessage::create("Your order #{$this->order->id} has been shipped!");
    }
}
```

Add the `routeNotificationForKwtSms` method to your notifiable model:

```
public function routeNotificationForKwtSms($notification): string
{
    return $this->phone; // International format: 96598765432
}
```

You can also return a plain string from `toKwtSms` instead of a `KwtSmsMessage` object:

```
public function toKwtSms($notifiable): string
{
    return 'Your order has been shipped!';
}
```

Available Methods
-----------------

[](#available-methods)

### KwtSmsMessage

[](#kwtsmsmessage)

MethodDescription`create(string $content = '')`Static factory to create a new message`content(string $content)`Set the message content`sender(string $sender)`Override the default sender ID`getContent()`Get the message content`getSender()`Get the sender ID (null if not set)Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
composer test
```

Security
--------

[](#security)

If you discover any security related issues, please use the issue tracker on GitHub instead of sending an email.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [BoxLink](https://github.com/boxlinknet)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [LICENSE](LICENSE) for more information.

###  Health Score

38

—

LowBetter than 86% of packages

Maintenance99

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

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

Unknown

Total

1

Last Release

6d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4f35fd30b8e83a930879ee05a2bbfb0b093f5cfd36dd88db725df4eff4002d06?d=identicon)[kwtsms](/maintainers/kwtsms)

---

Top Contributors

[![boxlinknet](https://avatars.githubusercontent.com/u/130248345?v=4)](https://github.com/boxlinknet "boxlinknet (5 commits)")

---

Tags

laravelnotificationsmskuwaitkwtsms

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/kwtsms-kwtsms-notification-channel/health.svg)

```
[![Health](https://phpackages.com/badges/kwtsms-kwtsms-notification-channel/health.svg)](https://phpackages.com/packages/kwtsms-kwtsms-notification-channel)
```

###  Alternatives

[laravel-notification-channels/twilio

Provides Twilio notification channel for Laravel

2587.4M9](/packages/laravel-notification-channels-twilio)[hooman-mirghasemi/laravel-iran-sms

Laravel Sms

241.8k](/packages/hooman-mirghasemi-laravel-iran-sms)

PHPackages © 2026

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