Guest Post: Increasing App Revenue with Fortumo Mobile Payments

Share on Facebook0Share on Google+2Tweet about this on TwitterShare on LinkedIn0

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

Share on Facebook0Share on Google+2Tweet about this on TwitterShare on LinkedIn0

This entry has 20 replies

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

  2. carlostg says:

    Will this work for iOS anytime soon?

    • David Rangel says:

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

  3. Kerem says:

    @ 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.

  4. Opus says:

    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?

  5. Holger says:

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

    • Jaana says:

      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.

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

    • Jorge says:

      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 says:

        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.

  7. Damir says:

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

    • Martin says:

      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

  8. Opus says:

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

  9. rhaine says:

    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 says:

      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.