PHPackages                             aguva/ussd - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. aguva/ussd

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

aguva/ussd
==========

An easy to use Laravel USSD library. The package provides a modern and adaptable USSD application solution that accommodates various languages, such as English and Swahili, with the option to integrate additional languages as needed. Its syntax is clear and sophisticated, ensuring exceptional user-friendliness. Additionally, it includes a built-in USSD simulator, streamlining the debugging and upkeep of the application.

711PHP

Since Apr 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/StilinskiCyril/aguva-ussd)[ Packagist](https://packagist.org/packages/aguva/ussd)[ RSS](/packages/aguva-ussd/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

[![](https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg)](https://laravel.com)

[![Build Status](https://camo.githubusercontent.com/c59043e0b28eab034f19dabc49c9222c43e3fbe5e0c6bc2837a5c0086132a211/68747470733a2f2f7472617669732d63692e6f72672f6c61726176656c2f6672616d65776f726b2e737667)](https://travis-ci.org/laravel/framework)[![Total Downloads](https://camo.githubusercontent.com/b0a7ee2f3f0208712ecb1081b9d6fcf05045c10cd6f345abcb924f5512c0d346/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c61726176656c2f6672616d65776f726b)](https://packagist.org/packages/laravel/framework)[![Latest Stable Version](https://camo.githubusercontent.com/9e6071b5dd1a4a3bcabe3cca9d97a447d030caeb940f2adbd18699bc0b326702/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c61726176656c2f6672616d65776f726b)](https://packagist.org/packages/laravel/framework)[![License](https://camo.githubusercontent.com/4a64c31c71966d152c876eea1f35e85fbd33d57ddf5754260a41f053aa72c5b2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c61726176656c2f6672616d65776f726b)](https://packagist.org/packages/laravel/framework)

About Aguva Ussd Package
------------------------

[](#about-aguva-ussd-package)

Aguva Ussd is a modern and adaptable USSD application solution that accommodates various languages, such as English and Swahili, with the option to integrate additional languages as needed. Its syntax is clear and sophisticated, ensuring exceptional user-friendliness. Additionally, it includes a built-in USSD simulator, streamlining the debugging and upkeep of the application.

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

[](#installation)

### Run the following command

[](#run-the-following-command)

```
composer require aguva/ussd:dev-main

```

### Publish package support files

[](#publish-package-support-files)

```
php artisan vendor:publish --provider="Aguva\Ussd\Providers\UssdServiceProvider" --tag=aguva-ussd-lang --force

```

### Run the migrations

[](#run-the-migrations)

```
php artisan migrate

```

### Add the following variables in your root project's .env

[](#add-the-following-variables-in-your-root-projects-env)

```
## The default message displayed to users when no other response is available
USSD_DEFAULT_MESSAGE=

## If set to true, only MSISDNs (phone numbers) in the whitelist are allowed to access the USSD service
## If false, the USSD service is open to all MSISDNs
USSD_RESTRICT_TO_WHITELIST=

## If set to true, all incoming USSD request payloads from the provider will be logged for tracking and debugging
USSD_LOG_REQUEST=

## A comma-separated list of MSISDNs (phone numbers) that are allowed to access the USSD service
## Only applicable if 'USSD_RESTRICT_TO_WHITELIST' is set to true
USSD_WHITELIST_MSISDNS=

## The number of seconds to wait before ending a USSD session
## Some providers require a slight delay before terminating the session
USSD_END_SESSION_SLEEP_SECONDS=

## The USSD code assigned by your service provider (e.g., *999#)
USSD_CODE=

## The API endpoint that receives USSD request payloads from the provider
## This should be a valid URL where the USSD server can forward incoming requests
USSD_ONLINE_ENDPOINT='api/process-payload/55034fd5-bd23h5d9948f'

```

### Create a UssdProcessor.php file in root project's app/Repositories dir &amp; add the following boilerplate code. This is your PLAYGROUND, GO CRAZY

[](#create-a-ussdprocessorphp-file-in-root-projects-apprepositories-dir--add-the-following-boilerplate-code-this-is-your-playground-go-crazy)

N/B Treat each a method as a new USSD screen instance

```
