Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 723069 of Publishing your app for profit

  • Revision slug: Mozilla/Marketplace/Monetization/Profiting_from_your_app
  • Revision title: Profiting from your app
  • Revision id: 723069
  • Created:
  • Creator: morello
  • Is current revision? No
  • Comment

Revision Content

Creating Web Apps is not only fun; it's also a great way to turn your passion into revenue! This article introduces the topic of app payments, looks at how payments are implemented (both for apps and in-app purchases), and how the transactions are handled in different countries.

{{draft}}The Firefox Marketplace is an outstanding way to globally monetize both premium and freemium apps. Mozilla has worked with partners to create a system that is easy for both developers and end users to navigate. Mozilla allows the developer to connect with Bango and Boku to offer credit cards to a global audience and direct carrier billing to a growing number of users who do not have credit card as their main form of payment. The marketplace allows payment for both desktop and OS payments. Mozilla currently supports 14 local currencies through credit cards and has Direct Carrier Billing in 6 countries. The countries which are not locally supported default to USD for global coverage.

Note: The payments section of the Marketplace FAQ provides answers to many common questions about Marketplace payments.

Monetization

Monetization models

Picking the right way to monetize your apps is a critical step if you want to maximize the revenue you earn. It's about a lot more than simply loading your app into Firefox Marketplace and setting a price: it's entirely possible that you could make more money by not charging for your app at all. So first, let's consider the monetization models available:

  • Premium — this is the simple, traditional model for monetizing apps: place your app in Marketplace and set a price the user must pay before downloading and installing your app. The major draw back of this approach is that payment creates a barrier, some users are reluctant to download paid apps because its often difficult to judge an app fully based on a store description and screenshot: they want to know what they're getting before paying, particularly as they'll probably find a similar app available for free.
  • Promote as upgrade — if you want to retain the simplicity of a premium monetization model for your app, but want to minimize barriers, consider offering a free version of your app with a subset of the premium apps features. Then use Marketplace's promote as an upgrade feature to encourage users to purchase the premium version. This approach removed the element of the unknown and users part with the money with a good level of certainty about what they will be paying for.
  • Freemium — in this model you offer you app as a free download but then use either in-app purchasing to offer additional features or content, or include advertising.
    • In-app purchases — At first sight it may seem a very similar approach to promoting as a upgrade, but there is a big difference, with careful design you can generate a recurring income stream. Games are a particularly good example of how this model works. You might offer a free download with 5 levels. Then, when the user has completed those levels offer an additional 5 level as an in-app purchase. Then at the end of those levels, offer 5 more for an in-app payment and so on. And as long as each new level pack is as engaging as the last the user will most likely continue to purchase new level packs. Other
      Other uses for in-app payments might be to:
      • sell special abilities, items, or upgrades in a game.
      • upgrade or unlock additional app features.
      • implement a time-based free trial.
      • replenish a virtual currency or credits within an app.
      • turn off advertising.
    • In-app advertising — in this model you offer you app as a free download but then display ads to the user and generate revenue from ad views and clickthroughs. You can also use ads in a premium or in conjunction with in-app purchases, but particularly in premium apps the user may consider you're 'charging ' them twice. You could also combine this approach with Promote as upgrade: offer the full app with adverts as the 'try' and a premium version without ads as the 'upgrade'. Alternatively you could use an in-app payment to offer a 'remove the ads' feature in the app. If you want to take this approach you can use any ad network you wish.

Choosing your approach

There are no rules about the monetization model you could use — but these consideration may help you decision making:

  • Consider a Premium approach for feature-rich apps or for apps in specialist niches, also where you have an establish brand that users trust.
  • Offering a free version of any premium app and promoting the premium app as an upgrade to overcome any barriers created by the need to pay to download the app.
  • Freemium is worth considering for almost any app, using:
    • in-app purchases where you've granular or incremental content that can be sold as low priced additions, but beware of the development overhead in implementing each item the user can purchase — start with a few and add more over time.
    • In-app advertising where the app offers a 'browsing' style interface where the user is likely to notice ads while looking for and consuming content. It may also be a good option where the market or target audience might be more price sensitive.

