The call to Stripe.charge.create is blocking, in the sense that the server can't start processing a new request while it's busy waiting for a response from stripe in an existing request, right?
I think this kind of use case is exactly what has people so excited about node, since, in a single thread, it can go on processing new requests while it's waiting to hear back from, e.g., stripe (or the database, or the disk, or any other kind of IO).
May your book go on to have so many concurrent sales that this becomes an issue!