Guest Post: Increasing App Revenue with Fortumo Mobile Payments

Guest Post: Increasing App Revenue with Fortumo Mobile Payments

Jaana Metsamaa is the head of engineering at Fortumo, the mobile payments company that powers in-app payments for game developers such as Rovio, Gameloft, Vostu and Zeptolab. The company covers 80 countries through 300 operators and lets users make payments on the web and in Android, Windows 8 and Windows Phone apps.

Fortumo recently added Corona SDK support for their Android and NOOK in-app payments via a Corona Plugin. In this post, Jaana walks developers through the integration process for adding mobile payments into their Android apps built with Corona.

Jaana MetsamaaMobile payments give end-users a way to make in-app payments by charging purchases to their phone bill. Mobile payments work for literally anyone who has a mobile phone, whereas credit card payments are available to only those that have a credit card. In most countries (especially emerging markets such as Brazil and China) phones outnumber credit cards by up to ten times. This means adding mobile payment capability into your app will significantly increase the number of potential paying users.

Fortumo one-click mobile payment flow in Rovio's Angry BirdsOn top of that, mobile payments are significantly faster than credit card payments – users do not need to sign up, fill out forms or enter their credit card credentials. You can see an example of Fortumo’s one-click mobile payment flow in the Angry Birds’ screenshot to the right. It’s a one-click solution from the first payment, requires no sign up or registration, and ultimately leads to higher conversion rates and revenue.

Developers using Corona SDK can now integrate Fortumo’s payments and start billing in any Android app store, including Google Play, NOOK Apps, Amazon Appstore and other 3rd party app stores. Integration should only take about an hour. Here’s how to get started:

  1. Service Setup via Fortumo homepage: Create an account on our homepage and navigate to the Dashboard. On the Dashboard, create a new service for in-app purchasing on Android or NOOK. After creating the service, you will need to integrate the Fortumo Corona Plugin into your app.
  2. Configuring the SDK: In order to use the Fortumo plugin, you need to add the following to your “build.settings” file. Note that the Corona simulator will automatically include the Android permissions that the plugin needs to the built APK.
  3. Making a payment: Configuring payments with Fortumo is simple:
  4. onPaymentComplete may return fortumo.BILLING_STATUS_PENDING if the UI is hidden before the payment is completed. If it’s a non-consumable product then it will return fortumo.BILLING_STATUS_BILLED the next time makePayment is called. Alternatively, it’s possible to use fortumo.setStatusChangeListener() method to get notified as soon as possible in the background.

    The full Fortumo Lua API documentation for more details about the APIs and access to the sample project can be found at

  5. Setting up server side receipt verification (optional): Receipt verification is a convenient way to stream payment data to your servers and for integrating in-app purchases with users online profile so that purchases and users’ virtual items can be kept track of online. Receipt verification works by making a HTTP GET request to your server after each payment. Here you can read about how to get your service backend to talk to Fortumo.

After testing and making sure that payments work, you’re good to go!

We are excited to be working with Corona developers and are looking forward to bringing you additional revenue from users without credit cards. If you have any questions or need help with the integration, please let us know at

  • Daniel Williams
    Posted at 10:52h, 30 May

    Maybe I missed it, but what build do I need to use for Fortumo?

  • carlostg
    Posted at 11:36h, 30 May

    Will this work for iOS anytime soon?

    • David Rangel
      Posted at 13:59h, 30 May

      Carlos – answer is probably no. Apple IAP are the only way to do IAP on iOS.

  • Kerem
    Posted at 12:12h, 30 May

    @ carlostg, I might be wrong but I think the Apple Dev policies may be forbidding the use of services like this on IOS apps published on App Store. I think Apple would never want to allow a sidestream out of their revenues… Just a hunch.

  • Opus
    Posted at 13:03h, 30 May

    So if someone buys an In-app purchase. How is the money split up. On Apple it is 70/30. Is this same on Android, Nook? How does Fortumo make money from this?

  • Holger
    Posted at 14:06h, 30 May

    Does Fortumo work on devices that only have w-lan connection?

    • Jaana
      Posted at 14:23h, 30 May

      For mobile billing, the user needs to go online once, to get the payment information, after that offline payments can be done as well.

      On NOOK where credit card billing is used, users need to be online to make purchases.

  • Scott D Brooks
    Posted at 14:12h, 30 May

    Woo hoo! Awesome! Thank you for partnering with a provider that will also work on Amazon! … and 80% revenue share? Even better.

    • Jorge
      Posted at 22:01h, 30 May

      Fortumo supports Amazon Appstore, as in apps for kindle? Does it then work like in-app purchasing for the nook, or do I have it wrong?

      • Martin
        Posted at 00:01h, 03 June

        Hi Jorge, you are right:
        1) You can include Fortumo in-app payments for applications in Amazon Appstore. Amazon does not restrict 3rd party payments in their Appstore.
        2) Fortumo is in-app payments provider for Nook Appstore.

        So basically when you have Android game/app and you have integrated Fortumo payments, you should be able to use the same code-base and submit your App to all Appstores who allow 3rd party payments.

  • Damir
    Posted at 13:24h, 31 May

    Last time I checked, the revenue share was very bad for the developers…

    • Martin
      Posted at 23:58h, 02 June

      Hi Damir,

      Revenue shares depend a lot from countries and operators. Fortumo is constantly negotiating better terms with operators and so revenue shares for developers are improving constantly.

      Examples: Nook pays 70% to developers; Revenue in Russia ~75% etc. Please check revenue shares for each specific country which you are targeting from

  • Opus
    Posted at 08:01h, 03 June

    So is this the “goto” way to do IAP on Android?

  • rhaine
    Posted at 19:18h, 23 October

    I am new to fortumo, where can I get SKU? and also, corona documentation has this request set type

    request:setType( fortumo.PRODUCT_TYPE_NON_CONSUMABLE )

    and the example above shows


    which one is correct?

    • Rob Miracle
      Posted at 19:31h, 23 October

      You make up your own SKU when you define the product in the Fortumo dashboard.

      I believe that request:setConsumable( false ) may be old code. There are no references it in the documentation. There is a good chance the sample app hasn’t been updated.