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

ActiveLaravel-package[Payment Processing](/categories/payments)

sefako/moneyfusion-laravel
==========================

Un package Laravel pour intégrer le système de paiement MoneyFusion.

v2.0.0(9mo ago)072MITPHPPHP ^8.1

Since Aug 3Pushed 9mo agoCompare

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

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

Intégration MoneyFusion pour Laravel
====================================

[](#intégration-moneyfusion-pour-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/76d9a49ce061b8e0afece1142c3ac22f33fa627aadea9d8b686d86a3b8de50fb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736566616b6f2f6d6f6e6579667573696f6e2d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sefako/moneyfusion-laravel)[![Total Downloads](https://camo.githubusercontent.com/637a5dea397c6190154387709819146f1c2c922bc0138b34af9c476cdab51b0e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f736566616b6f2f6d6f6e6579667573696f6e2d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sefako/moneyfusion-laravel)

Ce package fournit une intégration **complète et rapide** pour l'API de paiement MoneyFusion dans votre application Laravel. Il est conçu comme une solution **plug-and-play**, incluant les contrôleurs, les modèles et les vues nécessaires pour gérer les paiements (Pay-in) et les retraits (Payout).

✨ Features
----------

[](#-features)

- 📊 **Liste des Transactions** : Affichez et gérez l'historique de toutes les transactions.
- 🚀 **Plug-and-Play** : Publiez les contrôleurs, vues et migrations en une seule commande.
- 💳 **Paiements (Pay-in)** : Initiez des paiements et redirigez les utilisateurs.
- 💸 **Retraits (Payout)** : Demandez des transferts d'argent vers un numéro.
- 🔗 **Intégration Modèle `User`** : Liez les transactions à vos utilisateurs avec un simple Trait.
- 🔔 **Webhooks Gérés** : Une route et une logique de base pour traiter les notifications de MoneyFusion.
- ✅ **Vérification de Statut** : Interrogez l'API pour connaître l'état d'une transaction.
- 🛠️ **Commande Artisan** : Vérifiez la connectivité avec l'API.

💾 Installation
--------------

[](#-installation)

Vous pouvez installer le package via Composer :

```
composer require sefako/moneyfusion-laravel
```

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

[](#️-configuration)

1. **Publier les Fichiers (Recommandé)**

    Cette commande unique publiera la configuration, les contrôleurs, les vues et la migration. C'est la méthode la plus simple pour démarrer.

    ```
    php artisan vendor:publish --provider="Sefako\Moneyfusion\MoneyfusionServiceProvider"
    ```

    > Pour une publication plus fine (par exemple, uniquement le fichier de configuration), consultez la section [Publication des Ressources](#publication-des-ressources-d%C3%A9taill%C3%A9e).
2. **Configurer les Variables d'Environnement**

    Ajoutez les informations de votre compte MoneyFusion à votre fichier `.env`.

    ```
    MONEYFUSION_API_URL="https://www.pay.moneyfusion.net"
    MONEYFUSION_API_KEY="votre_cle_api_secrete"
    MONEYFUSION_MAKE_PAYMENT_API_URL="https://www.pay.moneyfusion.net/makePayment"
    ```
3. **Exécuter la Migration**

    Cette commande créera la table `moneyfusion_transactions` dans votre base de données.

    ```
    php artisan migrate
    ```

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

[](#-utilisation)

Une fois configuré, vous avez plusieurs façons d'utiliser le package.

### Option 1 : La Voie Plug-and-Play (Après publication)

[](#option-1--la-voie-plug-and-play-après-publication)

Si vous avez publié les fichiers à l'étape de configuration, des routes sont déjà prêtes. Assurez-vous que vos utilisateurs sont authentifiés, puis dirigez-les vers :

- **Faire un paiement :** `/payment`
- **Faire un retrait :** `/payout`
- **Voir les transactions :** `/transactions`

### Option 2 : Intégration au Modèle `User`

[](#option-2--intégration-au-modèle-user)

C'est la méthode la plus élégante pour lier les transactions à vos utilisateurs.

1. **Ajoutez le Trait** à votre modèle `User`.

    ```
    // app/Models/User.php
    namespace App\Models;

    use Illuminate\Foundation\Auth\User as Authenticatable;
    use Sefako\Moneyfusion\Concerns\HasMoneyfusionTransactions;

    class User extends Authenticatable
    {
        use HasMoneyfusionTransactions;
        // ...
    }
    ```
2. **Accédez aux transactions** directement depuis une instance de l'utilisateur.

    ```
    $user = User::find(1);

    // Obtenir toutes les transactions
    $allTransactions = $user->moneyfusionTransactions;

    // Obtenir uniquement les paiements (pay-ins)
    $payments = $user->moneyfusionPayments;

    // Obtenir uniquement les retraits (payouts)
    $payouts = $user->moneyfusionPayouts;
    ```

### Option 3 : Utilisation de la Façade (Avancé)

[](#option-3--utilisation-de-la-façade-avancé)

Pour un contrôle total, utilisez la façade `Moneyfusion` directement dans votre propre logique.

#### Initier un Paiement (Pay-in)

[](#initier-un-paiement-pay-in)

```
use Sefako\Moneyfusion\Facades\Moneyfusion;

$paymentData = [
    'totalPrice' => 200,
    'numeroSend' => "01010101",
    'nomclient' => "John Doe",
    'return_url' => route('votre.route.callback'),
    'webhook_url' => route('moneyfusion.webhook'), // Le package enregistre cette route pour vous
];

$response = Moneyfusion::makePayment($paymentData);

if ($response && $response['statut'] === true) {
    // Associez la transaction à l'utilisateur si nécessaire
    auth()->user()->moneyfusionTransactions()->create([/* ... */]);
    return redirect()->away($response['url']);
}
```

#### Demander un Retrait (Payout)

[](#demander-un-retrait-payout)

```
use Sefako\Moneyfusion\Facades\Moneyfusion;

$payoutData = [
    'montant' => 5000,
    'numero' => '01020304',
    'moyen' => 'orange', // 'orange', 'mtn', 'moov'
    'webhook_url' => route('moneyfusion.webhook'),
];

$response = Moneyfusion::requestPayout($payoutData);

if ($response && $response['statut'] === true) {
    // La demande de retrait a été acceptée
}
```

#### Vérifier le Statut

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

```
// Pour un paiement
$status = Moneyfusion::checkPaymentStatus('token_du_paiement');

// Pour un retrait
$status = Moneyfusion::checkPayoutStatus('token_du_retrait');
```

🔔 Webhooks
----------

[](#-webhooks)

Le package enregistre automatiquement une route (`/webhook`) et une logique pour traiter les notifications de MoneyFusion.

Lorsque vous publiez les fichiers du package, un modèle `MoneyfusionTransaction` est créé. Le webhook mettra à jour le statut de la transaction correspondante dans votre base de données.

Les événements suivants sont gérés :

- `payin.session.completed`
- `payin.session.cancelled`
- `payout.session.completed`
- `payout.session.cancelled`

📦 Publication des Ressources (Détaillée)
----------------------------------------

[](#-publication-des-ressources-détaillée)

Vous pouvez choisir de ne publier que certaines parties du package en utilisant les tags suivants :

- `--tag="moneyfusion-laravel-config"`
- `--tag="moneyfusion-laravel-controllers"`
- `--tag="moneyfusion-laravel-views"`
- `--tag="moneyfusion-laravel-migrations"`

Exemple :

```
php artisan vendor:publish --provider="Sefako\Moneyfusion\MoneyfusionServiceProvider" --tag="moneyfusion-laravel-views"
```

🛠️ Commande Artisan
-------------------

[](#️-commande-artisan)

Une commande Artisan est incluse pour vérifier la connectivité avec l'API de MoneyFusion.

```
php artisan moneyfusion:check
```

🧪 Tests
-------

[](#-tests)

Pour lancer les tests du package, exécutez la commande suivante depuis la racine de votre projet Laravel :

```
composer test
```

📜 Licence
---------

[](#-licence)

Ce package est distribué sous la licence MIT. Voir le fichier `LICENSE` pour plus d'informations.

👏 Crédits
---------

[](#-crédits)

- [Akotse Patrice](https://github.com/geonidas6)

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance57

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

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 ~1 days

Total

4

Last Release

281d ago

Major Versions

v1.1.0 → v2.0.02025-08-05

### Community

Maintainers

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

---

Top Contributors

[![geonidas6](https://avatars.githubusercontent.com/u/38140825?v=4)](https://github.com/geonidas6 "geonidas6 (6 commits)")

---

Tags

laravelbillingpaymentgatewayinvoicemoneyfusion

### Embed Badge

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

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

###  Alternatives

[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)
