You can install the package via composer:
composer require alphaolomi/swahilies-php
use Alphaolomi\Swahilies\Swahilies;
$swahilies = new Swahilies([]);
// Or
$swahilies = Swahilies::create([
'apiKey' => 'csdheruvhhjdhvjadmvjehrve',
'username' => 'Company name',
'isLive' => false, // ie. sandbox mode
]);
$response = $swahilies->payments()->request([
// TZS by default
'amount' => 50000,
// 255 is country code for Tanzania, Only Tanzania is supported for now
'orderId' => $order->id,
'phoneNumber' => "255783262616",
'cancelUrl' => "https://yoursite.com/cancel",
'webhookUrl' => "https://yoursite.com/response",
'successUrl' => "https://yoursite.com/success",
'metadata' => [],
]);
print_r($response);
// Output:
// [
// "payment_url" => "https://swahiliespay.invict.site/make-payment-1.html?order=jdhvjadmvjehrve"
// ]
// Webhooks
// You can use the following code to verify the webhook signature
$requestBody = /** get the request body from the webhook request **/;
$isValid = $swahilies->webhooks()
->verify($request->getContent()); // true/false
all()
- Get all payment transactionsdirectRequest($data)
- Make a direct Push USSD from your apprequest($data)
- Make a payment requestfind($id)
- Get payment transaction information
🚧 Work in progress
getDisget($data)
- Generate requery body digestverify($data)
- Verify request body
Using PestPHP for testing.
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.