VidiPay VidiPay

À propos de VidiPay

Plateforme de paiement pour développeurs : API REST, sandbox, tokens, callbacks Mobile Money et Visa.

Vidipay est un agrégateur de paiement virtuel : une plateforme complète pour apprendre et intégrer Mobile Money, cartes Visa, retraits, remboursements et notifications asynchrones — avec la même rigueur qu'un agrégateur professionnel, sans risque financier en mode test. La documentation technique détaille chaque endpoint ; cette page explique le système dans sa profondeur.

Mission

Vidipay s'adresse aux étudiants, jeunes développeurs et équipes produit qui veulent comprendre comment fonctionne un paiement en ligne en Afrique centrale et au-delà, sans attendre des semaines d'onboarding marchand ni risquer de l'argent réel pendant les tests.

À l'inscription, chaque marchand reçoit immédiatement un code marchand, un token API Bearer (long, sécurisé), des identifiants de test uniques (numéros Mobile Money, carte Visa test) et tokens Vidipay pour expérimenter.

L'objectif n'est pas de remplacer un agrégateur bancaire ou Mobile Money réel, mais de vous permettre de maîtriser le flux complet — initiation, validation, journalisation, callback, vérification — avant de brancher un prestataire en production.

Architecture du système

Vidipay suit une architecture en couches typique des agrégateurs de paiement : votre application (marchand) communique avec une API REST ; le cœur Vidipay valide, enregistre et orchestre ; les notifications repartent vers vos serveurs.

┌─────────────────┐ Bearer token ┌──────────────────────────┐ │ Votre backend │ ────────────────────► │ API REST Vidipay │ │ (marchand) │ ◄──────────────────── │ payment / payout / │ └────────┬────────┘ JSON + orderNumber │ refund / balance / check│ │ └────────────┬─────────────┘ │ POST callbackUrl (async) │ ▼ ▼ ┌─────────────────┐ ┌──────────────────────────┐ │ Votre serveur │ │ Base de données │ │ callback │ │ ApiDeposit, ApiPayout, │ └─────────────────┘ │ ApiRefund, credentials │ └──────────────────────────┘

Composants principaux

CoucheRôle
API REST Points d'entrée HTTP : authentification Bearer, validation des champs, codes d'erreur normalisés (errorCode).
Moteur métier Traitement des dépôts (Mobile Money / Visa), retraits, remboursements, calcul des soldes par devise.
Journal (ledger) Chaque requête API acceptée ou rejetée est persistée avec statut, montants, références et historique tokens.
Callbacks Notifications HTTP POST asynchrones vers l'URL que vous fournissez (callbackUrl), avec payload minimal si l'URL est enregistrée.
Portail carte Formulaire hébergé Vidipay pour saisie carte Visa en production — les données sensibles ne transitent jamais par votre backend.
Dashboard marchand Interface web : identifiants, journaux, callbacks, facturation, documentation.

Services API

Vidipay expose cinq familles d'opérations, calquées sur les agrégateurs professionnels :

ServiceMéthodeRôleForfait min.
paymentService POST Initier un dépôt Mobile Money (type=1) ou Visa (type=2) Free (MM) / Premier (Visa)
payoutService POST Retrait vers un numéro bénéficiaire — débit du solde marchand Premier
refundService POST Rembourser un dépôt réussi identifié par référence / orderNumber Pro / Premier
balance GET Soldes retraitables par devise (CDF, USD) — gratuit Free
check/{orderNumber} GET Vérifier le statut d'une transaction — gratuit Free

Chaque service partage les mêmes principes : header Authorization: Bearer vp_live_..., champ merchant obligatoire, reference unique côté marchand, réponses JSON avec code (0 = succès) et orderNumber en cas de succès.

Cycle d'une transaction (dépôt)

1
Réception — Vidipay reçoit POST paymentService, authentifie le Bearer token et associe la requête au marchand.
2
Validation — Champs obligatoires, format téléphone (243XXXXXXXXX), devise (CDF/USD), URL callback HTTPS, référence non dupliquée, solde tokens suffisant.
3
Enregistrement — Création d'un ApiDeposit avec statut initial, déduction d'1 token Vidipay si accepté.
4
Traitement — Numéro test → simulation immédiate ; numéro réel → flux live ; Visa sans carte → paymentUrl vers le portail payeur.
5
Réponse synchrone — HTTP 200 + orderNumber renvoyé au marchand.
6
Callback asynchrone — Après traitement (~3 s en test), POST JSON sur callbackUrl avec statut final.

Les retraits (payoutService) et remboursements (refundService) suivent une logique analogue : validation → vérification du solde → enregistrement → callback.

Test vs production

ModeDéclencheurComportement
Test Mobile Money phone = numéro test (Espace API) Paiement simulé, callback auto, aucun débit réel
Test Visa type=2 + card = carte test Même simulation — forfait Premier requis
Visa portail type=2 sans card Réponse paymentUrl — le payeur saisit sa carte sur Vidipay
Live Mobile Money Numéro réel valide Flux réel (selon configuration plateforme)
Sandbox global PAIEMENT_MODE=sandbox Tous les numéros simulés — utile en développement

Le champ payment_mode (test / live) est enregistré dans chaque ApiDeposit pour traçabilité dans le journal marchand.

