Sous-comptes
La fonctionnalité de sous-compte vous permet de décider de la répartition ou non du montant perçu sur chacune de vos transactions entre plusieurs comptes.
Pré-requis
- Disposer d’un compte principal validé de type Marketplace
- Disposer d’au moins un sous-compte associé au compte principal
Contexte
Il est courant de voir des services offrir une place de marché. Une place de marché est une plateforme où sont enregistrés plusieurs prestataires de services et qui vendent leurs produits ou services. Ces places de marché fonctionnent chacune différemment mais le plus souvent le mode de paiement reste quasi le même. Sur le montant d'un produit vendu sur la plateforme, la plateforme touche une commission, et le reste du montant revient au prestataire de service. FedaPay vous offre tout ce dont vous avez besoin pour inscrire des prestataires de services, gérer vos paiements, envoyer des virements et bien plus encore.
Créer une transaction avec la répartition des commissions
Nous considérons ici que l’application de place de marché connaît la référence FedaPay des comptes de ses prestataires de services. Cela est obligatoire pour spécifier la commission à répartir entre les prestataires et le compte principal FedaPay de la plateforme de place de marché.
Lorsqu’une transaction FedaPay est créée, l’application doit spécifier sur le montant collecter, combien reviennent aux tiers parties, ici les prestataires de service. Le plus souvent une transaction fait intervenir un seul prestataire de service. Mais il est possible qu’il y en ait plusieurs.
Ci-dessous un exemple de requête de création de transaction avec répartition de commission vers un sous-compte FedaPay d’un prestataire de service.
curl -X POST \
https://sandbox-api.fedapay.com/v1/transactions \
-H 'Authorization: Bearer VOTRE_CLE_API_SECRETE' \
-H 'Content-Type: application/json' \
-d '{
"description" : "Transaction for [email protected]",
"amount" : 2000,
"currency" : {"iso" : "XOF"},
"callback_url" : "https://maplateforme.com/callback",
"customer" : {
"firstname" : "John",
"lastname" : "Doe",
"email" : "[email protected]",
"phone_number" : {
"number" : "+22997808080",
"country" : "bj"
}
},
"sub_accounts_commisssions": [
{
"reference": "acc_xxxxxxxxx",
"amount": 1500
}
]
}'
/* Remplacez VOTRE_CLE_API par votre véritable clé API */
\FedaPay\FedaPay::setApiKey("VOTRE_CLE_API_SECRETE");
/* Précisez si vous souhaitez exécuter votre requête en mode test ou live */
\FedaPay\FedaPay::setEnvironment('sandbox'); //ou setEnvironment('live');
/* Créer la transaction */
\FedaPay\Transaction::create(array(
"description" => "Transaction for [email protected]",
"amount" => 2000,
"currency" => ["iso" => "XOF"],
"callback_url" => "https://maplateforme.com/callback",
"customer" => [
"firstname" => "John",
"lastname" => "Doe",
"email" => "[email protected]",
"phone_number" => [
"number" => "+22997808080",
"country" => "bj"
]
],
"sub_accounts_commisssions" => [
[
"reference" => "acc_xxxxxxxxx",
"amount" => 1500
]
]
));
const { FedaPay, Transaction } = require('fedapay')
/* Remplacez VOTRE_CLE_API par votre véritable clé API */
FedaPay.setApiKey("VOTRE_CLE_API_SECRETE");
/* Précisez si vous souhaitez exécuter votre requête en mode test ou live */
FedaPay.setEnvironment('sandbox'); //ou setEnvironment('live');
/* Créer la transaction */
const transaction = await Transaction.create({
description: 'Description',
amount: 2000,
callback_url: 'https://maplateforme.com/callback',
currency: {
iso: 'XOF'
},
customer: {
firstname: 'John',
lastname: 'Doe',
email: '[email protected]',
phone_number: {
number: '97808080',
country: 'BJ'
}
},
sub_accounts_commisssions: [
{
reference: 'acc_xxxxxxxxx',
amount: 1500
}
]
});
acc_xxxxxxxxx
représente la référence du compte FedaPay du prestataire de service.
Ainsi donc, lorsque la transaction sera approuvée, le montant de 1500 XOF sera transféré sur le compte du prestataire de service et le compte principal gardera la différence.
Vérifier une transaction et ses commissions à répartir
Sur le dashboard FedaPay du compte principal, vous pouvez vérifier une transaction avec répartition de commission en consultant les détails d’une transaction.

Inviter un sous-compte d’un prestataire à votre compte FedaPay depuis le dashboard
Vous pouvez inviter un prestataire à votre compte FedaPay. Il vous suffit de cliquer sur le menu Place de marché.

Ce menu n’est disponible que si vous avez un compte validé de type Marketplace. Ensuite il faut cliquer sur Inviter une entreprise puis remplir les informations de l’entreprise.

Une fois l’invitation acceptée, l’entreprise rejoindra votre compte FedaPay et vous pouvez lui envoyer les commissions.
Automatiser l'ajout de nouveaux sous-comptes
Il est possible d’intégrer de nouveaux sous-comptes à votre compte FedaPay via l'API. C’est-à-dire que vous pouvez automatiser l’ajout de nouveaux comptes. FedaPay vous aide à recueillir et vérifier les informations d'identité afin de respecter les exigences KYC et de conformité.
curl -X POST \
https://sandbox-api.fedapay.com/v1/auth/sub_account_invitations \
-H 'Authorization: Bearer VOTRE_CLE_API_SECRETE' \
-H 'Content-Type: application/json' \
-d '{
"email" : "[email protected]",
"full_name" : "Jonh Doe"
}'