> For the complete documentation index, see [llms.txt](https://qosic.gitbook.io/qospay/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://qosic.gitbook.io/qospay/merchant-api/integration-rules/fees-and-balances.md).

# fees and balances

Les frais sont déterminés à partir du produit, de la devise, de l’opérateur et de la tarification marchand configurés. Ils peuvent être fixes, basés sur un pourcentage, combiner les deux, ou être nuls. Ne calculez pas localement des frais de plateforme et ne rejetez pas une transaction simplement parce qu’une transaction précédente utilisait des frais différents.

Le porteur des frais configuré affecte les montants comme suit :

| Opération         | Porteur des frais | Le provider reçoit | Effet sur le wallet marchand                                      |
| ----------------- | ----------------- | ------------------ | ----------------------------------------------------------------- |
| Collecte          | Client            | `amount + fee`     | Le marchand reçoit le montant demandé après traitement des frais. |
| Collecte          | Marchand          | `amount`           | Les frais sont déduits du produit de la collecte du marchand.     |
| Transfert/facture | Client            | `amount - fee`     | Le débit total du marchand reste basé sur le montant demandé.     |
| Transfert/facture | Marchand          | `amount`           | Le wallet marchand est débité du montant plus les frais.          |

Utilisez les champs de statut plutôt que de recréer ce calcul :

* `requestedAmount` correspond au montant de base soumis par le marchand.
* `amountPaid` correspond au montant envoyé au provider après application des règles de portage des frais.
* `fee` correspond aux frais calculés.
* `residualAmount`, lorsqu’il est présent pour les collectes, correspond à l’effet net sur le wallet de collecte.

{% hint style="warning" %}
Si des frais de débit à la charge du client sont supérieurs ou égaux au montant, la requête échoue avec `Transaction amount must be greater than fee when customer bears the fee`.
{% endhint %}