Sécurité

  • Token API long — Généré une fois (~500+ caractères), affiché uniquement à la création ou après vérification du mot de passe Vidipay.
  • Bearer obligatoire — Toute requête API sans token valide reçoit AUTH_001.
  • Pas de carte en clair — En production Visa, interdiction d'envoyer une vraie carte dans l'API (VAL_017) ; collecte via portail hébergé.
  • Callbacks whitelistés — URLs enregistrées dans l'espace Callback → payload minimal (status, reference, orderNumber) pour limiter l'exposition.
  • Références uniques — Empêche les doubles paiements et facilite l'idempotence côté marchand.
  • Codes d'erreur courts — Le client reçoit errorCode ; le détail est dans la documentation, pas dans la réponse HTTP.
  • Contrôle forfait — Services avancés (payout, refund, Visa) refusés avec BIZ_005 si le forfait ne le permet pas.

Soldes & ledger virtuel

Chaque marchand dispose d'un solde retraitable par devise (CDF et USD séparés). Le calcul est déterministe :

Solde(devise) = Σ dépôts réussis − Σ retraits − Σ remboursements (en cours ou réussis)

Un retrait en CDF ne peut pas consommer un solde USD (BIZ_004 si insuffisant). L'endpoint GET balance expose ces montants gratuitement avant un payoutService.

Les tokens Vidipay (quota API) sont distincts du solde marchand : ils mesurent combien de requêtes payantes vous pouvez encore envoyer, pas combien d'argent virtuel vous avez encaissé.

Système de callbacks

Les agrégateurs ne répondent pas toujours de façon synchrone : le paiement peut être confirmé quelques secondes plus tard. Vidipay reproduit ce comportement en envoyant un POST JSON sur votre callbackUrl.

Deux formats de payload

SituationPayload
URL enregistrée dans Callbacks Minimal : status, reference, orderNumber (+ champs refund si applicable)
URL non enregistrée Complet : inclut code, provider_reference, etc.

Bonne pratique : enregistrez chaque environnement (dev, staging, prod) avec une URL dédiée, répondez HTTP 200, et traitez les notifications de façon idempotente (même reference = même logique métier).

Forfaits & accès

Quatre niveaux — votre forfait actuel : — (connectez-vous).

ForfaitTokensAccès
Free à l'inscription Dépôt Mobile Money + callback dépôt + check + balance
Standard Pack 250 Comme Free, avec renouvellement tokens
Pro Packs 250 / 500 Standard + refundService + callbacks remboursement
Premier Pack 500 Tout : Visa (type=2), payout, refund, tous callbacks

Voir les forfaits et tarifs →

Économie des tokens

ConceptDescription
Tokens Vidipay Crédits consommés : 1 token par paymentService, payoutService ou refundService accepté. Pas de déduction sur erreur de validation.
Token API (vp_live_...) Clé d'authentification Bearer — ne se consomme pas, se régénère depuis l'Espace API.
check / balance Gratuits — ne consomment aucun token Vidipay.

Solde affiché en permanence : disponible après connexion dans le dashboard.

Données & traçabilité

Chaque opération API alimente des modèles persistants consultables dans le dashboard :

  • MerchantApiKey — Identifiants uniques générés à l'inscription (code, token, phones, carte test).
  • ApiDeposit — Journal complet des dépôts : payload brut, statuts, tokens déduits, order_number.
  • ApiPayout — Retraits initiés, montants, bénéficiaire, callback.
  • ApiRefund — Remboursements liés à un dépôt d'origine.
  • DepositCallback / PayoutCallback / RefundCallback — URLs autorisées par type d'opération.

Cette traçabilité permet d'auditer une intégration, de déboguer un callback manquant et de corréler une reference marchand avec un orderNumber Vidipay.

Interface marchand (dashboard)

Le dashboard est le panneau de contrôle du marchand, pas seulement un journal :

PageFonction
DashboardVue d'ensemble tokens, dépôts, montants CDF/USD
Espace APIIdentifiants, URLs, exemples multi-langages
Dépôts / Retraits / RemboursementsJournaux filtrables par date, devise, téléphone
CallbacksGestion des URLs de notification
FacturationForfaits, achat de packs tokens
DocumentationRéférence technique des endpoints
À proposCette page — vision et architecture du système

Ce que vous apprenez

En intégrant Vidipay, vous maîtrisez des compétences directement transférables vers un agrégateur réel :

  • Initier un paiement REST et gérer les réponses synchrones vs asynchrones
  • Implémenter un endpoint callback sécurisé et idempotent
  • Gérer les codes d'erreur métier sans exposer votre logique interne
  • Séparer authentification (Bearer) et quota (tokens)
  • Intégrer un portail de paiement carte sans PCI sur votre serveur
  • Calculer et vérifier des soldes multi-devises avant un retrait
  • Rembourser une transaction existante par corrélation de références

Votre code d'intégration reste valide : en production réelle, vous changez principalement les URLs et les identifiants, pas la structure des requêtes.

Accéder à la documentation technique →

Vidipay vs agrégateurs réels

Agrégateur réel (typique)Vidipay
Onboarding KYC, délais, sandbox sur demande Compte et API immédiats à l'inscription
Documentation fragmentée, plusieurs environnements Espace API, docs, journaux et callbacks au même endroit
Risque de tests avec argent réel Numéros et cartes test dédiés — simulation automatique
Erreurs opaques en production Catalogue errorCode documenté (VAL_, BIZ_, AUTH_, CHK_)
Frais et contrats marchands Packs tokens transparents — apprentissage à faible coût

Vidipay est la phase d'apprentissage : une fois votre flux validé ici, vous êtes prêt à négocier et brancher un prestataire Mobile Money ou carte réel avec confiance dans votre architecture.