Skip to content
StableAudienceDevAudit banqueComplianceOwner@platform-teamDernière revue2026-05-22

Configuration — Commissions

Règles de redistribution des frais (commissions) entre les bénéficiaires : plateforme, marchand, agent, partenaire. Pour la vue d'ensemble, voir Configuration — overview.

Le systeme de commissions permet de definir comment les frais collectes sont redistribues entre les differents acteurs (plateforme, marchands, agents, etc.).

CommissionRule

ChampTypeDescription
rule_typevarchar(50)FEE_SPLIT, AGENT_COMMISSION, CASHBACK, REFERRAL_BONUS
transaction_type_iduuidFK → TransactionType
beneficiary_typevarchar(50)PLATFORM, CORPORATE, MERCHANT, AGENT, EMPLOYEE, CLIENT, PROVIDER
agent_type_iduuidFK → AgentType (optionnel)
provider_iduuidReference fournisseur (optionnel)
calculation_typevarchar(20)Methode de calcul
percentagedecimal(5,2)Part en pourcentage
fixed_amountdecimal(15,4)Montant fixe
is_splitbooleanFait partie d'un partage
split_group_iduuidIdentifiant du groupe de partage
fallback_beneficiary_typevarchar(50)Beneficiaire de repli
priority_orderintegerPriorite d'evaluation
min_amount / max_amountdecimal(15,4)Tranche de montant applicable
country_codevarchar(3)Pays specifique (null = global)
effective_from / effective_todatePeriode de validite

Configurations de partage

Les regles de commission sont groupees par split_group_id. Un groupe represente une configuration complete de redistribution.

POST /commission-rules/configurations cree un groupe entier :

json
{
  "transaction_type_id": "uuid-du-CASH_IN",
  "rule_type": "FEE_SPLIT",
  "rules": [
    { "beneficiary_type": "PLATFORM", "percentage": 40 },
    { "beneficiary_type": "MERCHANT", "percentage": 35 },
    { "beneficiary_type": "AGENT", "percentage": 25, "agent_type_id": "uuid-distribution" }
  ],
  "effective_from": "2025-01-01"
}

Regle metier : pour FEE_SPLIT, le total des pourcentages doit etre egal a 100%.

A la creation, les configurations precedentes pour le meme type de transaction sont automatiquement desactivees.

Simulation de commissions

POST /commission-rules/configurations/simulate

json
// Requete
{
  "transactionTypeId": "uuid",
  "feeAmount": 1500,
  "countryCode": "CG",
  "effectiveDate": "2025-06-15"
}

// Reponse
{
  "totalAmount": 1500,
  "distributions": [
    { "beneficiary_type": "PLATFORM", "percentage": 40, "amount": 600 },
    { "beneficiary_type": "MERCHANT", "percentage": 35, "amount": 525 },
    { "beneficiary_type": "AGENT", "percentage": 25, "amount": 375 }
  ],
  "validationStatus": "valid",
  "totalPercentage": 100,
  "message": "Distribution valide (100%)"
}

AgentType

Types d'agents avec leurs capacites.

ChampTypeDescription
codevarchar(50)Identifiant unique (distribution, compliance, internal...)
has_commissionbooleanPeut recevoir des commissions
requires_merchantbooleanNecessite un rattachement marchand
requires_pdvbooleanNecessite un point de vente
is_internalbooleanAgent interne Nex
is_field_agentbooleanAgent terrain
can_be_zonedbooleanPeut etre affecte a des zones
default_commission_ratedecimal(5,2)Taux de commission par defaut
display_orderintegerOrdre d'affichage

Nex — Plateforme fintech CEMAC