100 GBP in the API =~ $1. (The motivation behind always using the smallest denomination is to dissuade people from performing floating point math.) The smallest unit is pretty clear in most "normal" currencies, but you're right that Bitcoin kinda throws things off...
How do users or front-end developers know how to display 1 "usd" as 0.01 USD but 1 "inr" as 1 INR? I haven't seen an API for getting the display factors.
Our users are generally picking prices themselves (rather than having to render arbitrary currency/amount pairs), and so they tend to be aware of these subtleties, but we perhaps should start recommending good currency display libraries. (Or even including something in the official Stripe libraries.)
But 100 JPY would be 100 Japanese Yen, right? I've seen somewhere (I think paymill) where they still expect decimal points to the currency, even when it doesn't exist or makes no sense.
Similarly, 1/10 of one chinese yuan is called a jiao 角, and 1/100 is a fen 分. (Jiao are common in prices; fen are so rare that you could live your life without being aware of them. I would own a big pile of one-jiao coins if I didn't habitually discard them for being near-worthless.) What are stripe amounts denominated in if they're coded CNY?
btw, you had/have a subtle bug where the email generated after the first successful transaction said "Payment of ¥9.00 from ..." whereas the amount charged was 900.
p.s. I absolutely LOVE stripe. In particular as a European micro-business, the activation process for accepting real payments was a breeze. Compared to pretty much all other competitors who force a very long and bureaucratic process just to get started.