There is definitely no right approach, and even if you find a good approach for one of your apps it won't necessarily be the best approach for all your apps. You may even find that you need different models for different markets — for example, you might be able to position a soccer app as paid in the UK or Brazil, but need to use in-app advertising in a version for the US. Expect to do some experimentation with each app you create, to find the right approach.

How to ...

Release a premium app

To create a premium app you need to set it so it's installed from Firefox Marketplace. Then include code to verify a receipt issued by Marketplace, to make sure the app has been paid for before allowing it to run. For more information, see the App payments guide.

To setup an app as premium (paid) you first identify it as Paid in the initial (monetization) section of the Submit an App page. You then create an account with one or more payment providers. Once this is done you can select a price point for your app. Bear in mind that currently only the Firefox OS distribution option supports paid apps, because they need to be properly installed and verified by the Marketplace.

Release a promote as upgrade app

For this approach you obviously need two apps — the free one and the premium app you'll promote as an upgrade.

Once your apps are ready, first add the free version of the app to Firefox Marketplace, then the premium version. While submitting the premium app select the promote as upgrade to free version option at the bottom of the Compatibility & Pricing page.

Release a freemium with in-app payments

You have two options for adding in-app payments to your apps fxPay and mozPay, the principal difference between the two options is that fxPay works without the need for your own server, while mozPay requires you to have a server to store transaction receipts.

In simple terms development of your app involves defining a number of in-app products you have for sale, reading those products into your app, providing a purchase 'button', and validating the receipt when the product is 'consumed' to ensure it was validly purchased. Full details on the coding required is provided in the In-app payments section.

To setup an app with in-app purchases in Firefox Marketplace, you first identify it as Free in the initial (monetization) section of the Submit an App page (noting that you will do this for a stub app before development starts to get a API key for mozPay or load in-app products for fxPay). You then create an account with one or more payment providers, before publishing your app. Bear in mind that currently the Firefox OS distribution option only supports apps with in-app payments, because they need to be properly installed and verified by the Marketplace.

Releasing an app with in-app advertising

Mozilla has no special relationship with any advertising network, so you are free to choose the ad network or networks. You will need to consult the developer resources from your chosen network to get full details of the development process, but in general the process is likely to involve: getting a key that will identify to the network that an app has been displayed or clicked in your app, and coding the ads into your app.

To publish on Firefox Marketplace you now simply identify it as Free in the initial (monetization) section of the Submit an App page and compete the apps details. There are no special steps to follow, compared to posting a free app without in-app adverts.

Refunds

Where the user has purchase your app, refunds may be authorized by Mozilla, the payment processor, or the mobile network operator if a user requests a refund. These refunds will be authorized according to our refund policy in compliance with local consumer laws, the mobile operator's refund policy, and credit card refund policies.

In-app purchases are not refundable through Mozilla.

If an app purchase is refunded, its receipt is invalidated. Therefore, you should always validate receipts to ensure proper licensing of any instance of an app. Apps that receive an abnormal volume of refund requests may be investigated by Mozilla.

Note: While we encourage apps using in-app payments to be free for download, it's possible to have a paid app that also uses in-app payments.

Pricing and handling payments

It is all well and good using the right code in your apps, and verifying apps through the Marketplace, but you might be wondering how those payments are actually handled across different regions around the world.

Each app listed in the Firefox Marketplace are sold by the payment provider, who is the merchant of record and is responsible for processing the transaction, collecting sales taxes and value added taxes (VAT), ensuring compliance with local consumer regulations, disbursing funds, processing refunds, and performing other duties of a merchant. Mozilla is providing the venue where the buyers (app users) and sellers (app developers) come together, but it is not a party to the transactions. Bango and Boku are the payment provider for Firefox Marketplace.

A payment processor handles the transaction between the buyer (app user) and seller (app developer), including matters such as credit card processing. Payment processors typically charge a fee for each transaction for providing this service. Developers need to create an account with each payment processor through the Firefox Marketplace Developer Hub.

