Charging someone once is easy. Charging them every month, and knowing on any given day whether they are still paid up, is where subscription code usually goes wrong. The...