PHPackages                             weexduunx/laravel-aida-gateway - 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. [Payment Processing](/categories/payments)
4. /
5. weexduunx/laravel-aida-gateway

ActiveLibrary[Payment Processing](/categories/payments)

weexduunx/laravel-aida-gateway
==============================

Package Laravel pour intégrer facilement les paiements Mobile Money (Orange Money, Wave, Free Money, E-money)

v1.0.0(6mo ago)875↓50%2MITPHPPHP ^8.1|^8.2|^8.3

Since Nov 5Pushed 6mo ago2 watchersCompare

[ Source](https://github.com/weexduunx/AidaGateway)[ Packagist](https://packagist.org/packages/weexduunx/laravel-aida-gateway)[ RSS](/packages/weexduunx-laravel-aida-gateway/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (2)Used By (0)

Laravel Aida Gateway
====================

[](#laravel-aida-gateway)

[![Latest Version on Packagist](https://camo.githubusercontent.com/653c0f4de276ad13320b1face30fd4ecdd8b2d0b75c771b741a7ccb84e026312/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f776565786475756e782f6c61726176656c2d616964612d676174657761792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/weexduunx/laravel-aida-gateway)[![Total Downloads](https://camo.githubusercontent.com/ee96ca9ce44c2346f1bea090f0608710284876a4769b11de46d4f6e6a4650c8e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f776565786475756e782f6c61726176656c2d616964612d676174657761792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/weexduunx/laravel-aida-gateway)[![PHP Version](https://camo.githubusercontent.com/27306f301643f9114839054297f9f923671c9b10b78fc317342f46368577ecfb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f776565786475756e782f6c61726176656c2d616964612d676174657761792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/weexduunx/laravel-aida-gateway)[![Laravel Version](https://camo.githubusercontent.com/c5636cbc00edeb2fc30bc0a089aca31231cc9b87845c6d56b74fb9e2fc931b02/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302e7825323025374325323031312e7825323025374325323031322e782d4646324432303f7374796c653d666c61742d737175617265266c6f676f3d6c61726176656c)](https://laravel.com)[![License](https://camo.githubusercontent.com/2808f308d86ee3b37e1977ae8d16889ddcded869d557642bdf3d2c64c9704928/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f776565786475756e782f6c61726176656c2d616964612d676174657761792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/weexduunx/laravel-aida-gateway)[![Made-In-Senegal](https://github.com/GalsenDev221/made.in.senegal/raw/master/assets/badge.svg)](https://github.com/GalsenDev221/made.in.senegal/blob/master/assets/badge.svg)

Un package Laravel pour intégrer facilement les paiements Mobile Money (Orange Money, Wave, Free Money, E-money) avec une API unifiée.

Fonctionnalités
---------------

[](#fonctionnalités)

- **Support de plusieurs gateways** : Orange Money, Wave, Free Money, E-money
- **API unifiée** : Utilisez la même interface pour tous les gateways
- **Webhooks automatiques** : Réception automatique des confirmations de paiement
- **Middleware de sécurité** : Protection contre les transactions en double et rate limiting
- **Événements Laravel** : Écoutez les événements de paiement (succès, échec, en attente)
- **Logging complet** : Suivi détaillé de toutes les transactions
- **Gestion des transactions** : Modèle Eloquent pour gérer vos transactions
- **Facades pratiques** : `Aida::pay()`, `Aida::checkStatus()`, `Aida::refund()`

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

[](#installation)

Installez le package via Composer :

```
composer require weexduunx/laravel-aida-gateway
```

Le package s'enregistrera automatiquement grâce à Laravel Package Discovery.

### Publication des fichiers

[](#publication-des-fichiers)

Publiez le fichier de configuration :

```
php artisan vendor:publish --tag=aida-config
```

Publiez et exécutez les migrations :

```
php artisan vendor:publish --tag=aida-migrations
php artisan migrate
```

Configuration
-------------

[](#configuration)

Ajoutez vos credentials dans le fichier `.env` :

```
# Configuration par défaut
AIDA_DEFAULT_GATEWAY=orange_money

# Orange Money
AIDA_ORANGE_MONEY_ENABLED=true
AIDA_ORANGE_MONEY_API_URL=https://api.orange.com/orange-money-webpay
AIDA_ORANGE_MONEY_MERCHANT_KEY=your_merchant_key
AIDA_ORANGE_MONEY_API_USERNAME=your_api_username
AIDA_ORANGE_MONEY_API_PASSWORD=your_api_password
AIDA_ORANGE_MONEY_CURRENCY=XOF
AIDA_ORANGE_MONEY_COUNTRY_CODE=SN

# Wave
AIDA_WAVE_ENABLED=true
AIDA_WAVE_API_URL=https://api.wave.com
AIDA_WAVE_API_KEY=your_api_key
AIDA_WAVE_API_SECRET=your_api_secret
AIDA_WAVE_CURRENCY=XOF

# Free Money
AIDA_FREE_MONEY_ENABLED=true
AIDA_FREE_MONEY_API_URL=https://api.free.sn
AIDA_FREE_MONEY_MERCHANT_ID=your_merchant_id
AIDA_FREE_MONEY_API_KEY=your_api_key
AIDA_FREE_MONEY_API_SECRET=your_api_secret
AIDA_FREE_MONEY_CURRENCY=XOF

# E-money
AIDA_EMONEY_ENABLED=true
AIDA_EMONEY_API_URL=https://api.emoney.sn
AIDA_EMONEY_MERCHANT_CODE=your_merchant_code
AIDA_EMONEY_API_KEY=your_api_key
AIDA_EMONEY_API_SECRET=your_api_secret
AIDA_EMONEY_CURRENCY=XOF

# Webhook
AIDA_WEBHOOK_ROUTE_PREFIX=aida/webhooks
AIDA_WEBHOOK_SECRET=your_webhook_secret

# Transaction
AIDA_TRANSACTION_TIMEOUT=300

# Logging
AIDA_LOGGING_ENABLED=true
AIDA_LOGGING_CHANNEL=stack
```

Utilisation
-----------

[](#utilisation)

### Initier un paiement

[](#initier-un-paiement)

```
use Weexduunx\AidaGateway\Facades\Aida;

// Utiliser le gateway par défaut
$response = Aida::pay(
    phoneNumber: '+221771234567',
    amount: 5000,
    description: 'Paiement pour commande #12345'
);

// Utiliser un gateway spécifique
$response = Aida::gateway('wave')->pay(
    phoneNumber: '+221771234567',
    amount: 5000,
    description: 'Paiement Wave'
);

// Vérifier le résultat
if ($response->isSuccessful()) {
    echo "Transaction ID: " . $response->getTransactionId();
    echo "Statut: " . $response->getStatus();

    // Récupérer l'URL de paiement si disponible
    $paymentUrl = $response->getData()['payment_url'] ?? null;

    if ($paymentUrl) {
        return redirect($paymentUrl);
    }
} else {
    echo "Erreur: " . $response->getMessage();
}
```

### Vérifier le statut d'une transaction

[](#vérifier-le-statut-dune-transaction)

```
$response = Aida::checkStatus('TRANSACTION_ID');

if ($response->isSuccessful()) {
    echo "Statut: " . $response->getStatus();
    echo "Montant: " . $response->getAmount();
}
```

### Rembourser une transaction

[](#rembourser-une-transaction)

```
// Remboursement complet
$response = Aida::refund('TRANSACTION_ID');

// Remboursement partiel
$response = Aida::refund('TRANSACTION_ID', 2500);

if ($response->isSuccessful()) {
    echo "Remboursement effectué";
}
```

### Obtenir les gateways disponibles

[](#obtenir-les-gateways-disponibles)

```
$supportedGateways = Aida::getSupportedGateways();
$enabledGateways = Aida::getEnabledGateways();
```

Webhooks
--------

[](#webhooks)

Les webhooks sont automatiquement configurés aux URLs suivantes :

- Orange Money : `/aida/webhooks/orange-money`
- Wave : `/aida/webhooks/wave`
- Free Money : `/aida/webhooks/free-money`
- E-money : `/aida/webhooks/emoney`

Configurez ces URLs dans vos dashboards respectifs des différents gateways.

### Écouter les événements

[](#écouter-les-événements)

```
use Weexduunx\AidaGateway\Events\PaymentSuccessful;
use Weexduunx\AidaGateway\Events\PaymentFailed;
use Weexduunx\AidaGateway\Events\PaymentPending;

// Dans EventServiceProvider
protected $listen = [
    PaymentSuccessful::class => [
        \App\Listeners\SendPaymentConfirmation::class,
    ],
    PaymentFailed::class => [
        \App\Listeners\NotifyPaymentFailure::class,
    ],
    PaymentPending::class => [
        \App\Listeners\LogPendingPayment::class,
    ],
];
```

### Exemple de Listener

[](#exemple-de-listener)

```
namespace App\Listeners;

use Weexduunx\AidaGateway\Events\PaymentSuccessful;

class SendPaymentConfirmation
{
    public function handle(PaymentSuccessful $event)
    {
        $transaction = $event->transaction;

        // Envoyer une notification au client
        // Mettre à jour la commande
        // etc.
    }
}
```

Middleware de sécurité
----------------------

[](#middleware-de-sécurité)

Utilisez le middleware `SecureTransaction` pour protéger vos routes de paiement :

```
use Weexduunx\AidaGateway\Http\Middleware\SecureTransaction;

// Dans un contrôleur
Route::post('/payment', [PaymentController::class, 'process'])
    ->middleware(SecureTransaction::class);
```

Le middleware offre :

- Protection contre les transactions en double
- Rate limiting par IP
- Validation des montants
- Logging des tentatives

Modèle Transaction
------------------

[](#modèle-transaction)

Accédez aux transactions via le modèle Eloquent :

```
use Weexduunx\AidaGateway\Models\Transaction;

// Récupérer toutes les transactions réussies
$successfulTransactions = Transaction::successful()->get();

// Filtrer par gateway
$waveTransactions = Transaction::byGateway('wave')->get();

// Récupérer les transactions en attente
$pendingTransactions = Transaction::pending()->get();

// Récupérer une transaction spécifique
$transaction = Transaction::where('transaction_id', 'TXN_123')->first();

// Vérifier le statut
if ($transaction->isSuccessful()) {
    echo "Transaction réussie";
}

// Obtenir le montant formaté
echo $transaction->formatted_amount; // "5,000.00 XOF"

// Obtenir le nom du gateway
echo $transaction->gateway_display_name; // "Orange Money"
```

Gestion des erreurs
-------------------

[](#gestion-des-erreurs)

```
use Weexduunx\AidaGateway\Exceptions\GatewayNotFoundException;
use Weexduunx\AidaGateway\Exceptions\GatewayNotEnabledException;

try {
    $response = Aida::gateway('invalid_gateway')->pay(...);
} catch (GatewayNotFoundException $e) {
    // Gateway non supporté
} catch (GatewayNotEnabledException $e) {
    // Gateway désactivé dans la configuration
}
```

Tests
-----

[](#tests)

```
composer test
```

Sécurité
--------

[](#sécurité)

Si vous découvrez des problèmes de sécurité, veuillez envoyer un email à l'équipe de sécurité au lieu d'utiliser l'issue tracker.

Licence
-------

[](#licence)

Ce package est open-source et disponible sous la [licence MIT](LICENSE.md).

Crédits
-------

[](#crédits)

- [Idrissa Ndiouck aka Weex Duunx](https://github.com/weexduunx)

Support
-------

[](#support)

Pour toute question ou problème, veuillez ouvrir une issue sur GitHub.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance68

Regular maintenance activity

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

188d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/43175649?v=4)[Idrissa Ndiouck](/maintainers/weexDuunx)[@weexduunx](https://github.com/weexduunx)

---

Top Contributors

[![weexduunx](https://avatars.githubusercontent.com/u/43175649?v=4)](https://github.com/weexduunx "weexduunx (6 commits)")[![Rone221](https://avatars.githubusercontent.com/u/126332492?v=4)](https://github.com/Rone221 "Rone221 (1 commits)")

---

Tags

africae-moneyfree-moneylaravellaravel-frameworklaravel-packagemobile-moneymobile-money-paymentorange-moneypayment-gatewaypayment-processingphpsenegalwaveyaslaravelpaymentgatewaymobile-moneyOrange Moneywavee-moneyfree-moneyaida

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/weexduunx-laravel-aida-gateway/health.svg)

```
[![Health](https://phpackages.com/badges/weexduunx-laravel-aida-gateway/health.svg)](https://phpackages.com/packages/weexduunx-laravel-aida-gateway)
```

###  Alternatives

[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4845.9k](/packages/sebdesign-laravel-viva-payments)[omalizadeh/laravel-multi-payment

A driver-based laravel package for online payments via multiple gateways

491.1k](/packages/omalizadeh-laravel-multi-payment)[dena-a/iran-payment

a Laravel package to handle Internet Payment Gateways for Iran Banking System

312.4k1](/packages/dena-a-iran-payment)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
