Tests Fonctionnels du Gateway Axis
Simulation complète du flux de paiement depuis la redirection frontend
Ces tests simulent le comportement réel du frontend AxisPayment Gateway :
Marchand initie
POST /api/v1/init-payment avec HMAC → obtient token
Redirection client
Vers /pay?token=xxx (ces démos)
Validation token
GET /api/v1/payment/validate/:token
Saisie paiement
Numéro + opérateur mobile money
Soumission
POST /api/v1/submit-payment
Surveillance
Polling du statut jusqu'à confirmation
🔗 État du Système
Technologies de Test
Deux approches pour tester le Gateway AxisPayment
HTML/JavaScript
Tests traditionnels avec JavaScript vanilla
Caractéristiques :
- ✅ Fichiers statiques HTML/CSS/JS
- ✅ Simulation du comportement marchand
- ✅ Tests directs des APIs
- ✅ Interface
merchant-page.html
React Application
Interface moderne avec React/TypeScript
Avantages :
- 🚀 Interface moderne et responsive
- 🔧 Gestion d'état avec Redux
- 📱 Composants réutilisables
- 🧪 Tests unitaires avancés
Comparaison des Approches
Parcours Utilisateur Réel
Flux complet de paiement Axis comme en production
Page Marchand
Le client est sur le site marchand avec son panier
Simule une vraie page e-commerce avec bouton "Payer avec Axis"
Clic "Payer avec Axis"
Le marchand appelle init-payment et redirige vers Axis
// Initialisation du paiement
const result = await axisApi.initPayment({
orderId: "CMD-001",
amount: 15000,
currency: "MGA"
});
// Redirection automatique
window.location.href = result.redirect_url;
Initialisation HMAC + redirection vers localhost:4000
Gateway Axis
Page de paiement Axis avec validation token et formulaire
Résumé du Flux
Démarrage Rapide
Tester le flux complet en 3 étapes
Démarrer le Backend
Assurez-vous que l'API Axis fonctionne
cd backend
npm run dev
http://localhost:4001
Aller à la Boutique
Simulez un vrai site marchand
Page avec panier et bouton "Payer avec Axis"
Tester le Paiement
Cliquez sur "Payer avec Axis" et suivez le flux
Ce que vous allez observer
Scénarios de Test Fonctionnels
Tests du flux complet marchand → gateway → résultat
🎯 Flux Complet Réussi
Test Principalmerchant-page.html
Redirection vers
payment-success.html
❌ Erreur d'Initialisation
Test d'Erreur⏰ Token Expiré
Test Timeout📱 Validation Formulaire
Test ValidationConfiguration de Test
http://localhost:4001Démarrer avec
npm run dev
550e8400-e29b-41d4-a716-446655440000UUID de test
Numéros:
+261341234567Montants:
15000 Ar
Architecture API Axis
Séparation marchand/frontend pour sécurité maximale
🔐 Côté Marchand (Serveur)
🌐 Côté Frontend (Navigateur)
Sécurité par Architecture
Clés secrètes
Jamais exposées côté client
Tokens éphémères
Valides 3 minutes seulement
HMAC marchand
Signature côté serveur uniquement
Rate limiting
Protection anti-abus différenciée
Anti-replay
Nonces stockés pour prévention
Validation stricte
Serveur + client