Charge by Credit Card From an iOS App With iZettle's New API

This guest post comes from Andreas Krohn, API Specialist and consultant at Dopter. He blogs about APIs at (in Swedish) and develops tools to make APIs successful at APIHQ.

With iZettle's new iOS API it is possible to include credit card payments in any IOS app. iZettle is a Swedish company known in locally as “Spotify for payments” and in the US as “the European Square”. Using their chip card reader and iOS app, small businesses and individuals can charge via VISA, Mastercard, American Express or Diners Club and the payment is finalized with the card holders signature written with the finger straight on the iOS screen. So far the payment service is available in Sweden, Norway, Denmark, Finland and is being tested in the UK. They just got a €25 million to roll out in more countries world wide.

The Magic is in the Custom URL Scheme

An iOS app that wants to charge with iZettle redirects their users to the iZettle app via a custom URL scheme. With this URL scheme details such as price, currency and description of the item are sent to the iZettle app. The payment is handled all within that app and then iZettle redirects back to the original app with the status of the payment. The payment flow thus requires 3 different parts to work - an iOS app calling the iZettle URL scheme, an installed iZettle app and an iZettle account configured to send the money to your bank account.

To make it easier to get started with the API, ie the custom URL scheme, iZettle provides a full example app on GitHub. This app calls the following URL to redirect to the iZettle app:
izettle://x- Callback-url/payment/1.0?x-source=iZorn&api-key=demo-app-izorn&price=&currency=SEK&title=Flower&xsuccess=izorn://success&x-failure=izorn://failure

In order to use the custom URL scheme you need an API Key which you can request on

First you crawl …

The reason that iZettle started with an iOS API is that “we wanted to start out small to make sure we always provide a great payment experience” according to Peder Stahle, Head of Products. “By using our own app for the handling of the payment, we remain in control of the experience, and can guarantee the security of the payment. We’ve received tons of requests for this type of functionality from the developer community, so it was a pretty natural step to take.”

Since the API launched there has been a lot of interest, mainly from companies developing Point of Sale apps and App Developer Agencies. Peder Stahle thinks that we soon will see a number of apps charging for physical goods with iZettle.

… then you walk

“As far as we know we are currently the only mobile payment solution that you can use in other apps via an API” Peder Stahle says. Depending on the feedback and developer reaction to the iOS API iZettle plan to release further APIs. The first step would be to release similar APIs for other plattforms. Beyond that iZettle is sitting on a lot of interesting information such as sales data and statistics. There is a lot of potential to making this data available to their customers via an API.

Personally I hope they also create a REST API for credit card payments, similar to what Stripe has in the US. Payment APIs have a great future and we need more European startups taking on this problem.

Be sure to read the next Financial article: Terapeak Developer Program Opens E-commerce Analytics to the Masses