MonCashConnect pour cours en ligne et formations
Vous vendez des cours, des formations professionnelles, des préparations concours ou des accès à une école en ligne à un public haïtien. Vos élèves veulent payer en HTG par MonCash, et vous voulez débloquer l'accès au contenu uniquement après confirmation fiable. MonCashConnect rend ça simple et auditable.
Le problème
- ·Les LMS internationales (Thinkific, Teachable, Kajabi) ne supportent pas MonCash. Vous perdez la majorité des élèves haïtiens qui n'ont pas de carte internationale.
- ·Accepter MonCash via numéro perso et débloquer manuellement chaque inscription ne scale pas : oublis, retards, erreurs de saisie.
- ·Vous voulez verrouiller le contenu (vidéos, PDF, accès Discord) tant que le paiement n'est pas confirmé — sans webhook fiable, c'est impossible à automatiser sereinement.
- ·Pour les frais trimestriels d'une école, sans système d'évènement signé, vous faites du suivi sur Excel — fragile dès qu'il y a plus de quelques dizaines d'élèves.
Comment MonCashConnect aide
Paiement signé par inscription : reference_id = student:cours:cohorte vous laisse retrouver précisément qui a payé quoi.
Gating sur webhook payment.completed : votre backend ne débloque l'accès au contenu qu'après réception et vérification de la signature HMAC-SHA256.
Intégration LMS via API : sur payment.completed, vous appelez l'API admin de votre LMS (Thinkific, Teachable, ou votre LMS maison) pour inscrire automatiquement l'élève.
Cycles de frais scolaires : envoyez un lien par trimestre à chaque élève, suivez les retards depuis le dashboard.
Sandbox pour tester le flow d'inscription end-to-end sans utiliser de vraie monnaie.
Flow : inscription à une formation à 8 000 HTG
- 1. Page de cours sur votre site. L'élève remplit nom + email + numéro MonCash, choisit la cohorte « janvier-2026 ».
- 2. Création du paiement. Votre backend insère un enrollment
status: "pending"et crée un paiement MCC avecreference_id: "enr_001284",amount: 8000. - 3. Redirection MonCash. L'élève confirme sur son téléphone et paie 8 000 HTG.
- 4. Webhook reçu. Votre service marque l'enrollment
status: "active", ajoute l'élève dans la cohorte, envoie un email de bienvenue avec les identifiants ou lien Discord. - 5. Accès au contenu. Toutes les requêtes de l'élève sur les leçons vérifient
enrollment.status === "active". Si pending, on redirige vers la page de paiement. Si active, on sert le contenu.
Le middleware d'accès côté serveur (Node, équivalent dans toutes les stacks) :
async function requireEnrolled(req, res, next) {
const enr = await db.enrollments.findOne({
studentId: req.user.id,
courseId: req.params.courseId,
});
if (!enr || enr.status !== "active") {
return res.status(402).json({ error: "payment_required" });
}
next();
}
app.get("/courses/:courseId/lessons/:id", requireEnrolled, serveLesson);active. Ne flippez jamais le statut depuis la return_url — elle est manipulable par l'utilisateur.Quel plan vous convient
Pour une école ou un institut de formation, le besoin clé est d'avoir plusieurs environnements (prod / staging / dev pour tester un nouveau cours) et un retrait quotidien confortable.
Institut ou formateur avec plusieurs cohortes actives
Quelques dizaines à centaines d'élèves, cycles trimestriels ou ponctuels, besoin d'un staging avant chaque lancement.
Pro autorise 3 projets et 15 000 HTG/jour de retraits. Pour un seul cours qui démarre, Free peut suffire au début. Si vous opérez plusieurs écoles ou voulez les retraits illimités, passez à Business (5 000 HTG/mois, 5 projets).
Détails sur la page Tarifs.
FAQ — Cours en ligne
J'utilise déjà Thinkific / Teachable / une LMS classique. Ça marche ?+
Comment je bloque l'accès tant que le paiement n'est pas confirmé ?+
Et pour les abonnements mensuels à une école en ligne ?+
Peut-on offrir des remises ou des codes promo ?+
Comment je gère un élève qui demande un remboursement ?+
Quel plan pour un institut avec 200 élèves inscrits ?+
Lectures recommandées :