We launch softPOS. Why pilots are useful not only for business, but also for developers


At QIWI, we are developing several fintech products at once. Of course, the most famous for the general user are our payment terminals and everything connected with them, as well as the QIWI Wallet application. But this is the tip of the iceberg: we also have good processing, which we are ready to provide to clients and customize it if necessary, and much more. Plus, we are trying to actively develop products that are not related to the wallet.

And one fine day we realized that we have excellent expertise in everything related to the core-specifics of the payments market, but our payment services are presented only online. And we simply do not have such a thing so that offline, in the store, we simply do not have to come and pay for the goods, as usual by touching the terminal with the card.

So the idea to launch a pilot with softPOS came up. In the case of classic POS terminals, the thing is that this market is very commoditized: there are many players, they are large, the conditions are quite good for everyone. And it turns out that breaking into the POS market and trying to compete there is more expensive. Of course it is possible. For a while, and quite short. In general, we skipped the stage with POS and began to look directly towards softPOS. You know, like in China: payment terminals were not very common there, people somehow immediately came to QR codes and pumped payments in national messengers. Here and then stepped over the step.

But let’s start in order.

What is softPOS and for whom is it useful?

This is the ability to turn a smartphone with NFC into a payment terminal using software, as the name implies. From the point of view of the market, this is a very crude technology, it is not used in the Russian Federation (at best, there are a couple of pieces in the base pilot phase). In real life, this cannot yet be found. That is, the couriers who come to you, in the case of non-cash payment, either take out a POS terminal to which you apply the card, or ask to transfer funds by phone number.

But for the courier to just take it and offer to lean the card against his smartphone – there is no such thing yet.

It is possible to do this ourselves from scratch, but there are a number of problems with time: while we are going through certification (the process is quite long), someone more agile will be able to offer the market their solution. Therefore, we decided to take the path of partnership with someone who has been stewing in the right topic long enough to get a handle on and understand the specifics of the industry and user requests.

So we pretty quickly reached out to our old friends from 2can, with whom we had already done a number of pilots and projects. It turned out that the guys brought their softPOS almost to a combat state, right now take it and screw it somewhere. And it was decided to make an MVP.

The main target audience of softPOS is small and medium-sized businesses. A large one is already doing well (that’s why it is a large one), it is easier there to purchase the required number of physical terminals and pay for acquiring. But the SME segment is quite real. Here we mean various delivery services, cleaning, beauty salons, HoReCa and the like.

But here’s the main thing. The very scenario in which you bring a card with your hard-earned money to the courier’s smartphone is a serious problem of trust. Firstly, no one is particularly used to this, the necessary user experience has not yet been developed, some are still wary of mobile terminals. Secondly, the fact that in this case it is not yet necessary to enter a PIN-code for payment does not weakly increase this distrust. But when the solution is released to a large audience, it will become possible to enter a PIN.

And somehow it is necessary to test the technology and find bugs, running it on live users. Therefore, it was decided to roll this MVP to some users of our QIWI Wallet. The audience there is responsive – they actively feed us because they want to make the product better.

Integrations, technologies and approach

So, as input, we had:

  • Tap2go app by 2can
  • QIWI platform (a set of technologies that allow us to quickly launch the pilots we need)
  • 3 persons
  • Desire to make MVP

So far, it works only with Android – there is an opportunity to fully work with NFC, as if you had not a smartphone, but just a regular NFC module, for which we can write any scripts. With Apple, everything is more complicated, there is still no normal API access to NFC for something more serious than just reading a tag and the like. So today we are working with Android.

So, we started by implementing a minimal interface and making an API prototype that allows us to process payments normally without cancellations. We started in November 2020, and finished everything to a working state until about the end of February 2021. All this time we actively communicated with the developers from tap2go, for which we are grateful to them.

Such MVPs, in my opinion, are a very necessary thing for a company. It not only makes it possible to do something new, launch a new service and bring some benefit to the company, the main thing is that it allows developers and everyone involved in the process to noticeably refresh themselves and try out the most new and previously unused technologies in battle. Because when you work with processing for a long time, for example, your technology stack and possible software versions are limited. You can’t just go to the developers and say – Egegey, guys, look, what a cool thing I’ve read about, it’s productive! And roll it over. Even if you really want to.

And here is a product that is almost guaranteed to contain bugs, in which you can use the maximum freshness you can reach. And you will get nothing for it.

For example, here we decided to use Cockroach instead of Oracle / Postgres. Cockroach is much easier to get up and running than Oracle, we get a kind of quickstart. The long term benefit is that it is a distributed database. If we have good experience of using it on the pilot, we can reuse it on our other projects. The same Postgres works in one instance, to create a distributed cluster on it you will need money for complex boxed solutions and a little nerves. And Cockroach is a distributed Cloud Ready out of the box.

In our case, a lot of time and effort was saved by the fact that we are actively using Kubernetes: you need to quickly deploy an internal cloud – take it and deploy it, no need to negotiate with the operation department and so on. Although, rather, the correct understanding of the product approach in the company helped here even more, you know, when they just let them work normally in a short time. We have developers, testers, operations and lawyers in a single chat room, if necessary, you can quickly solve everything, and not go to 10 approvals to 5 different directors.

In addition, in terms of speed, it helped that our processing is not some kind of abstract data bus, but its own complex tool that allows you to cut such things as quickly as possible. In another bank, this would take much longer.


Right now, this is an invite-only limited pilot, you can’t just fit in. Several devices are connected, the owners of which can replenish their QIWI Wallet by touching the card. So far, one of the main inconveniences for the user is the need to keep two applications on the device at once – both our Wallet and the tap2go application. Although there is integration between them, you understand that one application in this case is much better than two.

So it will be in the future, all functions will be transferred to the Wallet, and softPOS can be used seamlessly.

In addition, we plan to add a number of functions to the application for the self-employed – from quickly opening an account and registering with the Federal Tax Service, to convenient registration of income, visual reports and notifications. And also a number of useful things for small and medium-sized businesses.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *