Tableau de bord marchand
Le Tableau de bord marchand Xaalis (/dashboard/*) permet aux marchands et à leurs équipes de suivre les soldes, gérer les paiements et virements, administrer les abonnements et factures, configurer les webhooks, effectuer la rotation des clés d’API et gérer les membres de l’équipe.
Authentification et accès
Section intitulée « Authentification et accès »L’accès au tableau de bord s’effectue sans mot de passe et uniquement sur invitation :
- Aucune inscription publique : Les utilisateurs du tableau de bord sont configurés par un opérateur (via
POST /admin/merchants/{id}/dashboard-memberships) ou invités par un Propriétaire (Owner) existant. - Liens magiques (Magic Links) : Connectez-vous en saisissant votre adresse e-mail sur
/dashboard/login. Vous recevez immédiatement un lien de connexion sécurisé (POST /dashboard/auth/sign-in/magic-link). - Cookie de session : Cliquer sur le lien reçu dans l’e-mail établit un cookie de session sécurisé
HttpOnly(credentials: "include"). Aucun jeton ou secret n’est conservé dans le stockage du navigateur (localStorageousessionStorage).
Rôles et autorisations
Section intitulée « Rôles et autorisations »Chaque collaborateur dispose d’un rôle spécifique attribué sur le compte marchand :
| Fonctionnalité / Action | Propriétaire | Développeur | Lecteur |
|---|---|---|---|
| Consulter les soldes, transactions et factures | ✓ | ✓ | ✓ |
| Consulter les livraisons de webhooks et payloads | ✓ | ✓ | ✓ |
| Créer des paiements test et simuler les résultats | ✓ | ✓ | — |
| Créer des abonnements et avancer les cycles (test) | ✓ | ✓ | — |
| Initier des virements (réels ou test) | ✓ | — | — |
| Résilier des abonnements (immédiat ou fin de période) | ✓ | — | — |
| Gérer les clés d’API (créer, renouveler, révoquer) | ✓ | — | — |
| Modifier l’URL de webhook en direct | ✓ | — | — |
| Inviter ou retirer des membres de l’équipe | ✓ | — | — |
Mode Test vs Mode En direct
Section intitulée « Mode Test vs Mode En direct »La barre de navigation supérieure intègre un sélecteur visible entre le Mode Test et le Mode En direct :
- En Mode Test, un bandeau d’avertissement ambre de 32px s’affiche au sommet de l’interface. Toutes les données, transactions et soldes affichés proviennent strictement du grand livre
test:. - Les actions exécutées en Mode Test (création de paiements test, simulation de validations ou d’échecs, rotation de clés test) ne touchent jamais à de l’argent réel ni aux opérateurs télécoms réels.
- Vous pouvez basculer d’un mode à l’autre en un clic ; vos permissions restent identiques.
Solde et Virements
Section intitulée « Solde et Virements »Bandeau de solde
Section intitulée « Bandeau de solde »Le tableau de bord met en avant deux montants consolidés :
- Disponible : Fonds encaissés et disponibles sur votre compte marchand, prêts pour un virement immédiat.
- Virements en cours : Fonds réservés pour des virements en cours de traitement vers Wave ou Orange Money.
Initier un virement (Payout)
Section intitulée « Initier un virement (Payout) »- Cliquez sur Virer les fonds depuis le bandeau de solde ou la page Virements.
- Choisissez l’opérateur bénéficiaire (Wave ou Orange Money).
- Renseignez le numéro de téléphone mobile au format sénégalais normalisé :
+2217XXXXXXXX. - Indiquez le montant en nombre entier de FCFA (qui doit être $\le$ Disponible déduction faite des frais).
- Vérifiez le récapitulatif des frais avant confirmation.
- L’opération transmet un en-tête
Idempotency-Keyunique et automatique pour garantir l’absence de doublon.
Paiements et simulation test
Section intitulée « Paiements et simulation test »- Historique en temps réel : Tableau affichant la date, les coordonnées client, la référence de commande, le montant brut et les frais prélevés.
- Filtres par statut : Filtrez rapidement par
succeeded,processing,requires_payment_method,failedouexpired. - Tiroir de détail : Cliquez sur n’importe quel paiement pour déployer le panneau latéral complet affichant l’identifiant exact Xaalis, le détail des frais, le montant net et le lien direct vers le checkout hébergé.
- Simulation : En Mode Test, un paiement en attente ou en cours de traitement peut être simulé en
succeededoufaileddirectement depuis le tiroir afin de tester vos webhooks.
Abonnements et Factures
Section intitulée « Abonnements et Factures »La section Abonnements permet la gestion de la facturation récurrente :
- Création d’abonnements : Définition de forfaits avec fréquence (
hebdomadaire,mensuelle,trimestrielle,semestrielle,annuelle), nombre de cycles, informations client et délai d’échéance (days_until_due). - Factures : Chaque cycle génère une facture dotée d’un lien de paiement client dédié (
hosted_invoice_url). Statuts disponibles :brouillon,ouverte,payée,en retardouirrécouvrable. - Résiliation :
- À la fin de la période (
at_period_end: true) : La période en cours reste active et payable ; aucun renouvellement futur n’aura lieu. - Immédiate (
at_period_end: false) : Annulation immédiate. Si un paiement est déjà en cours de traitement chez l’opérateur, il sera régularisé proprement sans facturation ultérieure.
- À la fin de la période (
- Avancement de cycle en test : Les développeurs peuvent forcer l’avancement immédiat d’un cycle en mode test pour valider les renouvellements et l’émission des factures.
Espace Développeurs et Sécurité
Section intitulée « Espace Développeurs et Sécurité »Accessible via /dashboard/developers, cet espace est dédié aux intégrations techniques :
Clés d’API
Section intitulée « Clés d’API »- Liste des clés actives et planifiées pour révocation selon le mode sélectionné.
- Seuls les identifiants techniques sûrs (
key_...), le préfixe affiché (sk_test_...ousk_live_...) et la date de création sont consultables. - Génération de clé : La clé secrète n’est révélée qu’une seule fois dans une fenêtre modale sécurisée avec bouton de copie. Elle n’est jamais stockée dans le navigateur ni récupérable par l’API ultérieurement.
- Renouvellement sans coupure (Roll) : Permet de configurer un délai de grâce entre 1 et 72 heures (24h par défaut). L’ancienne clé reste valide jusqu’à l’heure programmée (
scheduled_revoke_at), laissant le temps de mettre à jour vos serveurs de production. - Révocation immédiate : Pour révoquer sans délai une clé compromise.
Webhooks et journaux de livraison
Section intitulée « Webhooks et journaux de livraison »- Configuration : Enregistrement de votre URL de webhook HTTPS pour recevoir les événements (
payment.succeeded,payout.failed, etc.). - Journal des livraisons : Historique en temps réel des 50 dernières tentatives d’envoi, avec code de retour HTTP, durée et historique des retries.
- Inspecteur de payload : Cliquez sur une livraison pour visualiser le payload JSON exact signé et expédié à votre serveur.
Paramètres et Équipe
Section intitulée « Paramètres et Équipe »Les Propriétaires du compte peuvent accéder à /dashboard/settings pour :
- Consulter les informations légales et la grille tarifaire appliquée au compte marchand.
- Visualiser tous les membres actuels de l’équipe et leurs rôles.
- Inviter de nouveaux collaborateurs avec les rôles Développeur ou Lecteur.
- Révoquer l’accès d’un collaborateur à tout moment.