Documentation API Université de Parakou (UP)

Spécifications d'intégration pour la consultation et le paiement des frais de scolarité (inscription & pénalités).

Présentation

L'API Université de Parakou (UP) permet de consulter le dossier de scolarité d'un étudiant et de procéder au paiement sécurisé des droits d'inscription ou des pénalités académiques via B-MO.

URL de Base (selon l'environnement sélectionné) :

  • PAP (Pré-production / Défaut) : https://svc.pap.bestcash.me/external
  • TEST (Sandbox) : https://svc.test.bestcash.me/external
  • LIVE (Production) : https://svc.bmo.bestcash.me/external

Vous pouvez basculer d'un environnement à un autre à tout moment depuis le menu déroulant en haut des consoles d'essai <ApiPlayground /> ci-dessous.


1. Afficher les informations d'un étudiant (POST /external/universities/up/invoices)

Permet de consulter la situation financière d'un étudiant à partir de son corps de requête JSON.

Remarque technique : L'endpoint exige la méthode POST et attend les paramètres dans un corps de requête JSON structuré (studentMatricule, academicYear, studyYear).

  • Méthode : POST
  • URL : /external/universities/up/invoices

Tester la recherche d'étudiant UP

Consultez la situation financière et les frais dus pour un étudiant de l'Université de Parakou.

Authentification (En-têtes B-MO)
Paramètres d'URL / Query Parameters (0)

Aucun paramètre d'URL configuré.

Corps de la Requête (JSON Body)

Exemple de corps de requête (JSON)

{
  "studentMatricule": "10702511",
  "academicYear": "2024-2025",
  "studyYear": "L1"
}

Exemple de réponse HTTP 200

[
  {
    "matricule": "10702511",
    "firstName": "JEAN",
    "lastName": "KOUASSI",
    "phoneNumber": "97465759",
    "academicYear": "2024-2025",
    "school": "ENEAM",
    "studyYear": "L1",
    "nationality": "BJ (Benin)",
    "studentStatus": "NORM",
    "amount": 131025,
    "paymentCategory": "inscription"
  }
]

Note : Le champ paymentCategory peut prendre la valeur inscription ou penalite.


2. Calculer le coût d'une opération (GET /external/universities/up/cost)

Permet d'estimer les frais d'opération liés au règlement des frais de scolarité.

  • Méthode : GET
  • URL : /external/universities/up/cost
  • Paramètre de requête : amount (ex: 131025)

Tester le calcul du coût de scolarité

Calculez les frais de traitement pour le paiement UP.

Authentification (En-têtes B-MO)
Paramètres d'URL / Query Parameters (1)

Exemple de réponse HTTP 200

{
  "cost": 100,
  "targetMonetaryArea": {
    "currencyShortName": "F CFA",
    "currencyCode": "XOF"
  }
}

3. Payer les frais de scolarité (POST /external/universities/up/operation)

Exécute le règlement des frais d'inscription ou pénalités de l'étudiant.

Remarque importante : Chaque facture d'étudiant pour une année académique et filière donnée ne peut être réglée qu'une seule fois. Si les frais ont déjà été réglés lors d'un test précédent, la passerelle renverra une erreur HTTP 400 REQUEST ALREADY SUBMITTED pour empêcher un double débit.

  • Méthode : POST
  • URL : /external/universities/up/operation

Tester le paiement de frais de scolarité UP

Effectuez le règlement en direct sur l'environnement de test.

Authentification (En-têtes B-MO)
Paramètres d'URL / Query Parameters (0)

Aucun paramètre d'URL configuré.

Corps de la Requête (JSON Body)

Exemple de corps de requête (JSON)

{
  "amount": 49185,
  "matricule": "10702526",
  "academicYear": "2024-2025",
  "studyYear": "L1",
  "paymentCategory": "penalite",
  "externalReference": "test-up-002"
}

Exemple de réponse HTTP 201

{
  "prefixedAmount": "49 185 F CFA",
  "prefixedOperationCost": "100 F CFA",
  "operationCode": "",
  "status": "CONFIRMED",
  "operationCost": 100,
  "amount": 49185,
  "operationType": "SCHOOL_FEES",
  "reference": "UPSF20260723110444655",
  "creationDate": "2026-07-23T11:04:44+00:00",
  "matricule": "10702526",
  "firstName": "ALBERT",
  "lastName": "AHOUANVOE",
  "phoneNumber": "97716891",
  "academicYear": "2024-2025",
  "school": "FASEG",
  "studyYear": "L1",
  "nationality": "BJ (Benin)",
  "paymentCategory": "penalite"
}

4. Vérifier le statut d'une opération (GET /external/thirdparty/operation)

  • Méthode : GET
  • URL : /external/thirdparty/operation
  • Paramètres de requête : reference ou externalReference (ex: reference=UPSF20260723110444655)

Tester la vérification de statut UP

Consultez l'état d'un paiement de frais de scolarité UP.

Authentification (En-têtes B-MO)
Paramètres d'URL / Query Parameters (1)

Exemple de réponse HTTP 200

{
  "status": "CONFIRMED",
  "operationCost": 100,
  "amount": 49185,
  "operationType": "SCHOOL_FEES",
  "reference": "UPSF20260723110444655",
  "creationDate": "2026-07-23T11:04:44+00:00",
  "externalReference": "test-up-002"
}

5. Gestion des cas d'erreur

  • Erreur lors de la soumission (REQUEST ALREADY SUBMITTED) : Si les frais de scolarité d'un étudiant pour une année/filière donnée ont déjà été payés, toute seconde tentative de paiement renverra une erreur HTTP 400 REQUEST ALREADY SUBMITTED. Pour tester un paiement, il faut utiliser un matricule d'étudiant disposant d'une facture impayée.
  • Erreur de validation des paramètres (VALIDATION FAILED) : L'absence de l'un des champs obligatoires dans le corps JSON (studentMatricule, academicYear, studyYear) renverra une erreur de validation détaillée.