ibradis / orange-money
Un package Laravel pour intégrer l'API Orange Money Web Payment.
dev-main
2025-04-07 12:27 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.0
README
Ce package Laravel permet d'intégrer le service de paiement Orange Money Web Payment API (Sandbox) dans votre application.
Installation
Vous pouvez installer ce package via Composer :
composer require ibradis/orange-money:*@dev
Si vous utilisez une installation manuelle dans vendor
, ajoutez cette ligne dans composer.json
de votre projet :
"repositories": [ { "type": "path", "url": "vendor/ibradis/orange-money" } ]
Configuration
Publiez la configuration :
php artisan vendor:publish --tag=orange-money-config"
Puis, ajoutez vos informations Orange Money dans le fichier .env
:
ORANGE_CLIENT_ID=ton_client_id ORANGE_CLIENT_SECRET=ton_client_secret ORANGE_MERCHANT_KEY=ta_clef_merchant ORANGE_RETURN_URL=https://ton-site.com/success ORANGE_CANCEL_URL=https://ton-site.com/cancel ORANGE_NOTIF_URL=https://ton-site.com/notify ORANGE_BASE_URL=https://api.orange.com/orange-money-webpay/dev/v1
Utilisation
Initialisation du service
Dans votre contrôleur ou service :
use Ibrahima\OrangeMoney\OrangeMoney; $orangeMoney = new OrangeMoney();
Utilisation
Générer un Token d'authentification :
use Ibradis\OrangeMoney\OrangeMoney; $orange = new OrangeMoney(); $token = $orange->getAccessToken();
Créer un paiement :
$orange = new OrangeMoney(); $response = $orange->createPayment( orderId: 'CMD-20250407-001', amount: 1000, reference: 'Paiement Facture 001' ); // Rediriger l'utilisateur vers la page de paiement return redirect($response['payment_url']); // https://api.orange.com/orange-money-webpay/dev/v1/checkout/checkout/checkout
Vérifier le statut d'une transaction : :
$orange = new OrangeMoney(); $status = $orange->checkStatus( orderId: 'CMD-20250407-001', amount: 1000, payToken: 'XXXXXX' // Token reçu lors du paiement );
Exemples Laravel Controller :
use Ibradis\OrangeMoney\OrangeMoney; class PaiementController extends Controller { public function paiement() { $orange = new OrangeMoney(); $payment = $orange->createPayment('CMD-001', 2000, 'Commande 001'); return redirect($payment['payment_url']); } public function callback() { // Traitement après paiement } }