Posts Tagged payment gateway

The Challenges of Subscription Billing

Wednesday, August 26th, 2009

More than once, I’ve underestimated the efforts required to create a billing system.  I have yet to find a start-up that budgeted correctly for the time and effort to integrate subscription billing.  From the outside, the task seems to be pretty straightforward:

  1. Signup for a recurring billing service
  2. Create a signup form that accepts the billing information
  3. Create a page for the user to update their billing information
  4. Allow the user to cancel their subscription
  5. Sell your product or service and money

The above will get you up and running with subscriptions.  However, there’s a lot missing from the above picture that you won’t realize until you roll out your new billing system.  If your startup is new to subscription billing, there are a few key problems you’ll soon encounter.  Knowing about these issues will help you budget your development resources appropriately and help you evaluate your recurring billing options.

Declined Recurring Payments
For starters, what happens when one of the recurring payments fails due to a declined or expired credit card?  Will your system know to alert the user and/or cancel their subscription?  Can you get a list of past due accounts?  And, will the system continue billing the user or will it stop until their payment information is updated?

When a card is declined during the subscription renewal, you need to alert the customer and give them a way to update their billing information.  If they update their billing information in a timely manner, then bill them the missed amount.  Otherwise, the appropriate action is to cancel their subscription and transition their account back to a free account.  Unfortunately, many recurring billing APIs make it non-trivial to determine if a recurring payment failed.  And, if the user updates their billing information, verify that the service will collect the missing payment — this should happen immediately as part of the billing info update process.

Upgrades and Downgrades
If your site offers multiple subscription types, billing intervals, or quantities, then your customers are guaranteed to ask for upgrades and downgrades of their subscription.  If you start offering your subscriptions without a means for the subscriber to modify their own subscription, then you’ll receive several support requests.  Hopefully your support staff has the tools to modify the subscriptions or else you will miss the opportunity to make more money by allowing your users to upgrade.  And, a few users will be more than unhappy.

Of course, not all recurring billing APIs will allow you to upgrade or downgrade like you would expect.  Typically, an upgrade (additional quantity, add-ons, or service level) should happen immediately.  To do that, the remainder of the current term needs to be prorated and billed immediately.  Not all recurring billing services do this — some will require you to wait until the renewal to charge a new amount.

Downgrades or billing cycle changes can be just as tricky.  These events typically occur at the end of the current billing cycle, since the customer has already committed to paying for their current term.  These changes are doable with almost all recurring APIs, but most services will require you to perform the calculations to get the changes just right.  Buffer for some development time and lots of testing here.

Customer Service Tools
Does your billing system give your support staff the ability to lookup and modify accounts?  Your subscribers will want you to make changes (either by contacting you with a phone call or email) on their behalf.  If it takes an engineer to make subscription changes because you haven’t built the tools for your support staff to handle the modification, then you’re not using your resources efficiently.  Other users will expect your support staff to be able to offer them credits or refunds if something should go amiss.  Your support staff should be able to handle these requests immediately to minimize any chances of chargebacks or upset customers.  I strongly encourage you to give your support staff the tools necessary to support billing requests without involving a developer with database access.

Reporting and Metrics
Are you tracking your subscriber metrics?  Your payment gateway will tell you about the dollars and cents moving through your account but it doesn’t know anything about subscribers.  You’ll want to know as much as you can about new signups, upgrades and downgrades, cancellations, missed payments, failed subscribe attempts, etc.  Out of the box, most recurring billing services fail to provide these reports.

How many companies does it take to process a credit card?

Tuesday, August 11th, 2009

If you’re launching a new site and want to accept credit cards, you’ll soon learn how many companies are involved in every transaction. And, once you run into the first few declined credit cards, you’ll learn about a few companies that didn’t seem to be there before. Let’s dive in.

When you enter your credit card on a website, it sends the credit card information over an encrypted channel to a payment gateway. The payment gateway’s primary responsibility is to authorize payments and communicate with the merchant’s bank. Banks communicate with the payment gateway using a proprietary network and/or protocol.  Since your website is not processing billions of transactions a month, your bank does not want to integrate with you.  So, the payment gateway effectively becomes the middle man.

However, if the merchant bank is small (compared to a bank like CitiBank, Chase, or Bank of America), the merchant bank likely uses another company to communicate with the payment gateway.  This middle man is known as a merchant service provider.  Unless you run into some very tricky problems authorizing transactions, you are not likely to know this company exists.  In most cases, the merchant service provider does their job and stays completely in the background.

Now that the merchant bank has the transaction information, it routes the details to the customer’s credit card company — Visa, MasterCard, Discover, American Express, etc.  Since Discover and American Express are usually issued directly to a customer (and not through an issuing bank), these card companies return an authorization or declined message.  Otherwise, the credit card company must now connect to the customer’s credit card issuing bank.  Finally, the customer’s bank can authorize or decline the transaction and the message routes all the way back to the originating e-commerce site.  On average, the whole authorization process can take 2-3 seconds due to all the parties involved in the transaction.

To summaries the authorization flow, the credit card information goes from the user’s browser to the e-commerce website to the payment gateway (optionally) to the merchant service provider to the merchant bank to the credit card company to the user’s bank for approval.

At the end of the day, the merchant’s bank must settle the transactions (assuming the funds were captured, or approved for transfer).  The merchant bank then works with the credit card company and users’ banks to transfer the funds.


Links