Hey @MarkWallbang, welcome to Flow!
You’ve touched on two crucial topics that are top of mind for many developers.
Use Flow Token with Blocto/Ledger Wallets. Users will have to create a wallet, buy Flow Tokens and use these in the app to buy items. This has the advantage that we do not have to implement own payment systems as a third party does this for us. On the other hand, users would have to create another account and do additional steps until purchase.
The Flow Client Library (FCL) is designed to be the common interface between applications and wallets. The goal here is to enable a rich ecosystem where users can choose the wallet that is most suitable for them, and app developers don’t need to build bespoke integrations for each one.
It also makes it so app developers don’t need to worry about creating custody and payments solutions for their users. Both of these problems are really hard to solve, mainly because it involves a lot of security and regulatory work to create a good user experience.
This option would have the advantage that users do not need to leave our app to make payments. The disadvantage is that we have to implement our own payment systems. Also, we asked ourselves if we are allowed to sell fungible tokens to users? When we are the only ones selling the tokens, this would be kind of counter-intuitive as this would be very “centralized” again. When implementing these tokens, would we be able to prevent users to trade these tokens among themselves?
FCL is trying to make it as easy as possible for users to make payments without leaving an application. For example, instead of being directed to a separate page, the user’s wallet would pop up inside the application and allow them to choose their preferred payment method. It should even be possible to accept credit card payments this way.
As far as creating your own token, it’s no easy task. Selling the token is one thing, but it’s extremely difficult to provide an “off-ramp” for cryptocurrency (i.e. give your users a way to convert your token to cash). It requires a money services license in most jurisdictions around the world, and the laws are different for each country.
We recently announced the FUSD stablecoin as a solution to this exact problem: FUSD Stablecoin Available on Flow Testnet
Once it launches, it will allow you to accept stable payments in your app and give your users a straightforward way to convert cash to/from crypto using existing on and off ramps