Skip to main content
Tous les montants de l’API sont des entiers en unités mineures : la plus petite unité que la devise permet de compter. Vous n’envoyez donc jamais de décimales, et le calcul dépend de la devise.

Nombre de décimales par devise

Pour convertir un montant lu par un humain, multipliez-le par 10 à la puissance du nombre de décimales : 10,50 USD s’envoie 1050, 5 000 XAF s’envoie 5000 tel quel puisque le XAF n’a pas de sous-unité.
N’envoyez jamais 5000.00 ou 10.50. Une valeur décimale est refusée par la validation de l’API.

Codes devise

Le code devise est un code ISO 4217 de trois lettres (XAF, USD, EUR, la casse n’importe pas : Mercy Pay normalise en majuscules). Un code qui n’existe pas dans la norme, comme ABC, est refusé.

Minimums carte

En dessous d’un certain montant, le réseau carte lui-même refuse la transaction. Mercy Pay bloque donc la tentative en amont plutôt que de vous laisser découvrir l’échec après coup : Sous ce seuil, la page de paiement ne propose plus que le mobile money, et une tentative de paiement par carte échoue avec le minimum exprimé en unités que votre client comprend (pas en unités mineures).

Payer depuis un autre pays

Vous fixez un seul prix, dans votre devise. Votre client paie depuis n’importe quel pays pris en charge, sur le checkout, un lien de paiement, la page de paiement d’un abonnement ou par POST /api/v1/payments :
  • Mobile money : un opérateur ne déplace que la monnaie de son pays. Si elle diffère de votre devise, le montant est converti au taux du jour, arrondi au-dessus, avant la demande sur le téléphone. Le paiement porte le montant et la devise réellement prélevés, et il crédite le solde de ce pays et de cet opérateur, voir Soldes.
  • Carte : le montant est prélevé tel quel, dans votre devise. Si la carte est dans une autre monnaie, c’est la banque de votre client qui convertit.
Pour un abonnement, chaque échéance est convertie de la même façon, quel que soit le pays du numéro enregistré par votre client.