Eugene Saturow Head of Flutter

    Flutter-Powered Payments: In-App Purchases

    Before we go to Flutter in-app payments, let’s consider some facts. As of the second quarter of 2022, there were 3.5 million and 2.2 million apps, Android and iOS applications in Google Play and App Store, respectively. 

    At the same time, Merchant Machine reports that by the end of 2022 the number of mobile payment app users is expected to rise to 2,661 billion from 0.4 billion in 2015.

    In such a competitive environment and with consumers spending more time and making more purchases than ever before in iOS and Android mobile apps, it’s important for businesses to provide a frictionless billing and paying experience. 

    In the article, we suggest discussing in-app purchases as one of the most popular monetization methods and giving a closer look at Flutter (open-source SDK) that provides a simple way to create fast, smooth, and secure user experience. We at Surf have been developing digital products using it since 2019. Our portfolio covers apps for different industries where we implemented various financial solutions and the SDK has proven to be a reliable and cost-saving tool.

    Smartphone purchase statistics and facts for Flutter and not only

    In 2020, the global mobile payment market size accounted for USD 1.54 trillion and is forecast to grow from USD 1.97 trillion to USD 11.83 trillion in 2028 in the 2021-2028 period.

    The QR code payment users only, are projected to exceed 2.2 billion in 2025, up from 1.5 billion in 2020 according to a new study from Juniper Research.

    To stay ahead of the curve in 2022 and beyond, businesses can choose to set up and offer their customers the most suitable of the payment types.

    Check how we create custom fintech solutions for our clients.

    Read more

    Types of mobile payments

    Here are some of the most popular ways to pay with smartphones.

    • Credit and debit cards

    Buyers either use a physical card that is swiped through a card reader, or a mobile app that stores their card information. The benefit is that it is very secure, as the card information is encrypted and can only be accessed by authorized personnel.

    • Mobile wallets

    A mobile wallet is an app that stores buyer’s credit and debit card information and other sensitive data, for example, the shipping address and billing information. The benefit is that it allows paying with just a few taps on a smartphone.

    • Peer-to-peer payments

    This type gives one person a possibility to send money to another person via the digital medium i.e. mobile device.

    • Cryptocurrency payments

    Users can use digital currencies (for example, Bitcoin) to buy things online. The crypto payments are secure, as all transactions are encrypted and cannot be tampered with.

    • In-app purchases (IAP)

    Users can buy digital goods or services within an app without leaving it to complete the purchase. This is the type we suggest to check in depth.

    Understanding in-app purchasing before you choose Flutter

    To buy anything within the application, users typically start with setting up a payment method in advance, such as linking their credit card or Stripe account. Once this is done, they can simply click on the desired item and confirm the purchase.

    Adding this feature to an app can deliver various benefits

    • increase in revenue as users are more likely to make in-app purchases than to buy the app with one initial payment;
    • improved user experience due to providing a convenient way to access premium content or features;
    • valuable data about your users’ buying habits and preferences.

    The purchases can be divided into

    • Consumables: virtual currency, power-ups, and lives. These are generally one-time transactions, not recurring;
    • Non-consumables: premium content, for example, new levels or episodes, and unlocking features or functionality within an app, the items that do not get used up and can be purchased once and used indefinitely;
    • Subscriptions: access to content or services on an ongoing basis that can be either auto-renewing or non-renewing;
    • Bundles: multiple items at a discounted price, bundles can include consumables, non-consumables, and subscriptions;
    • Free trials: trying out a subscription-based service for a limited period of time before being charged for the subscription, the period can vary depending on the app.

    When it comes to payments of either type, users want to know that their information is safe and the transaction will be reliable. To meet this demand, businesses need to ensure that their systems are secure and the user experience is positive. Flutter for in-app purchases is a good match.

    Learn more about Flutter strengths and capabilities from Surf experience.

    Go to case studies

    Flutter for in-app purchases and more

    This open-source SDK is developed by Google and allows developers to implement high-quality, cross-platform apps with a single codebase. Flutter’s capabilities support six platforms: iOS, Android, MacOS, Windows, Linux, and web. Some of the benefits of using the framework include reduced development costs, shorter development timelines, and the ability to iterate quickly on designs.

    As a result, the Google-supported framework is quickly becoming a popular choice for companies who want to create world-class mobile apps with such successful examples as Alibaba Group, eBay, Nubank.

    Flutter in_app_purchase plugin

    If you are planning to add in-app purchase functionality to a mobile app, the in_app_purchase plugin is definitely worth considering. It is easy to use, supports both iOS and Android, and can help boost revenue and improve the user experience.

    The plugin can do many things from showing apps available in-app, loading user’s products within the application and sending users over to the underlying store (App Store or Google Play) for purchasing. It also provides an option of redeeming subscription offer codes (iOS 14 only).

    Flutter in-app purchase needs to be first configured in the corresponding stores according to the guidelines and then one of the two basic options can be used for the plugin:

    1. A generic, idiomatic Flutter API: in_app_purchase that supports most use cases for loading and making purchases.
    2. Platform-specific Dart APIs: store_kit_wrappers and billing_client_wrappers that expose platform-specific behavior and allow for more fine-tuned control when needed. With these APIs, the purchase-handling logic differs for the different storefronts.

    In the codelab your development team can find a more detailed guideline. But for complex customs solutions be sure to consult experts with the relevant experience.

    More Flutter advantages

    In terms of development the SDK offers more benefits

    • It is faster than traditional cross-platform frameworks as it doesn’t rely on a JavaScript bridge to communicate with the native platform.
    • Flutter’s widget library provides a wide range of customizable widgets that can be used to create beautiful and user-friendly apps.
    • The apps are compiled ahead of time, which means they start up faster and are more responsive than apps built with other frameworks providing a smooth and natural user experience.
    • The hot reload feature allows developers to make changes to their code and see the results instantly, without having to restart the app or lose any state.
    • The framework is open source and free to use, and has a large and active community of developers and contributors.

    Summing things up

    Flutter offers lots of possibilities for businesses planning to bring payments in their mobile iOS and Android products to the next level. Nevertheless, every project is unique and requires individual attention. This is at the very core of our approach — we find custom-tailored solutions for our clients. This refers to every aspect: starting from choice of  architecture solutions, UX design, technology stack, to forming a team and setting up processes. If it resonates with you, the Surf team will be glad to offer our assistance.