In order to support the operation of the Firefox Marketplace, improve our apps platform, and advance our mission, Mozilla and its partners take a share of each transaction and pays the entire transaction fee out of its share. Currently, developers keep 70% of each app purchase or in-app purchase that uses the Marketplace (after VAT and fees, which are included in the end user price). Mozilla and its partners receive 30%.

The Firefox Marketplace aims to support as many countries, languages, and currencies as possible. We would like to be able to support a localized version of the Marketplace and allow payments to be made to and from each country.

See also:

  • Our App Pricing guide contains more information on what price points are used, and how the pricing works with regards to credit cards, taxes, etc.
  • Payments status looks at what countries currently have app payments available in them, what exchange rate is used, and what else you need to be aware of in each region.

Revision Source

<div class="summary">
<p>Creating Web Apps is not only fun; it's also a great way to turn your passion into revenue! This article introduces the topic of app payments, looks at how payments are implemented (both for apps and in-app purchases), and how the transactions are handled in different countries.</p>
</div>

<p>{{draft}}The <a class="link-https" href="https://marketplace.firefox.com/">Firefox Marketplace</a> is an outstanding <span class="author-g-nr3obl52nj9jj0h7 i">way to globally monetize both premium and freemium apps. Mozilla has worked with partners to create a system that is easy for both developers and end users to navigate. Mozilla allows the developer to connect with Bango and Boku to offer credit cards to a global audience and direct carrier billing to a growing number of users who do not have credit card as their main form of payment. The marketplace allows payment for both desktop and OS payments. Mozilla currently supports 14 local currencies through credit cards and has Direct Carrier Billing in 6 countries. The countries which are not locally supported default to USD for global coverage.</span></p>

<div class="note">
<p><strong>Note</strong>: The <a href="/en-US/Marketplace/FAQ#Payments">payments section of the Marketplace FAQ</a> provides answers to many common questions about Marketplace payments.</p>
</div>

<h2 id="Monetization">Monetization</h2>

<h3 id="Monetization_models">Monetization models</h3>

<p>Picking the right way to monetize your apps is a critical step if you want to maximize the revenue you earn. It's about a lot more than simply loading your app into Firefox Marketplace and setting a price: it's entirely possible that you could make more money by not charging for your app at all. So first, let's consider the monetization models available:</p>

<ul>
 <li>Premium — this is the simple, traditional model for monetizing apps: place your app in Marketplace and set a price the user must pay before downloading and installing your app. The major draw back of this approach is that payment creates a barrier, some users are reluctant to download paid apps because its often difficult to judge an app fully based on a store description and screenshot: they want to know what they're getting before paying, particularly as they'll probably find a similar app available for free.</li>
 <li>Promote as upgrade — if you want to retain the simplicity of a premium monetization model for your app, but want to minimize barriers, consider offering a free version of your app with a subset of the premium apps features. Then use Marketplace's promote as an upgrade feature to encourage users to purchase the premium version. This approach removed the element of the unknown and users part with the money with a good level of certainty about what they will be paying for.</li>
 <li>Freemium — in this model you offer you app as a free download but then use either in-app purchasing to offer additional features or content, or include advertising.
  <ul>
   <li>In-app purchases — At first sight it may seem a very similar approach to promoting as a upgrade, but there is a big difference, with careful design you can generate a recurring income stream. Games are a particularly good example of how this model works. You might offer a free download with 5 levels. Then, when the user has completed those levels offer an additional 5 level as an in-app purchase. Then at the end of those levels, offer 5 more for an in-app payment and so on. And as long as each new level pack is as engaging as the last the user will most likely continue to purchase new level packs. Other<br />
    Other uses for in-app payments might be to:
    <ul>
     <li>sell special abilities, items, or upgrades in a game.</li>
     <li>upgrade or unlock additional app features.</li>
     <li>implement a time-based free trial.</li>
     <li>replenish a virtual currency or credits within an app.</li>
     <li>turn off advertising.</li>
    </ul>
   </li>
   <li>In-app advertising — in this model you offer you app as a free download but then display ads to the user and generate revenue from ad views and clickthroughs. You can also use ads in a premium or in conjunction with in-app purchases, but particularly in premium apps the user may consider you're 'charging ' them twice. You could also combine this approach with Promote as upgrade: offer the full app with adverts as the 'try' and a premium version without ads as the 'upgrade'. Alternatively you could use an in-app payment to offer a 'remove the ads' feature in the app. If you want to take this approach you can use any ad network you wish.</li>
  </ul>
 </li>
