Accepter les paiements BaridiMob sur son site : confirmation automatique

Mis à jour le · 7 min de lecture · WadieaPay

En bref

Affichez votre compte CCP (RIP) et le montant de la commande au moment du paiement, demandez au client le numéro de référence de son virement BaridiMob, puis confirmez-le depuis votre serveur avec le SDK gratuit baridimob : il se connecte une fois à votre compte BaridiMob, cherche cette référence dans votre historique et vous indique si le paiement est arrivé, s'il s'agit bien d'un virement entrant et si le montant est correct.

Comment fonctionne un paiement BaridiMob pour une boutique

  1. Au moment du paiement, votre site affiche votre compte CCP (RIP) et le montant exact.
  2. Le client envoie l'argent depuis l'application BaridiMob. BaridiMob lui fournit un numéro de référence à 12 chiffres.
  3. Le client saisit cette référence sur votre site.
  4. Votre serveur consulte votre historique BaridiMob et marque la commande comme payée si le virement y figure.

Recevoir le virement est gratuit pour vous ; c'est le client qui paie les frais BaridiMob (12 à 24 DA par virement). Le seul problème, c'est l'étape 4 : faite à la main, elle est lente et les captures d'écran de reçus peuvent être falsifiées.

1. Installer le SDK

Le cœur de WadieaPay est le SDK open source baridimob (licence MIT), disponible pour TypeScript/JavaScript, Python et Dart/Flutter avec les mêmes fonctionnalités et les mêmes noms.

npm install baridimob        # Node.js 18+
pip install baridimob        # Python
flutter pub add baridimob    # Dart / Flutter

2. Se connecter une seule fois

Connectez-vous avec vos identifiants BaridiMob. La première fois sur un nouveau serveur, BaridiMob confirme l'appareil par un code SMS ; la session est ensuite enregistrée et réutilisée, puis renouvelée automatiquement lorsqu'elle expire.

import { createBaridiMob, fileStorage } from 'baridimob';

const bm = createBaridiMob({ storage: fileStorage('./.baridimob/session.json') });

const result = await bm.auth.login({ login: 'your-login', password: 'your-password' });
if (result.state === 'otp_required') {
  await bm.auth.requestDeviceOtp();      // un code SMS est envoyé sur votre téléphone
  await bm.auth.confirmDevice('123456'); // le code reçu
}

3. Vérifier un paiement par référence et montant

const check = await bm.payments.verifyPayment({
  refNum: '012345678901', // référence fournie par le client
  amount: 2500,           // montant attendu en DA
});

if (check.verified) {
  // paiement reçu, marquer la commande comme payée
} else {
  console.log(check.reason); // not_found, not_incoming, amount_mismatch ou duplicate
}
RésultatSignificationQue faire
okTrouvé, entrant, montant correctConfirmer la commande
not_foundAucun virement avec cette référence pour l'instantDemander au client de vérifier la référence, ou réessayer un peu plus tard
not_incomingLa transaction existe, mais ce n'est pas de l'argent reçuRefuser
amount_mismatchLe montant ne correspond pas à la commandeDemander la différence ou rembourser
duplicatePlusieurs virements entrants portent cette référenceVérifier à la main

Par défaut, la recherche porte sur les 30 derniers jours de votre premier compte ; des options permettent de choisir un autre compte ou une autre période. Enregistrez chaque référence confirmée dans votre base de données et refusez-la si elle revient, pour qu'un même virement ne puisse pas payer deux commandes.

4. Sécuriser l'intégration

  • La session enregistrée est un identifiant actif. Ne la commitez jamais, ne la partagez pas et ne l'écrivez pas dans les logs ; chiffrez-la au repos en production.
  • Lire votre historique ne demande jamais de code SMS. Déplacer de l'argent exige toujours un code que vous transmettez explicitement : une session volée ne suffit donc pas à envoyer de l'argent.
  • Le SDK refuse le HTTP non chiffré, sauf pour localhost pendant le développement.
  • Exécutez-le sur votre propre serveur : rien ne transite par WadieaPay.

Les limites à connaître

Le SDK est un projet indépendant, non affilié à Algérie Poste. BaridiMob peut modifier son service à tout moment, ce qui peut le casser : gardez donc le SDK à jour et prévoyez une solution de repli manuelle. Si vos clients paient surtout par carte, comparez les passerelles de paiement par carte en Algérie.

Questions fréquentes

Peut-on accepter les paiements BaridiMob sans passerelle de paiement ?

Oui. Les clients virent l'argent sur votre compte CCP depuis l'application BaridiMob, et vous confirmez chaque virement grâce à son numéro de référence. Le SDK gratuit baridimob de WadieaPay effectue cette confirmation automatiquement depuis votre serveur.

Existe-t-il un plugin WooCommerce ou Shopify ?

Pas encore. Pour l'instant, vous intégrez le SDK dans votre backend (Node.js, Python ou Dart). Un plugin ne demande que quelques appels : vérifier la référence et le montant, puis marquer la commande comme payée.

WadieaPay détient-il mon argent ?

Non. L'argent va directement du compte BaridiMob du client à votre compte CCP. Le SDK se contente de lire votre historique pour confirmer le virement, et il tourne sur votre propre serveur.

Que se passe-t-il si le client saisit une mauvaise référence ?

La vérification renvoie not_found. Demandez au client de copier la référence à 12 chiffres depuis le reçu BaridiMob, ou réessayez quelques minutes plus tard si le virement vient d'être effectué.

Acceptez les paiements BaridiMob gratuitement

Installez le SDK open source et confirmez chaque virement automatiquement, depuis votre serveur.

Sources

Autres guides