Documentation Index
Fetch the complete documentation index at: https://docs.corelink.dhi-cm.com/llms.txt
Use this file to discover all available pages before exploring further.
Il constitue l’unité métier fondamentale de l’intégration.
Structure
{
"reference": "string",
"total_amount": 150000,
"currency": "XAF",
"type": "DIRECT_DEBIT",
"initiated_at": "2025-01-10",
"debtor": {
"name" : "John Doe",
"iban" : "CM21 XXXXX XXXXXXXXXXXXXXXXXXXXX XX"
},
"creditors": [
{
"name": "Fournisseur 1",
"iban": "CM98XXXXXXXXXXXXXXXXXXXXXXX",
"bank_code": "YYY",
"reason": "Paiement facture #4587",
"amount": 100000
}
],
"reason": "Paiement fournisseur",
"metadata" : {
"account": "xxxx",
"merchant": "yyyy",
"mandate": "zzzz",
"mandateRef": "zzzzz-2"
}
}
2. Description champ par champ (niveau ordre)
2.1 Identité et caractéristiques de l’ordre
| Champ | Type | Obligatoire | Description |
|---|
reference | String | Oui | Identifiant métier unique de l’ordre côté Payment Engine |
total_amount | Number | Oui | Montant total à débiter, en unité monétaire minimale |
currency | String (ISO 4217) | Oui | Devise de l’ordre (ex : XAF) |
type | Enum | Oui | Type d’opération bancaire |
initiated_at | ISO-8601 UTC | Oui | Date et heure d’initiation de l’ordre |
2.2 Règles associées
reference :
- UNIQUE côté Payment Engine
- Utilisé comme clé d’idempotence métier
total_amount :
- DOIT être égal à la somme des montants des bénéficiaires
currency :
- DOIT être supportée par la Banque
initiated_at :
- Sert de repère temporel contractuel
- Utilisé dans les mécanismes de polling
3. Type d’ordre (type)
| Valeur | Description |
|---|
DIRECT_DEBIT | Prélèvement sur le compte débiteur |
Toute valeur non reconnue entraîne une erreur BUS_ORDER_REJECTED.
Débiteur (debtor)
Informations relatives au compte débité.
4.1 Structure
{
"name": "John Doe",
"iban": "CM21XXXXXXXXXXXXXXXXXXXXXXX"
}
4.2 Description des champs
| Champ | Type | Obligatoire | Description |
|---|
name | String | Oui | Nom du titulaire du compte débiteur |
iban | String | Oui | IBAN du compte débité |
4.3 Règles métier
- L’IBAN :
- DOIT être valide (ISO 13616)
- DOIT appartenir à la Banque exécutante
- Le compte débiteur :
- ne doit pas être bloqué
- doit disposer des autorisations nécessaires
5. Bénéficiaires (creditors)
Liste des bénéficiaires du paiement.
5.1 Structure
[
{
"name": "Fournisseur 1",
"iban": "CM98XXXXXXXXXXXXXXXXXXXXXXX",
"bank_code": "YYY",
"reason": "Paiement facture #4587",
"amount": 100000
}
]
5.2 Description des champs
| Champ | Type | Obligatoire | Description |
|---|
name | String | Oui | Nom du bénéficiaire |
iban | String | Oui | IBAN du bénéficiaire |
bank_code | String | Oui | Code banque ou établissement |
reason | String | Non | Libellé spécifique au bénéficiaire |
amount | Number | Oui | Montant attribué à ce bénéficiaire |
5.3 Règles métier (CRITIQUES)
- La liste
creditors :
- La somme des
amount :
- **DOIT être égale à **
total_amount
- Chaque bénéficiaire :
- est traité de manière atomique au sein de l’ordre
- Si aucun bénéficiaire ne peut être traité :
- l’ordre est rejeté (
BUS_ORDER_REJECTED)
6. Libellé global (reason)
| Champ | Type | Obligatoire | Description |
|---|
reason | String | Non | Libellé global du paiement |
- Utilisé pour :
- affichage bancaire
- rapprochement comptable
- Peut être redondant avec les libellés bénéficiaires
Données contextuel, informant la banque sur le marchant, le mandat utilisé,
7.1 Structure
{
"account": "xxxx", // id du compte
"merchant": "yyyy", // id du marchant
"mandate": "zzzz", // reference du mandate utilisé pour autorisé le paiement
"mandateRef": "zzzzz-2" // reference du mandat interne à la banque si disponible
}
7.2 Règles
- Les métadonnées :
- sont optionnelles
- sont transmises telles quelles
- NE DOIVENT PAS impacter le traitement bancaire
- En cas d’incompréhension :
- la Banque DOIT ignorer le champ
8. Contraintes métier globales (RÉCAPITULATIF)
reference unique
total_amount = somme des bénéficiaires
- Devise supportée
- IBAN valides
- Liste des bénéficiaires non vide
- Ordre idempotent
9. Principe contractuel clé
La Banque exécute un ordre,elle n’en déduit jamais la sémantique métier.