Integrating Pesapal with Laravel

A simplified PesaPal integration for your Laravel Application.


  • Laravel Version: 8.*
  • PHP Version: 7.2

You can install the package via composer:

composer require epmnzava/pesapal

Update your config (for Laravel 5.4 and below)

Add the service provider to the providers array in config/app.php:


Add the facade to the aliases array in config/app.php:


Publish the package configuration (for Laravel 5.4 and below)

Publish the configuration file and migrations by running the provided console command:

php artisan vendor:publish --provider="Epmnzava\Pesapal\PesapalServiceProvider"

Environmental Variables

PESAPAL_CONSUMER_KEY your provided pesapal consumer key

PESAPAL_CONSUMER_SECRET your provided pesapal client secret

PESAPAL_API_URL your provided pesapal api url live: Test

PESAPAL_CALLBACK_URL your callback url

CURRENCY_CODE currency put TZS for Tanzanian Shillings


This release does not come with database tables for transaction or payments you need to create then After you have filled all necessary variables , providers and facases this is how the package can be used.

<?phpnamespace App\Http\Controllers;use Pesapal;use Illuminate\Http\Request;
class TransactionController extends Controller
public function customer_transaction(){
$res=Pesapal::makepayment("emmnauel","30000","mnzava","","MERCHANT","453f4f4343" ,"transacto","0679079774");

echo $res;
}```### Testing``` bash
composer test

Before you go… Thanks for reading the article! If you enjoyed it, please don’t forget to show your appreciation by clicking 👏 below!

Any questions or comments hit me up on




Software Engineer and techprenuer with passion of helping entreprenuers and small businesses using Technology