永福 Jon Yongfook

A blog about fintech, design and digital customer experience

Archive

How to Accept Credit Card Payments as a SaaS company in Singapore

This post is old — tech evolves rapidly and this content may be out of date and / or may not represent my current thinking on the topic

July 29, 2014

One Sentence Summary: use Worldpay as your payment gateway and Chargebee to manage recurring billing. Read on for more details.

I think there should be more SaaS startups in Singapore. In Asia in general, actually.

My business is a SaaS social media software called Beatrix. It earned revenue from day 1 and is now profitable and growing. The business never took a cent of outside funding and I'm free to run the company as I wish, with no external stakeholders.

Charging customers a monthly subscription for a software service that they value is one of the fastest ways to create a sustainable business that I can think of.

However, in Asia while there's plenty of consumer-focused startups with either no clear business model or a model that requires massive scale to become sustainable, there's not a lot of folks simply making software and charging money for it. For the sake of the ecosystem, I think this must change. The ecosystem needs sustainable tech businesses, not a continuous cycle of consumer apps raising funding, launching and fizzling out due to unsustainable business models.

I hypothesise that one reason there aren't many Singapore SaaS startups is because anything involving online payments in Asia is a pain the ass - and recurring payments an even bigger pain in the ass.

The purpose of this post is to tell you how I set up SaaS-style recurring billing for my company, in the hope that it encourages more Singaporean entrepreneurs to consider SaaS as their business model, and also to show you that it's not too difficult. This post is not an explanation of all the different options out there, it's just a play-by-play of exactly how I set things up for my company.

Starting Out

When you're a brand new startup, PayPal is a perfectly acceptable solution. PayPal has a subscription feature that is easy to set up and is a great way to validate your first set of customers. Eventually though, you'll want to switch to a proper recurring billing system where you capture credit cards. The main reasons for this:

That last one is a bit vague but in involves a few different things such as the ability to easily upgrade / downgrade customers or add one-time payments to a customer's subscription (e.g. buying an add-on to your software) without them having to re-enter their credit card details or go through a PayPal checkout flow again.

Which Payment Gateway?

We use Worldpay as our payment gateway. It comes with an internet merchant account and remits automatically to your corporate bank account at regular intervals. Other payment gateways might require you to have your own merchant account, which would involve additional discussions with your bank - a most likely lengthy process that I just wanted to avoid.

Worldpay charges various fees for their service. There is a set up fee, an annual fee, transaction fees and remittance fees.

Why so many fees? Having been a Worldpay customer for a few months now, I have to say that their customer service is very good. Unlike PayPal, with Worldpay it's pretty easy to talk to a real human being for customer support and my emails generally get replied to quite quickly. And where payments are concerned, that is a peace of mind I'm willing to pay for.

Which Recurring Billing Software?

We use Chargebee as our recurring billing software. They charge a monthly fee and provide all the logic for capturing credit cards, handling the recurring billing, and more complicated stuff like upgrading / downgrading customers to higher or lower price plans, or adding one-off payments to an existing subscription.

I've found Chargebee to have excellent customer service. Krish the CEO and co-founder in particular was extremely helpful in getting me set up not just with Chargebee, but also helping me navigate some of the Worldpay setup process too.

Things You Will Need

The Worldpay setup process may vary for you, but at the least you will need:

Worldpay Account Setup

You can apply for a Worldpay account online. You'll have to pay the setup fee and annual fee up front, then the due diligence process begins which is a manual process of emailing back and forth. Some points to note when you set up your account:

At some point Worldpay will give you access to your control panel. In your control panel you'll find the XML Direct password needed for integration with Chargebee.

Worldpay Due Diligence

This process took a few months for me, which I hear is not unusual. Worldpay will ask you for the documents outlined above and depending on how satisfactory they are, you may need more documents or alternative documents.

In my case the process was held up by my certified true copy of my ID. This can be done by a lawyer or government officer or other person of recognized authority. I got my accounting firm to certify it for me (this was on the list of accepted entities), but it was rejected by Worldpay. In the end after some back and forth, I physically went to the Worldpay Singapore office in Raffles Place, with my ID for them to copy and certify in person.

Chargebee Account Setup

Chargebee is a SaaS company and getting set up with them is a simple case of signing up online. You get a test environment and a production environment to work with, so even if your Worldpay application is not yet approved, you can get your startup integrated with the Chargebee test environment.

My integration with Chargebee is pretty basic, but it works well. Here's the user flow:

We can then use the subscription ID at a later point with the Chargebee API, to run various operations such as upgrade / downgrade / cancel etc.

Worldpay Compliance

In the final stages of this process, Worldpay will run some compliance checks on your payment page. To speed up the process you can have this already stuff prepared:

Worldpay Test Transaction

Worldpay will want to perform a test transaction before activating your live account.

However, you can't really do this with Chargebee since the integration only works with live Worldpay accounts. Explain this to your compliance officer and he will:

And after that, your Worldpay account will be officially LIVE!

Enjoy running your SaaS business :)

View Jon Yongfook Cockle's profile on LinkedIn