My first Stripe integration, using PHP

Recently I carried out my first integration to the new (to the UK) payment processing provider Stripe. My client Jasper Goodall was looking at moving to Paypal for taking payments and having integrated with Paypal in the past, I suggested Stripe as a more developer and client friendly alternative. He liked the look of Stripe and signed up.

I was moving the site from using Sagepay over to Stripe and as all the basket and post-payment logic was written, dropping in Stripe was very straightforward. Their documentation is very clear, testing is simple, and taking a payment is a doddle. I hit a few minor issues, which were:

PHP needs ‘mbstring’ turned on

My local PHP 5.2.4 install didn’t have mbstring on by default, so I had to install it. This was on my Windows PC so I had to move the mbstring DLL in to the main ‘php’ directory and edit the httpd.conf file to include the DLL as one that needed to be loaded. I then restarted Apache and it was working fine.

My host did have mbstring turned on, so I didn’t need to change anything there.

Secure certificate required

My client didn’t have a certificate to allow his to use SSL. However his host, Claranet, had a shared secure area that all of their customers could use without requiring their own certificate. This was good, but I had to re-code parts of his site so things like the stylesheets would load properly when using this area.

If you or your client are on shared hosting with one of the larger providers, it’s worth checking to see if they have a secure area you can use before investing in your own certificate. This can save you some money, but has the disadvantage that the URL of your secure pages won’t show your domain in that part of the website address, which may make some customers suspicious. It will be worth adding some text to your pages explaining how they are secured if you think that is going to be a problem.

Coding up receipts

Previously, we were using Sagepay which takes various information about the products in the customer’s basket and builds an e-mail notification of the sale for you. Stripe just take the amount of money you are charging, so I had to update the website to create a notification for the customer, and one to tell the client a sale had been made. These were very simple additions to the post-sale process.

Overall, Stripe was a delight to integrate with. I’ve set up shops using several payment gateways – Sagepay (was Protx), Worldpay, Secure Trading, Paypal, and Paypoint. Stripe was by far the easiest, taking only a few hours to integrate with including the bug fixing of my setup and the re-coding of the existing shop to send the right information through and use the extra secure area of their hosting. If you were starting from a cleaner base, you’d probably be looking at an hour or two including reading the documentation. Really nice.

4 thoughts on “My first Stripe integration, using PHP

  1. Sarah Gillmour

    Hi Paul,

    Very helpful post, thanks! We`re setting up an online shop to sell jewellery and want to integrate Stripe. Do you know how long does it take to start accepting payments once the integration done? Do we need a merchant account for that or do they open one?

    Thanks for the help!

    Cheers,

    Sarah

  2. Matt Collins

    Nice write-up, Paul. Stripe really seem to have nailed the developer-friendly side of things. I get the impression their success is gradually encouraging other payment providers to up their game in that area, too, which is good to see. (About time, too!)

    Stripe can work out a bit pricier than some alternatives, but if you’re not doing big volumes that may not be significant. It seems like a really good option at the moment.

  3. Paul Silver

    Sarah – sorry, I didn’t see your comment had come in so this reply is far too late to help you. You do not need an Internet Merchant account to use Stripe (a major advantage over many other payment gateways.) I’m not sure exactly how long it took my client to get approved, but I think it was less than a week between signing up and him sending me the access details.

    Matt – Thanks. Yes, they’ve put a lot of time in to the developer side of things and I think that’s being a major selling point for them at the moment. I know some of the traditional gateways work out cheaper at volume – another client is looking a Secure Trading at the moment for this reason. At the kind of volume where that matters, I think as a business the cost of having an Internet Merchant addition to your account (returning to Sarah’s question) and moving to a different gateway would be good value.

    Still, I’m very happy to see Stripe open in the UK. I recommended another developer to them last week, just because they’ve been so easy to deal with from an integration standpoint.

Leave a Reply

Your email address will not be published. Required fields are marked *