Make the number of tokens a voucher is redeemed for a configurable value
One voucher is redeemed for N passes. N is currently hard-coded at 32768. The value of a single pass is configurable but it only really makes sense to adjust its value within a pretty narrow range (at least for now, because of value lost to quantization in accounting). This means the value of a voucher is only narrowly adjustable.
It would be more useful if different deployments could determine their own voucher values. It is required that client and payment server agree on the value but beyond that requirement a deployment should be allowed to set this value to roughly whatever it likes.
One way to do this would be to have PaymentServer know the correct number and tell clients. This requires an extra round-trip in the redemption protocol which is slightly undesirable. Likely more importantly, unilaterally allowing PaymentServer to tell a client how many passes it is going to get for its voucher seems like it gives too much power to the PaymentServer.
Another way would be to have the grid configuration include this value. This allows clients to inspect the value before issuing any payment and avoids the extra round-trip.