Ce projet démontre l'intégration de Paycard dans une application Laravel pour gérer les paiements via Orange Money, MTN MoMo, Carte bancaire et Paycard.
Le diagramme suivant illustre le processus complet de paiement, de la sélection du produit jusqu'à la confirmation de la transaction :
-
Clé API Paycard
- Contactez Paycard via leur page de contact pour obtenir une clé API
-
Environnement technique
- PHP >= 8.2
- Laravel >= 11.x
- Docker (pour Laravel Sail)
- Composer
- Cloner et installer le projet
git clone https://github.com/bmsanoussy/paycard-laravel
cd paycard-laravel
composer install
- Configuration
cp .env.example .env
# Ajoutez votre clé API dans .env :
# PAYCARD_API_KEY=votre-cle-api
- Lancer l'application
./vendor/bin/sail up -d
./vendor/bin/sail artisan migrate --seed
$paymentData = [
// ...
'callback_url' => route('payment.callback'),
'auto_redirect' => true,
'redirect_with_get' => true // Assurez-vous que cette option est à true
];
- Orange Money Guinea
- MTN Mobile Money
- Cartes Visa/Mastercard
- Paycard
- Client sélectionne un produit et mode de paiement
- Application crée la commande et initialise le paiement Paycard
- Client est redirigé vers la page de paiement
- Paycard envoie un callback GET avec le statut
- Application met à jour le statut de la commande
Route::get('/', [ProductController::class, 'index'])->name('products.index');
Route::post('/payment/initiate', [PaymentController::class, 'initiate'])->name('payment.initiate');
Route::get('/payment/callback', [PaymentController::class, 'callback'])->name('payment.callback');
-
Erreur 419 (CSRF)
- Vérifiez que
redirect_with_get
est àtrue
- Le callback doit être en GET
- Vérifiez que
-
Erreur d'API
- Vérifiez la validité de votre clé API
- Consultez les logs Laravel :
sail artisan log:tail