PHPackages                             simonet85/laravel-moneyfusion - 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. simonet85/laravel-moneyfusion

ActiveLibrary[Payment Processing](/categories/payments)

simonet85/laravel-moneyfusion
=============================

Laravel package for MoneyFusion payment integration

v1.0.5(6mo ago)14MITPHPPHP ^8.1|^8.2|^8.3

Since Nov 7Pushed 6mo agoCompare

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

READMEChangelogDependencies (5)Versions (7)Used By (0)

📦 Laravel MoneyFusion Package
=============================

[](#-laravel-moneyfusion-package)

[![Latest Version](https://camo.githubusercontent.com/34e695c6016bc2a934a96bed696e29b2f2ab562a7134d65a55d00653cd506bea/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d312e302e302d626c75652e737667)](https://github.com/simonet85/laravel-moneyfusion)[![Laravel](https://camo.githubusercontent.com/a63e272a3bdce020c20c8748cd85e9b46c6fe59ee9e7fc85f8e0bfb2f6e022fb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302e782532422d7265642e737667)](https://laravel.com)[![License](https://camo.githubusercontent.com/8bb50fd2278f18fc326bf71f6e88ca8f884f72f179d3e555e20ed30157190d0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e2e737667)](LICENSE)

Package Laravel pour l'intégration simplifiée de **MoneyFusion** - Solution de paiement mobile money (Orange Money, MTN, Wave, Moov) et cartes bancaires en Afrique.

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

[](#-fonctionnalités)

- ✅ Installation en une commande
- ✅ Configuration automatique
- ✅ Facade Laravel intuitive
- ✅ Routes API et Web pré-configurées
- ✅ Controllers inclus
- ✅ Modèle Eloquent
- ✅ Migrations automatiques
- ✅ Gestion des webhooks
- ✅ Vues Blade incluses
- ✅ Commands Artisan
- ✅ Tests automatisés
- ✅ Support Laravel 10.x et 11.x

📦 Installation
--------------

[](#-installation)

```
composer require simonet85/laravel-moneyfusion
```

⚙️ Configuration
----------------

[](#️-configuration)

### 1. Publier la configuration

[](#1-publier-la-configuration)

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

### 2. Configurer .env

[](#2-configurer-env)

```
MONEYFUSION_API_URL=https://api.moneyfusion.net/api/create-payment
MONEYFUSION_APP_KEY=VotreApp/VotreCle
MONEYFUSION_WEBHOOK_URL=https://votre-domaine.com/api/moneyfusion/webhook
MONEYFUSION_RETURN_URL=https://votre-domaine.com/payment/callback
```

### 3. Exécuter les migrations

[](#3-exécuter-les-migrations)

```
php artisan migrate
```

### 4. (Optionnel) Publier les vues

[](#4-optionnel-publier-les-vues)

```
php artisan vendor:publish --tag=moneyfusion-views
```

🚀 Utilisation
-------------

[](#-utilisation)

### Avec la Facade

[](#avec-la-facade)

```
use VotreVendor\LaravelMoneyFusion\Facades\MoneyFusion;

// Créer un paiement
$result = MoneyFusion::createPayment([
    'total_price' => 5000,
    'articles' => [
        [
            'name' => 'Produit A',
            'price' => 5000,
            'quantity' => 1
        ]
    ],
    'nom_client' => 'Jean Dupont',
    'numero_send' => '0707070707',
    'user_id' => auth()->id(),
]);

// Rediriger vers la page de paiement
return redirect($result['url']);
```

### Vérifier le statut d'un paiement

[](#vérifier-le-statut-dun-paiement)

```
$status = MoneyFusion::checkPaymentStatus($token);

if ($status['data']['statut'] === 'paid') {
    // Paiement réussi
}
```

### Obtenir un paiement

[](#obtenir-un-paiement)

```
$payment = MoneyFusion::getPaymentByToken($token);

if ($payment->isPaid()) {
    // Traiter la commande
}
```

### Dans un Controller

[](#dans-un-controller)

```
use VotreVendor\LaravelMoneyFusion\MoneyFusionService;

class CheckoutController extends Controller
{
    public function __construct(
        protected MoneyFusionService $moneyFusion
    ) {}

    public function process(Request $request)
    {
        try {
            $result = $this->moneyFusion->createPayment([
                'total_price' => $request->total,
                'articles' => $request->articles,
                'nom_client' => $request->nom_client,
            ]);

            return redirect($result['url']);

        } catch (\Exception $e) {
            return back()->with('error', $e->getMessage());
        }
    }
}
```

🛣️ Routes automatiques
----------------------

[](#️-routes-automatiques)

Le package enregistre automatiquement les routes suivantes:

### API Routes

[](#api-routes)

- `POST /api/moneyfusion/payments/initiate` - Créer un paiement
- `GET /api/moneyfusion/payments/{token}/status` - Vérifier le statut
- `POST /api/moneyfusion/webhook` - Recevoir les webhooks MoneyFusion

### Web Routes

[](#web-routes)

- `GET /payment/callback` - Redirection après paiement
- `GET /payment/success/{token}` - Page de succès
- `GET /payment/failed` - Page d'échec
- `GET /payment/pending/{token}` - Page en attente

🎮 Commands Artisan
------------------

[](#-commands-artisan)

### Tester la création d'un paiement

[](#tester-la-création-dun-paiement)

```
php artisan moneyfusion:test-payment --amount=5000 --client="Jean Test"
```

### Vérifier le statut d'un paiement

[](#vérifier-le-statut-dun-paiement-1)

```
php artisan moneyfusion:check-payment {token}
```

📊 Modèle de données
-------------------

[](#-modèle-de-données)

Le package crée automatiquement la table `moneyfusion_payments` avec les champs suivants:

```
MoneyFusionPayment {
    id
    token_pay          // Token unique du paiement
    user_id            // ID de l'utilisateur (optionnel)
    order_id           // ID de la commande (optionnel)
    numero_send        // Numéro de téléphone
    nom_client         // Nom du client
    montant            // Montant en FCFA
    frais              // Frais de transaction
    numero_transaction // Numéro de transaction
    statut             // pending, paid, failed, cancelled
    moyen              // Moyen de paiement utilisé
    payment_url        // URL de paiement
    personal_info      // Données personnalisées (JSON)
    articles           // Liste des articles (JSON)
    raw_response       // Réponse brute de l'API (JSON)
    paid_at            // Date de paiement
    created_at
    updated_at
}
```

### Méthodes disponibles

[](#méthodes-disponibles)

```
$payment = MoneyFusionPayment::find(1);

// Vérifier le statut
$payment->isPaid();      // bool
$payment->isPending();   // bool
$payment->isFailed();    // bool

// Marquer comme payé
$payment->markAsPaid([
    'numeroTransaction' => 'TRX123',
    'moyen' => 'orange_money',
    'frais' => 250,
]);

// Relations
$payment->user;    // Utilisateur
$payment->order;   // Commande (si configuré)

// Scopes
MoneyFusionPayment::paid()->get();      // Tous les paiements payés
MoneyFusionPayment::pending()->get();   // En attente
MoneyFusionPayment::today()->get();     // Paiements du jour
```

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

[](#-sécurité)

### Webhooks

[](#webhooks)

Les webhooks sont automatiquement protégés. Le package:

- ✅ Exclut automatiquement la route webhook du CSRF
- ✅ Valide les données reçues
- ✅ Prévient les duplications
- ✅ Log toutes les transactions

### Configuration HTTPS

[](#configuration-https)

**Important:** En production, assurez-vous que:

- `webhook_url` utilise HTTPS
- `return_url` utilise HTTPS
- Votre domaine a un certificat SSL valide

🧪 Tests
-------

[](#-tests)

```
# Exécuter tous les tests
composer test

# Tests avec couverture
composer test-coverage
```

📖 Documentation complète
------------------------

[](#-documentation-complète)

Pour une documentation plus détaillée, consultez:

- [Guide d'utilisation complet](docs/USAGE.md)
- [Configuration avancée](docs/CONFIGURATION.md)
- [Gestion des webhooks](docs/WEBHOOKS.md)
- [API Reference](docs/API.md)

🤝 Contribution
--------------

[](#-contribution)

Les contributions sont les bienvenues! Consultez [CONTRIBUTING.md](CONTRIBUTING.md) pour plus de détails.

🐛 Signaler un bug
-----------------

[](#-signaler-un-bug)

Si vous trouvez un bug, ouvrez une issue sur [GitHub](https://github.com/simonet85/laravel-moneyfusion/issues).

📄 Licence
---------

[](#-licence)

Ce package est open-source sous licence [MIT](LICENSE).

🙏 Remerciements
---------------

[](#-remerciements)

- [MoneyFusion](https://moneyfusion.net) - Plateforme de paiement
- [Laravel](https://laravel.com) - Framework PHP

📞 Support
---------

[](#-support)

- GitHub Issues: [issues](https://github.com/simonet85/laravel-moneyfusion/issues)
- Email:
- Documentation MoneyFusion: [docs.moneyfusion.net](https://docs.moneyfusion.net)

🌟 Donnez une étoile!
--------------------

[](#-donnez-une-étoile)

Si ce package vous est utile, pensez à donner une ⭐ sur GitHub!

---

**Made with ❤️ for the Laravel and African tech community**

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance68

Regular maintenance activity

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Every ~0 days

Total

6

Last Release

186d ago

PHP version history (2 changes)v1.0.0PHP ^8.1

v1.0.1PHP ^8.1|^8.2|^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/e46891cc0eb881db18f880884c9861f3a5f1befc06f6dd68de7be1f9bae506a3?d=identicon)[Simonet85](/maintainers/Simonet85)

---

Top Contributors

[![simonet85](https://avatars.githubusercontent.com/u/24300188?v=4)](https://github.com/simonet85 "simonet85 (15 commits)")

---

Tags

laravelpaymentpayment gatewaymoneyfusion

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/simonet85-laravel-moneyfusion/health.svg)

```
[![Health](https://phpackages.com/badges/simonet85-laravel-moneyfusion/health.svg)](https://phpackages.com/packages/simonet85-laravel-moneyfusion)
```

###  Alternatives

[musahmusah/laravel-multipayment-gateways

A Laravel Package that makes implementation of multiple payment Gateways endpoints and webhooks seamless

852.2k1](/packages/musahmusah-laravel-multipayment-gateways)[dena-a/iran-payment

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

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

Knet package is provides an expressive, fluent interface to KNet's payment services.

141.1k](/packages/asciisd-knet)

PHPackages © 2026

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