FleetCart/Modules/Sms/Gateways/Vonage.php

32 lines
747 B
PHP
Raw Normal View History

2023-06-11 12:14:03 +00:00
<?php
namespace Modules\Sms\Gateways;
use Exception;
use Vonage\Client;
use Vonage\SMS\Message\SMS;
use Modules\Sms\GatewayInterface;
use Vonage\Client\Credentials\Basic;
use Modules\Sms\Exceptions\SmsException;
class Vonage implements GatewayInterface
{
public function client()
{
return new Client(
new Basic(setting('vonage_key'), setting('vonage_secret'))
);
}
public function send(string $to, string $message)
{
try {
$text = new SMS($to, setting('sms_from'), $message);
$this->client()->sms()->send($text);
} catch (Exception $e) {
throw new SmsException('Vonage: ' . $e->getMessage());
}
}
}