Fraispayout-create · portefeuille · agrégateur

Ajouter votre propre frais sur les retraits

Vous tenez les soldes de vos utilisateurs et vous voulez prélever votre propre frais quand ils retirent. Voici comment le frais MonCashConnect est calculé, comment ajouter le vôtre, et le seul piège qui peut ramener votre marge à zéro.

Le principe

MonCashConnect ne connaît pas vos utilisateurs. C'est vous qui tenez leurs soldes dans votre propre base, et c'est vous qui décidez de ce que vous leur facturez. Il n'y a donc rien à configurer chez nous : votre frais s'applique au moment où vous débitez le solde de votre utilisateur, dans votre système.

Retraits : le frais MonCashConnect est en sus

Sur un retrait (payout-create), le destinataire reçoit exactement le amount que vous envoyez. Le frais de 5 % n'est pas retiré de ce montant : il est prélevé en plus sur votre solde MonCashConnect.

amount envoyé à payout-create100 HTG
Reçu sur le numéro MonCash100 HTG
Frais MonCashConnect (5 %)5 HTG
Débité de votre solde MonCashConnect105 HTG
Donc jamais 100,64 ni 99,70 : le destinataire reçoit le montant rond que vous avez choisi. Les montants et les frais sont toujours des nombres entiers de gourdes.

Ajouter votre frais

Exemple : vous voulez facturer 6 % à vos utilisateurs, MonCashConnect prend 5 %. Votre utilisateur veut recevoir 100 HTG.

Vous appelez payout-create avec amount100 HTG
Votre utilisateur reçoit100 HTG
MonCashConnect débite votre solde (100 + 5)105 HTG
Vous débitez l'utilisateur chez vous (100 + 6)106 HTG
Votre marge1 HTG

Affichez à votre utilisateur les deux chiffres qui le concernent : ce qui sort de son solde (106) et ce qui arrive sur son téléphone (100).

Le piège de l'arrondi

Le frais MonCashConnect est arrondi à la gourde supérieure. Si vous arrondissez le vôtre vers le bas (ou au plus proche), votre marge tombe à zéro sur certains montants.
amountfrais MCC (5 %, vers le haut)6 % vers le bas6 % vers le haut
10056 → marge 16 → marge 1
11066 → marge 07 → marge 1
15089 → marge 19 → marge 1
1 0005060 → marge 1060 → marge 10

Règle simple : arrondissez toujours votre frais vers le haut, comme le nôtre. Avec un taux supérieur au nôtre, votre marge ne peut alors jamais être négative.

Encaissements : c'est l'inverse

Pour l'argent que vous recevez (pay-create, dépôts), le frais réseau de 2,9 % est déduit de ce que paie le client : il paie 100, vous recevez 97. Seuls les retraits fonctionnent « en sus ». Ne mélangez pas les deux dans vos calculs.

MonCashConnect ne prend aucune commission : les 2,9 % et les 5 % sont les frais du réseau, transmis à l'identique.

Code

// Montants en HTG entiers. MCC_RATE = 0.05 (retrait), YOUR_RATE = votre taux.
const MCC_RATE = 0.05;
const YOUR_RATE = 0.06;

function withdrawalQuote(amount) {
  if (!Number.isInteger(amount) || amount < 100) throw new Error('min 100 HTG, entier');
  const mccFee  = Math.ceil(amount * MCC_RATE);   // prélevé sur VOTRE solde MCC
  const yourFee = Math.ceil(amount * YOUR_RATE);  // vers le haut, comme le nôtre
  return {
    receives:  amount,            // ce qui arrive sur le numéro MonCash
    debitUser: amount + yourFee,  // ce que vous retirez de son solde chez vous
    mccDebit:  amount + mccFee,   // ce que MonCashConnect retire de votre solde
    margin:    yourFee - mccFee,
  };
}

withdrawalQuote(100); // { receives: 100, debitUser: 106, mccDebit: 105, margin: 1 }
withdrawalQuote(110); // { receives: 110, debitUser: 117, mccDebit: 116, margin: 1 }

Puis, côté serveur uniquement, POST /v1/payout-create avec amount = receives. La réponse vous renvoie fee_htg : comparez-le à votre mccFee pour vérifier vos comptes. Pour une app mobile, voir ce guide.

Checklist

amount = ce que l'utilisateur doit recevoir, entier, 100 HTG minimum

Votre frais est calculé et appliqué dans votre propre base, pas chez MonCashConnect

Votre frais est arrondi vers le haut (Math.ceil), comme celui de MonCashConnect

Votre solde MonCashConnect couvre amount + frais MonCashConnect

L'utilisateur voit ce qui sort de son solde ET ce qui arrive sur son téléphone

Vous comparez fee_htg de la réponse à votre calcul pour réconcilier

FAQ

Où est-ce que je configure mon frais dans MonCashConnect ?+
Nulle part, et c'est voulu. MonCashConnect ne connaît pas vos utilisateurs : c'est vous qui tenez leurs soldes. Votre frais s'applique dans votre propre système, au moment où vous débitez le solde de votre utilisateur. MonCashConnect ne voit que le montant que vous envoyez.
Si je montre 106 HTG à mon utilisateur, il reçoit combien ?+
Il reçoit exactement le montant que vous passez dans amount à payout-create. Si vous envoyez 100, il reçoit 100, ni 100,64 ni 99,70. Les 106 sont ce que vous retirez de son solde chez vous : 100 envoyés, 5 de frais MonCashConnect sur votre solde, 1 de marge pour vous.
Pourquoi mon calcul tombe à zéro de marge sur certains montants ?+
Parce que le frais MonCashConnect est arrondi à la gourde supérieure et que le vôtre ne l'est probablement pas. À 110 HTG, notre frais est 6 (5,5 arrondi vers le haut). Votre 6 % fait 6,6 ; arrondi vers le bas, ça donne 6, soit exactement notre frais, donc zéro marge. Arrondissez aussi votre frais vers le haut.
Est-ce que les montants peuvent avoir des centimes ?+
Non. amount est un entier en HTG, minimum 100. Le frais est lui aussi un nombre entier de gourdes. Il n'y a jamais de décimales côté MonCashConnect.
Et le plafond journalier, il compte le montant ou le montant plus les frais ?+
Le montant envoyé. Votre solde, lui, doit couvrir le montant plus le frais, sinon payout-create répond 402 insufficient_balance.