Category: System Architecture
Jan 26

Unplanned Downtime: Managed/Shared Database Failed Just 2 Days Before our Move

Just 2 days before our planned move to a new database system, the managed/shared database run by our data center has gone down for 8 hours so far.

This is a summary of things going back to Q4 2012, today, and moving forward.

Dec 06

Chargify Performance

One of the main things we’re working on at Chargify these days is improving the user experience, especially with regards to the speed of the site and the API.  If you’ve been with us for a while, you’ve probably seen things slow down quite a bit over time.  If you’re new, Chargify probably just seems slow most of the time.  I’m here to tell you that we don’t find the current state acceptable, and we’re working on it.

Dec 14

API Change - Credit Adjustments

We’re making a small change to the Chargify API and we wanted you to know about it.  If you use the API to pull Transactions or create Credits, then you’ll want to read on to see what’s changing.  If you don’t do either of these things, you shouldn’t need to change anything.  Here are the details of the change and the new functionality that’s coming with it:

What’s Changing

We are changing the way Chargify “Credit” Transactions work behind the scenes.  Today, Credits deduct an amount from a Subscription’s balance, but are represented with a positive “amount”.  For example:

Old Subscription Balance:  $40
Applied Credit Amount:    $30
————————————————
New Subscription Balance:  $10

Since it would be nice to also adjust the balance up in some cases, we’re introducing Adjustments.  Adjustments with positive amounts make the balance go up, Adjustments with negative amounts make the balance go down (like Credits).

Old Subscription Balance:  $40
Applied Adjustment 1:    -$30
Applied Adjustment 2:    $ 5
————————————————
New Subscription Balance:  $15

Internally, we’re converting all existing Credits to Adjustments.

Apr 20

Hosted Page URLs Get Some Love

As a developer, I tend to like clean, concise URLs that map directly to my RESTful resources.  Want to view a subscription?

GET /subscriptions/77


Want to edit it?

GET /subscriptions/77/edit


The URLs for Chargify hosted pages followed this convention.  Updating credit card details loosely maps to editing the subscription to change the payment information.  So, we had:

GET /h/subscriptions/77/edit/abcdef0123abcdef0123abcdef0123abcdef0123


With the ‘h’ part meaning our “hosted” namespace, and the gibberish at the end being a secret token.

Now, if I were a layperson, and IF I happened to glance at the URL for the page I was about to enter my credit card on, which one of the following would be more likely to give me warm fuzzies?

Feb 08

New Features! - Multi-Site Support, Custom Emails, Hosted Pages Parameters cap BIG week

We released several new features for Chargify this week that definitely deserve mention.

Multi-Site Support

Before, when you created a Chargify account, you were given 2 “sites”: 1) your “live” account and 2) your “test” account.  This structure was somewhat limiting, both for us and our customers.  We re-architected how Sites (now with a big “S”) work, and now, you can create as many Sites as you want, and you can move them in and out of test mode.

Each Site has its own Customers, Subscriptions, and Settings.  This means each site configures its own:

  • Subdomain
  • Gateway settings
  • Email Templates (more on that later)
  • Dunning Settings

This also opens us up to support other sorts of things in the future that aren’t compatible when you only have 1 production site… like multiple currencies.  (We haven’t committed to a roadmap for multi-currency, but we do know the need is there and we want to make sure we’re ready).

Jan 21

Adding Payment Gateways while maintaining Data Security and Focus

As a startup, we face many of the classic trade-offs between getting things done quickly and getting them done the best way possible. The right answer is usually somewhere in the middle. Since we’re dealing with our customers’ money and business transactions, we err on the side of doing things slowly and methodically, especially on core issues.

GATEWAY COVERAGE

Hundreds of people want us to add other payment gateways. This is absolutely true for people outside the USA, because they can’t use our currently-supported gateway, Authorize.net, which means they can’t use Chargify. And that’s a shame!

We’ve been gathering info since November on what gateways people want. In parallel, we’ve been investigating ways to add gateways - quick ways vs best ways.

If you’re a developer, you might ask why we don’t write code for each of the different gateways’ APIs. Especially with things like ActiveMerchant (in Rails), we should be able to add gateways very quickly. Yes, but…