</ul>

<h3 id="Choosing_your_approach">Choosing your approach</h3>

<p>There are no rules about the monetization model you could use — but these consideration may help you decision making:</p>

<ul>
 <li>Consider a Premium approach for feature-rich apps or for apps in specialist niches, also where you have an establish brand that users trust.</li>
 <li>Offering a free version of any premium app and promoting the premium app as an upgrade to overcome any barriers created by the need to pay to download the app.</li>
 <li>Freemium is worth considering for almost any app, using:
  <ul>
   <li>in-app purchases where you've granular or incremental content that can be sold as low priced additions, but beware of the development overhead in implementing each item the user can purchase — start with a few and add more over time.</li>
   <li>In-app advertising where the app offers a 'browsing' style interface where the user is likely to notice ads while looking for and consuming content. It may also be a good option where the market or target audience might be more price sensitive.</li>
  </ul>
 </li>
</ul>

<p>There is definitely no right approach, and even if you find a good approach for one of your apps it won't necessarily be the best approach for all your apps. You may even find that you need different models for different markets — for example, you might be able to position a soccer app as paid in the UK or Brazil, but need to use in-app advertising in a version for the US. Expect to do some experimentation with each app you create, to find the right approach.</p>

<h2 id="How_to_...">How to ...</h2>

<h3 id="Release_a_premium_app">Release a premium app</h3>

<p>To create a premium app you need to set it so it's installed from Firefox Marketplace. Then include code to verify a receipt issued by Marketplace, to make sure the app has been paid for before allowing it to run. For more information, see the <a href="/en-US/Marketplace/Monetization/App_payments_guide">App payments guide</a>.</p>

<p>To setup an app as premium (paid) you first identify it as Paid in the <a href="/en-US/Marketplace/Publishing/Submit/Load_your_app#Monetization">initial (monetization)</a> section of the Submit an App page. You then <a href="/en-US/Marketplace/Publishing/Pricing/Payment_Accounts">create an account with one or more payment providers</a>. Once this is done you can select a <a href="/en-US/Marketplace/Monetization/App_pricing">price point</a> for your app. Bear in mind that currently only the Firefox OS distribution option supports paid apps, because they need to be properly installed and verified by the Marketplace.</p>

<h3 id="Release_a_promote_as_upgrade_app">Release a promote as upgrade app</h3>

<p>For this approach you obviously need two apps — the free one and the premium app you'll promote as an upgrade.</p>

<p>Once your apps are ready, first add the free version of the app to Firefox Marketplace, then the premium version. While submitting the premium app select the <a href="/en-US/Marketplace/Publishing/Pricing/Promote_as_upgrade_to_free_version">promote as upgrade to free version</a> option at the bottom of the <strong>Compatibility &amp; Pricing</strong> page.</p>

<h3 id="Release_a_freemium_with_in-app_payments">Release a freemium with in-app payments</h3>

<p>You have two options for adding in-app payments to your apps <a href="/en-US/Marketplace/Monetization/In-app_payments_section/fxPay_iap">fxPay</a> and <a href="/en-US/Marketplace/Monetization/In-app_payments_section/mozPay_iap">mozPay</a>, the principal difference between the two options is that fxPay works without the need for your own server, while mozPay requires you to have a server to store transaction receipts.</p>

<p>In simple terms development of your app involves defining a number of in-app products you have for sale, reading those products into your app, providing a purchase 'button', and validating the receipt when the product is 'consumed' to ensure it was validly purchased. Full details on the coding required is provided in the <a href="/en-US/Marketplace/Monetization/In-app_payments_section/Introduction_In-app_Payments">In-app payments</a> section.</p>

