zaz-aangaraa / pay
A Laravel package for integrating MTN and Orange Money payments in Cameroon
dev-main
2024-12-10 12:18 UTC
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^8.0|^9.0|^10.0
This package is auto-updated.
Last update: 2025-06-10 13:25:50 UTC
README
Un package Laravel pour intégrer facilement les paiements MTN Mobile Money et Orange Money au Cameroun via votre propre API.
Installation
composer require zaz-aangaraa/pay
Configuration
- Publiez les fichiers de configuration et les migrations :
php artisan vendor:publish --tag=aangaraa-pay
- Exécutez les migrations :
php artisan migrate
- Ajoutez les variables d'environnement suivantes à votre fichier
.env
:
# Aangaraa Pay Configuration AANGARAA_PAY_API_URL=https://votre-api-url.com/api AANGARAA_PAY_APP_KEY=votre_app_key MTN_CALLBACK_URL=https://votre-site.com/callback/mtn MTN_NOTIFY_URL=https://votre-site.com/notify/mtn ORANGE_CALLBACK_URL=https://votre-site.com/callback/orange ORANGE_NOTIFY_URL=https://votre-site.com/notify/orange
Utilisation
Initialiser un paiement
use Aangaraa\Pay\Facades\AangaraaPay; // Initialiser un paiement $payment = AangaraaPay::initializePayment([ 'phone_number' => '237XXXXXXXXX', 'amount' => 1000, 'description' => 'Paiement pour service X', 'app_key' => 'votre_app_key', 'transaction_id' => 'unique_transaction_id', 'operator' => 'MTN_Cameroon', // ou 'Orange_Cameroon' 'currency' => 'XAF', ]);
Vérifier le statut d'un paiement
$status = AangaraaPay::checkPaymentStatus('unique_transaction_id');
Retirer de l'argent
$response = AangaraaPay::withdrawMoney([ 'phone_number' => '237XXXXXXXXX', 'amount' => 500, 'app_key' => 'votre_app_key', 'operator' => 'MTN_Cameroon', // ou 'Orange_Cameroon' ]);
Gestion des Webhooks
Le package gère automatiquement les webhooks de notification pour MTN et Orange Money. Assurez-vous que vos URLs de notification sont accessibles publiquement.
Sécurité
Le package utilise votre app_key
pour authentifier les requêtes. Assurez-vous de ne jamais partager votre clé et de la stocker de manière sécurisée.
Support
Pour toute question ou problème, veuillez créer une issue sur le dépôt GitHub.