CAMERPAY API DOCUMENTATION
DOCUMENTATION OFFICIELLE

Intégrez les paiements Mobile Money simplement.

Un guide complet et pratique pour connecter votre backend à CamerPay, lancer des dépôts et retraits, recevoir les résultats et consulter vos rapports.

api.camerpay.net
GEThttps://api.camerpay.net/

applicationAPI_PAY

servicetransaction

actiondepot

token••••••••••••••••

202 { "etat": true, "data": { "replyTo": "…" } }
URL de productionapi.camerpay.net
Méthode principaleHTTP GET
FormatJSON
LanguesFR / EN
01

DÉMARRAGE RAPIDE

Votre premier appel en quelques minutes

Tous les appels partent de votre serveur. Conservez les identifiants et le token dans un environnement backend sécurisé.

1

Préparez vos accès

Récupérez votre numéro de compte API, votre mot de passe et une URL HTTPS publique pour le callback.

2

Connectez-vous

Appelez authentification/login et stockez le token retourné uniquement côté serveur.

3

Configurez le callback

Enregistrez votre URL avec account/change_callback avant toute transaction asynchrone.

4

Lancez puis attendez

Enregistrez le replyTo reçu avec le statut 202, puis attendez le callback pour le résultat final.

Le statut HTTP 202 n’est pas un succès financier.

Il confirme seulement que CamerPay a accepté la demande. Utilisez le callback avec etat=true ou etat=false comme résultat final.

GETConnexion
curl --request GET 'https://api.camerpay.net/' \
  --header 'id: login-001' \
  --header 'langue: FR' \
  --header 'application: API_PAY' \
  --header 'service: authentification' \
  --header 'action: login' \
  --header 'DATA: {"numero":"6XXXXXXXX","pass":"VOTRE_MOT_DE_PASSE"}'
02

CONTRAT DE BASE

Format des requêtes et réponses

L’API utilise une URL unique. Le service et l’action sont sélectionnés dans les en-têtes HTTP. Lorsque DATA est requis, envoyez un objet JSON converti en chaîne de caractères.

En-têteObligatoireDescriptionExemple
idOuiIdentifiant unique de votre requête.req-20260730-001
langueOuiLangue des messages retournés.FR / EN
applicationOuiApplication appelée.API_PAY
serviceOuiFamille de l’opération.transaction
actionOuiOpération précise.depot
tokenSelon l’actionAuthentifie le compte API.VOTRE_TOKEN
DATASelon l’actionObjet JSON sérialisé en texte.{"montant":5000}
Réponse synchrone
{
  "etat": true,
  "id": "balance-001",
  "token": "VOTRE_TOKEN",
  "service": "account",
  "action": "balance",
  "message": "Solde récupéré avec succès.",
  "data": {
    "credit": 125000
  }
}

Comment lire la réponse

etat
Succès ou échec logique de l’opération.
id
L’identifiant fourni dans votre requête.
message
Résumé lisible du résultat.
data
Les données utiles propres à l’action.
03

AUTH

Authentification

01

login

Connexion avec le numéro du compte et le mot de passe. Le token est retourné à la racine de la réponse.

02

token

Crée une nouvelle session avec un token existant, notamment au démarrage du service ou après un HTTP 401.

03

inscription + validation

Crée un compte puis valide le code reçu avec le token provisoire. Suivez strictement cet ordre.

Durée de session

Une session inactive expire après environ 15 minutes. En cas de HTTP 401, recréez une session avec authentification/token avant de rejouer une requête sûre.

04

COMPTE

Gestion du compte

₣

balance

Retourne le crédit CamerPay disponible dans data.credit.

↪

change_callback

Enregistre une URL HTTPS publique. Les adresses locales, privées et les fragments # sont refusés.

↻

change_token

Génère un nouveau token dans data.token. Remplacez immédiatement l’ancien secret.

05

PAIEMENTS

Transactions asynchrones

L’identification, le dépôt et le retrait suivent le même principe : la requête initiale retourne un identifiant de suivi, puis le résultat définitif arrive plus tard sur votre callback.

1Requête GETid unique + DATA
2HTTP 202enregistrer replyTo
3TraitementOrange / MTN
4Callback POSTetat=true/false
IDENTIFIE

Identifier un numéro

Vérifie un numéro camerounais avant une opération et retourne le nom identifié dans le callback.

{"numero":"6XXXXXXXX"}
DEPOT

Effectuer un dépôt

Envoie de la valeur vers le compte Mobile Money du client.

{"numeroClient":"6XXXXXXXX","montant":5000}
RETRAIT

Effectuer un retrait

Initie un retrait depuis le compte Mobile Money du client.

