This package makes it easy to send notifications using AfricasTalking with Laravel 5.3+.
- Sign up for a free AfricasTalking account
- Create a new API Key under Settings in the Sandbox section
You can install the package via composer:
composer require m-shule/africastalking
for Laravel 5.4 or lower, you must add the service provider to your config:
// config/app.php
'providers' => [
...
MShule\AfricasTalking\AfricasTalkingServiceProvider::class,
],
Add the environment variables to your config/services.php
:
// config/services.php
...
'africastalking' => [
'api_key' => env('AFRICASTALKING_API_KEY'),
'username' => env('AFRICASTALKING_USERNAME'),
'from' => env('AFRICASTALKING_FROM'),
],
...
Add your AfricasTalking API key, username, and from number/short code to your .env
:
// .env
...
AFRICASTALKING_API_KEY=
AFRICASTALKING_USERNAME=
AFRICASTALKING_FROM=
...
The from variable is optional.
Now you can use the channel in your via()
method inside the notification:
<?php
// app/Notifications/VpsServerOrdered.php
namespace App\Notifications;
use Illuminate\Notifications\Notification;
use MShule\AfricasTalking\AfricasTalkingChannel;
use MShule\AfricasTalking\AfricasTalkingMessage;
class VpsServerOrdered extends Notification
{
public function via($notifiable)
{
return [AfricasTalkingChannel::class];
}
public function toAfricasTalking($notifiable)
{
return (new AfricasTalkingMessage())->content("Your service was ordered!");
}
}
Additionally you can set from which short code/alphanumeric your message originates from by:
return (new AfricasTalkingMessage())->content("Your service was ordered!")->from('60606');
You can also send a notification to someone who is not stored as a "user" by:
...
use App\Notifications\VpsServerOrdered;
use Illuminate\Notifications\Notification;
...
Notification::route('africastalking', '+254712345678')->notify(new VpsServerOrdered());
...
Please see CHANGELOG for more information what has changed recently.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.