Comment se calculent les frais
Le coût d'une transaction Efaina se compose de deux commissions distinctes, et de rien d'autre. Il n'y a ni frais de mise en service par transaction, ni frais caché sur le montant transféré.
1. La commission Efaina
Elle dépend de la formule souscrite et s'applique uniquement aux encaissements réussis :
| Formule | Commission Efaina | Wallets inclus |
|---|---|---|
| Standard | 1,2 % | 1 |
| Premium | 1 % | 5 |
| Enterprise | 0,75 % | personnalisable |
Une transaction échouée, expirée ou annulée n'est jamais commissionnée.
2. La commission de l'opérateur
Chaque paiement transite par un moyen de paiement (mobile money, virement bancaire). L'opérateur concerné applique sa propre commission, comprise entre 1 % et 4 % environ selon l'opérateur et le montant de la transaction.
Elle est fixée par l'opérateur, qui peut la faire évoluer à tout moment. Efaina la répercute à l'identique, sans marge additionnelle.
Le taux exact dépendant du couple (opérateur, montant), n'affichez jamais un taux figé dans votre application : interrogez POST /transaction/calc-fee pour obtenir le montant réel avant l'opération.
Opérations non commissionnées par Efaina
| Opération | Commission Efaina | Commission opérateur |
|---|---|---|
| Encaissement (paiement) | selon formule | oui |
| Remboursement | 0 % | oui |
| Retrait vers votre compte | 0 % | oui |
Autrement dit, rembourser un client ou récupérer votre solde ne vous coûte que ce que l'opérateur facture.
Frais indépendants des transactions
Ces frais sont facturés séparément et n'entrent pas dans le calcul par transaction :
- frais d'adhésion, dus une seule fois à la souscription ;
- frais de tenue de compte, mensuels.
Leurs montants figurent dans la grille tarifaire et en annexe A des CGU.
Simuler le coût d'une opération
curl --request POST \
"https://efn.efaina.com/api/public/v1/transaction/calc-fee" \
--header "Authorization: Bearer VOTRE_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data '{
"amount": 100000,
"transaction_type": "payment",
"method": "MVOLA"
}'
La réponse sépare explicitement les deux composantes :
{
"statusHttp": "success",
"response": {
"data": {
"transaction_type": "payment",
"method": "MVOLA",
"amount": 100000,
"fee_app": { "amount": 1200, "formatted": "1 200 MGA" },
"fee_method": { "amount": 3000, "formatted": "3 000 MGA" },
"total_fee": { "amount": 4200, "formatted": "4 200 MGA" }
}
}
}
fee_app— la commission Efaina ;fee_method— la commission de l'opérateur ;total_fee— la somme des deux, c'est-à-dire le coût complet de l'opération.
Pour un retrait ou un remboursement, le solde du portefeuille doit couvrir le montant et les frais. Simuler d'abord évite un rejet pour solde insuffisant.
Retrouver les frais d'une transaction déjà exécutée
GET /api/public/v1/amount-commission-transaction/{transaction}
Renvoie le total des commissions générées par la transaction, dans le champ commission.
Et ensuite
Reste à décider qui règle ces frais : vous, ou votre client. Voir Qui paie les frais.