Credit cards, recurring payments, client upgrades
After some code wrangling late last night, I solved a conundrum regarding payment plan upgrades and wrote the code to support it. Our goal is to avoid partial credits and prorated charges. While that means we are delivering service we may not be charging for, in the long run, the number of customer service calls regarding small incremental charges will probably eat that revenue.
If a user has a free plan, and upgrades to a paid plan, they get charged immediately and their billing period is set.
If a user has a paid plan and upgrades to a more expensive pay plan, they are upgraded to the plan, but, not charged for the upgrade through the end of their current billing period.
If a user has a paid plan and downgrades to a cheaper plan, they are given until the end of the current billing period with their current ‘services’, at which point the system may have to selectively deactivate accounts if they haven’t disabled the extra features.
If a user has a paid plan and downgrades to free, billing profile is removed, plan downgraded on billing period end date.
The issue I ran into here was one I’ve dealt with for years – what do you do about service increases and decreases in price? Prorating ends up with a tiny charge or credit applied to the next invoice, but, usually results in a phone call from someone that doesn’t understand why they got charged $5 and $2.72 last month and $10 this month.
User Experience doesn’t end with the web page design.
These are issues that you need to think about when deploying a paid service that recurs because people will adjust their plan based on features, etc. You can’t immediately downgrade the account as they have paid through the end of the period assuming you billed in advance. If you bill after the fact, you face the possibility that you’ve delivered service for a month before you collect any money.
This gets trickier as you expand to longer term payments, i.e. quarterly or bi-annual payments. Based on the merchant service agreement, annual agreements are usually not allowed since you only have 6 months to contest a charge, if your vendor disappears after that 6 months and you have a remaining 6 months left, you have no recourse with your credit card company.
In any case, it wasn’t really a showstopper for this app, but, I certainly spent more time thinking about how to handle and automate a portion of the business that is currently done manually with my existing business.