Contraste Pay

Encaissez vos paiements Wave & Orange Money sur votre serveur

Contraste Pay est 100 % gratuit et auto-hébergé. Zéro commission, zéro frais. Vos données restent sur votre propre serveur. Vous apportez vos accès API Wave et Orange Money — nous avons déjà fait l'intégration.

Intégrations disponibles Wave Sénégal Orange Money Sénégal
$ docker run -d \
  -p 80:3001 \
  --restart unless-stopped \
  --env-file contraste-pay.env \
  contrastesn/contraste-pay:latest

Pulling from contrastesn/contraste-pay
✓ Status: Downloaded newer image
✓ PostgreSQL initialisé
✓ Migrations appliquées
✓ API démarrée sur le port 3000
✓ Frontend prêt sur le port 3001
API en ligne
Base de données
Redis

Tout inclus, 100 % gratuit

Aucun frais d'utilisation, aucune commission sur vos transactions. Contraste Pay est libre d'utilisation à titre personnel ou pour votre entreprise.

🌊

Encaissement Wave Sénégal

Recevez des paiements Wave de vos clients. L'intégration API Wave est déjà faite — il vous suffit de renseigner vos propres accès Wave Business.

🟠

Encaissement Orange Money SN

Recevez des paiements Orange Money. L'intégration API est prête — renseignez vos identifiants Orange Money Marchands et c'est parti.

📊

Dashboard intuitif

Visualisez toutes vos transactions, suivez vos encaissements et gérez votre activité depuis une interface claire et moderne.

🔒

100 % Auto-hébergé

Vos données et transactions restent sur votre propre serveur. Personne d'autre n'y a accès — ni nous, ni aucun tiers.

API REST complète

Connectez n'importe quelle application à votre passerelle de paiement via une API sécurisée et documentée.

🚀

Déploiement en une commande

Une seule image Docker. Migrations et configuration automatiques au démarrage. Mises à jour sans perte de données.

Ce qui arrive bientôt

Contraste Pay évolue pour couvrir l'ensemble de l'écosystème financier en Afrique de l'Ouest.

BIENTÔT
📱

Mixx By Yas

Intégration du service de paiement Mixx By Yas pour offrir encore plus de moyens de paiement à vos clients.

BIENTÔT
💸

Envoi d'argent (Send Money)

Effectuez des transferts et envois d'argent directement depuis Contraste Pay vers des comptes Wave ou Orange Money.

PRIORITÉ HAUTE
🏦

API PI-SPI — BCEAO

Intégration de l'API Business de la Banque Centrale des États de l'Afrique de l'Ouest. Paiements interbancaires et services financiers réglementés à l'échelle de l'UEMOA.

À VENIR
🔗

Agrégateurs de paiement

Connexion aux principaux agrégateurs locaux pour une couverture maximale.

PayDunya Intech PayTech + d'autres

Installation complète

Suivez ces étapes dans l'ordre. Prérequis : avoir Docker installé sur votre serveur.

⚠️

Avant de commencer — Obtenez vos accès Wave et Orange Money

Contraste Pay a déjà intégré les API Wave Sénégal et Orange Money Sénégal. Mais vous devez effectuer vos propres démarches commerciales auprès de chaque opérateur pour obtenir vos accès API Marchand. Il ne s'agit pas d'une simple création de compte sur un portail, mais d'un processus formel :

  • Wave Sénégal — Prendre contact directement avec l'équipe Wave Business, soumettre votre dossier marchand et attendre validation pour recevoir votre clé API.
  • Orange Money Sénégal — Contacter le service commercial d'Orange Money, fournir les documents requis (statut juridique, activité, etc.) et suivre le processus d'intégration Marchand.

Ces démarches sont simples et se font directement auprès des opérateurs. Une fois vos accès obtenus, vous les renseignerez directement lors de la création et de la configuration de votre application dans Contraste Pay.

1

Créer le fichier de configuration

Copiez ce contenu dans un fichier nommé contraste-pay.env sur votre serveur et remplissez les valeurs marquées.

# --- Base de données -------------------------------------------------
DB_USER=postgres
DB_PASSWORD=CHANGER_CE_MOT_DE_PASSE
DB_NAME=contraste_pay

# --- Sécurité — générer avec : openssl rand -hex 64 ------------------
JWT_SECRET=CHANGER_CETTE_CLE_SECRETE
TOKEN_EXPIRE_TIME=7d
# --- générer avec : openssl rand -hex 32
FIELD_ENCRYPTION_KEY=CHANGER_CETTE_CLE_CHIFFREMENT

# --- API (ne pas modifier) -------------------------------------------
API_PORT=3000
API_PREFIX=/api
NODE_ENV=production

# --- Email SMTP ------------------------------------------------------
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=votre@email.com
SMTP_PASS=VOTRE_MOT_DE_PASSE_SMTP
EMAIL_FROM=noreply@votre-domaine.com
💡 Les valeurs en rouge sont obligatoires à modifier. Les autres peuvent rester telles quelles.
2

Générer les clés secrètes

Exécutez ces commandes sur votre serveur pour générer des clés sécurisées, puis copiez les valeurs dans votre contraste-pay.env.

# Générer JWT_SECRET
openssl rand -hex 64

# Générer FIELD_ENCRYPTION_KEY
openssl rand -hex 32
3

Lancer le conteneur

Une seule commande suffit. L'application démarre, les migrations s'appliquent et le seed s'exécute automatiquement.

docker run -d \
  -p 80:3001 \
  --restart unless-stopped \
  --name contraste-pay \
  --env-file contraste-pay.env \
  -v contraste-pay-db:/var/lib/postgresql/data \
  -v contraste-pay-redis:/var/lib/redis \
  contrastesn/contraste-pay:latest

Mise à jour vers une nouvelle version

Vos données sont préservées. Les nouvelles migrations s'appliquent automatiquement au redémarrage. Le docker pull est obligatoire — sans lui Docker réutilise l'ancienne image en cache et la mise à jour n'est pas appliquée.

# 1. Récupérer la nouvelle image depuis Docker Hub
docker pull contrastesn/contraste-pay:latest

# 2. Arrêter le conteneur (les volumes sont conservés)
docker stop contraste-pay && docker rm contraste-pay

# 3. Relancer — migrations et seed appliqués automatiquement
docker run -d \
  -p 80:3001 \
  --restart unless-stopped \
  --name contraste-pay \
  --env-file contraste-pay.env \
  -v contraste-pay-db:/var/lib/postgresql/data \
  -v contraste-pay-redis:/var/lib/redis \
  contrastesn/contraste-pay:latest

Gestion du conteneur

# Arrêter (données conservées)
docker stop contraste-pay

# Redémarrer
docker start contraste-pay

# Voir les logs en direct
docker logs -f contraste-pay

# État des processus internes
docker exec contraste-pay supervisorctl status

# Accès base de données
docker exec -it contraste-pay su-exec postgres psql -U postgres -d contraste_pay

Parlons de votre projet

Vous avez une question ou souhaitez déployer Contraste Pay ? Contactez-nous directement.

Nos coordonnées

✉️
📍

Localisation

Dakar, Sénégal

Prêt à démarrer ?

Obtenez votre fichier de configuration et déployez Contraste Pay sur votre serveur aujourd'hui.