<p>To setup an app with in-app purchases in Firefox Marketplace, you first identify it as Free in the <a href="/en-US/Marketplace/Publishing/Submit/Load_your_app#Monetization">initial (monetization)</a> section of the Submit an App page (noting that you will do this for a stub app before development starts to get a API key for mozPay or load in-app products for fxPay). You then <a href="/en-US/Marketplace/Publishing/Pricing/Payment_Accounts">create an account with one or more payment providers</a>, before publishing your app. Bear in mind that currently the Firefox OS distribution option only supports apps with in-app payments, because they need to be properly installed and verified by the Marketplace.</p>

<h3 id="Releasing_an_app_with_in-app_advertising">Releasing an app with in-app advertising</h3>

<p>Mozilla has no special relationship with any advertising network, so you are free to choose the ad network or networks. You will need to consult the developer resources from your chosen network to get full details of the development process, but in general the process is likely to involve: getting a key that will identify to the network that an app has been displayed or clicked in your app, and coding the ads into your app.</p>

<p>To publish on Firefox Marketplace you now simply identify it as Free in the <a href="/en-US/Marketplace/Publishing/Submit/Load_your_app#Monetization">initial (monetization)</a> section of the Submit an App page and compete the apps details. There are no special steps to follow, compared to posting a free app without in-app adverts.</p>

<h2 id="Refunds">Refunds</h2>

<p>Where the user has purchase your app, refunds may be authorized by Mozilla, the payment processor, or the mobile network operator if a user requests a refund. These refunds will be authorized according to our refund policy in compliance with local consumer laws, the mobile operator's refund policy, and credit card refund policies.</p>

<div class="warning">
<p>In-app purchases are not refundable through Mozilla.</p>
</div>

<p>If an app purchase is refunded, its receipt is invalidated. Therefore, you should always <a href="/en-US/docs/Web/Apps/Publishing/Validating_a_receipt">validate receipts</a> to ensure proper licensing of any instance of an app. Apps that receive an abnormal volume of refund requests may be investigated by Mozilla.</p>

<div class="note">
<p><strong>Note</strong>: While we encourage apps using in-app payments to be free for download, it's possible to have a paid app that also uses in-app payments.</p>
</div>

<h2 id="Pricing_and_handling_payments">Pricing and handling payments</h2>

<p>It is all well and good using the right code in your apps, and verifying apps through the Marketplace, but you might be wondering how those payments are actually handled across different regions around the world.</p>

<p>Each app listed in the Firefox Marketplace are sold by the payment provider, who is the merchant of record and is responsible for processing the transaction, collecting sales taxes and value added taxes (VAT), ensuring compliance with local consumer regulations, disbursing funds, processing refunds, and performing other duties of a merchant. Mozilla is providing the venue where the buyers (app users) and sellers (app developers) come together, but it is not a party to the transactions. <a href="https://www.bango.com">Bango</a> and <a href="https://www.boku.com/">Boku</a> are the payment provider for Firefox Marketplace.</p>

<p>A payment processor handles the transaction between the buyer (app user) and seller (app developer), including matters such as credit card processing. Payment processors typically charge a fee for each transaction for providing this service. Developers need to create an account with each payment processor through the <a href="https://marketplace.firefox.com/developers/">Firefox Marketplace Developer Hub</a>.</p>

<p>In order to support the operation of the Firefox Marketplace, improve our apps platform, and advance <a class="external" href="https://www.mozilla.org/about/">our mission</a>, Mozilla and its partners take a share of each transaction and pays the entire transaction fee out of its share. Currently, developers keep 70% of each app purchase or in-app purchase that uses the Marketplace (after VAT and fees, which are included in the end user price). Mozilla and its partners receive 30%.</p>

<p>The Firefox Marketplace aims to support as many countries, languages, and currencies as possible. We would like to be able to support a localized version of the Marketplace and allow payments to be made to and from each country.</p>

<h2 id="See_also.3A">See also:</h2>

<ul>
 <li>Our <a href="/en-US/Marketplace/Monetization/App_pricing">App Pricing</a> guide contains more information on what price points are used, and how the pricing works with regards to credit cards, taxes, etc.</li>
 <li><a href="/en-US/Marketplace/Monetization/Payments_Status">Payments status</a> looks at what countries currently have app payments available in them, what exchange rate is used, and what else you need to be aware of in each region.</li>
</ul>
Revert to this revision