LaravelPackages.net
Acme Inc.
Toggle sidebar
susheelbhai/laravel-sms

Multi-provider SMS integration for Laravel applications with notification channel support

25
0
v1.0.0
About susheelbhai/laravel-sms

susheelbhai/laravel-sms is a Laravel package for multi-provider sms integration for laravel applications with notification channel support. It currently has 0 GitHub stars and 25 downloads on Packagist (latest version v1.0.0). Install it with composer require susheelbhai/laravel-sms. Discover more Laravel packages by susheelbhai or browse all Laravel packages to compare alternatives.

Last updated

Laravel SMS

Multi-provider SMS package for Laravel with notification channel support.

Supported Providers

  • Fast2SMS — Quick SMS and OTP routes
  • MSG91 — Flow API and OTP API
  • Mock — Local/testing without API calls

Installation

composer require susheelbhai/laravel-sms
php artisan sms:install

Configuration

SMS_ENABLED=1 SMS_PROVIDER=fast2sms SMS_COUNTRY_CODE=91 SMS_TEST_NUMBER=9999999999 FAST2SMS_API_KEY=your_api_key FAST2SMS_SENDER_ID=FSTSMS FAST2SMS_ROUTE=q FAST2SMS_OTP_ROUTE=otp MSG91_AUTH_KEY=your_auth_key MSG91_SENDER_ID=SMSIND MSG91_FLOW_ID=your_flow_id

When APP_ENV is not production, all SMS are redirected to SMS_TEST_NUMBER.

Direct Usage

use Susheelbhai\Sms\Facades\Sms;

Sms::send('9876543210', 'Your order is confirmed.');
Sms::sendOtp('9876543210', '482910');
Sms::via('msg91')->send('9876543210', 'Hello from MSG91');

Notification Channel

public function via(object $notifiable): array
{
    $channels = ['database'];

    if (config('sms.enabled') == 1 && isset($notifiable->phone)) {
        $channels[] = 'sms';
    }

    return $channels;
}

public function toSms(object $notifiable): array
{
    return ['message' => 'Your order has been placed.'];
}

public function toSmsOtp(object $notifiable): array
{
    return ['otp' => $this->otp];
}

Switching Providers

Set SMS_PROVIDER in .env to fast2sms, msg91, or mock.

Comments