{"numeroClient":"6XXXXXXXX","montant":5000}
Numéro

Exactement 9 chiffres, commence par 6, sans +237. Le réseau Orange ou MTN est détecté automatiquement.

Montant

Entre 500 et 500 000 FCFA pour un dépôt ou un retrait.

Statut interne recommandé

PENDING → PROCESSING → SUCCESS / FAILED

06

WEBHOOK

Recevoir le résultat final

CamerPay envoie une requête POST JSON vers l’URL enregistrée. Utilisez replyTo pour rapprocher le callback de la demande initiale et rendez le traitement idempotent.

POST /webhooks/camerpay
{
  "id": "notification-uuid",
  "replyTo": "ID-DE-SUIVI-CAMERPAY",
  "type": "EVENT",
  "application": "CamPay",
  "service": "notification",
  "action": "",
  "etat": true,
  "message": null,
  "data": {
    "date": "2026-07-30T12:30:00.000",
    "numero": "6XXXXXXXX",
    "title": "CamPay",
    "message": "Dépôt effectué avec succès.",
    "id": 102
  }
}

Traitement recommandé

  1. Vérifier que replyTo existe et que type vaut EVENT.
  2. Retrouver votre transaction à partir de replyTo.
  3. Ignorer sans erreur un événement déjà traité.
  4. Passer à SUCCESS si etat=true, sinon à FAILED.
  5. Conserver le callback brut pour l’audit.
  6. Répondre rapidement avec HTTP 200 ou 201.
07

HISTORIQUE

Rapports et réconciliation

Le service rapport permet de consulter les transactions et les notifications de votre compte. Utilisez-le pour vos écrans d’historique et pour la réconciliation.

GETrapport / transaction

Historique des dépôts, retraits et autres opérations.

{"limit":10,"id":86}
GETrapport / notification

Historique des événements et résultats envoyés au callback.

{"limit":10,"id":40}
Pagination

limit est plafonné à 100. Pour la page suivante, prenez le plus petit id reçu, soustrayez 1 et envoyez cette valeur dans le prochain DATA.

08

RÉFÉRENCE API

Tous les endpoints

Chaque opération utilise la même URL et la méthode GET. Ouvrez une fiche pour voir les en-têtes, DATA et le résultat attendu.

09

SDK

Exemples prêts à adapter

Node.js / JavaScript
const CAMERPAY_URL = 'https://api.camerpay.net/';

async function camerpayRequest({ service, action, token, data }) {
  const headers = {
    id: crypto.randomUUID(),
    langue: 'FR',
    application: 'API_PAY',
    service,
    action
  };

  if (token) headers.token = token;
  if (data !== undefined) headers.DATA = JSON.stringify(data);

  const response = await fetch(CAMERPAY_URL, {
    method: 'GET',
    headers
  });
  const result = await response.json();

  if (!response.ok || result.etat === false) {
    throw new Error(result.message || `Erreur HTTP ${response.status}`);
  }
  return { httpStatus: response.status, ...result };
}

const deposit = await camerpayRequest({
  service: 'transaction',
  action: 'depot',
  token: process.env.CAMERPAY_TOKEN,
  data: { numeroClient: '6XXXXXXXX', montant: 5000 }
});

console.log(deposit.data.replyTo);
Gardez le token dans une variable d’environnement.

Ne placez jamais CAMERPAY_TOKEN dans votre frontend, votre application mobile ou un dépôt de code public.

10

DIAGNOSTIC

Codes HTTP et réactions

HTTPSignificationRéaction conseillée
200Opération synchrone réussie.Lire etat, message et data.
202Demande asynchrone acceptée.Enregistrer replyTo et attendre le callback.
400En-tête, DATA, langue ou action invalide.Corriger la requête. Ne pas la rejouer à l’identique.
401Token, session ou droit invalide.Recréer une session avec authentification/token.
404Identifiants de connexion incorrects.Vérifier le numéro et le mot de passe.
500Erreur interne CamerPay.Journaliser et réessayer prudemment.
502Échec intermédiaire.Lire le message et contacter le support si nécessaire.
11

MISE EN PRODUCTION

Sécurité et checklist

Backend uniquement

Le token et le mot de passe ne doivent jamais être envoyés au navigateur ou à l’application mobile.

Secrets protégés

Utilisez un coffre de secrets ou des variables d’environnement. Masquez les tokens dans les journaux.

Callback robuste

HTTPS obligatoire, traitement idempotent et mécanismes d’authentification convenus avec CamerPay.

Réconciliation

Conservez id, replyTo, statuts et réponses brutes, puis rapprochez régulièrement les rapports.

Avant le premier paiement