How we implemented the virtual fuel card project

Hello, Habr! We offer you to read the story of our colleague Konstantin Kulikov , the owner of the Virtual Card product, about the digital path of a corporate client. On the example of a case with the issue of fuel cards in a mobile application, Kostya explains how replacing analog processes with digital ones has simplified the life of Gazpromneft Corporate Sales customers. Reading takes: 7 minutes For whom: For PO, analysts and marketing specialists.







« »


– — - « 24», , «» . , — « ».


The client’s path (aka customer journey ) is the sequence of actions of the buyer or, again, the company's client. It is believed that this concept was first discussed in 1989. Then a group of researchers from the Tavistock Institute of Human Relations published the work “Customer Profiling: Getting into your Customer's Shoes”, in which it urged companies to put themselves in the shoes of customers in order to understand their experience - and, as a result, improve the quality of service.

Gradually, interactions with customers - from contacting technical support to receiving extracts and documents - began to “flow” into digital space. New channels for working with the audience appeared, the “digital” path of the client has already appeared, and now the digitalization of the customer journeyliterally everything is involved: from banks to hotels. We are developing digital services for the B2B segment - taxi fleets, delivery services and logistics companies that refuel at gas stations, use the services of car washes and car workshops from our partners.

For legal entities, the fleet can have from one to several thousand cars. When working with companies of this level, it is necessary to take into account many business processes at once, and during their digitalization, we were able to identify several problems.

For example, the leaders of transport companies and delivery services regularly experienced difficulties in paying fuel bills. They needed to form a payment order, send it to the bank and wait for the funds to be credited. The procedure could take several days, since the bank does not work on weekends. In addition, companies had to constantly monitor drivers so that they did not "chemically" with fuel costs.

To simplify all these processes, we have developed a personal account in which we fix the customers' fuel costs. Last year, we introduced the function of replenishing an account with a bank card. But on that section of the customer journey, which relates to working with maps, there was still room for maneuver and improvements. They were associated with the issuance and receipt of customer service cards.

How did we get to the project


A virtual card was created to solve several problems. Firstly, to reduce the same customer journey. Previously, a representative of a client company had to visit the office to sign a contract and get a fuel card, spend time in traffic jams and search for a parking place. And even if the client signed an offer on the site, there was no way to do without a visit to the office (to receive a card). After the representative of the client company received the cards according to the acceptance certificate, he needed to give them to the drivers: depending on the specifics of the business, this could take from one day to several weeks.

Secondly, the virtual card allowed to save the client from unnecessary expenses (customers paid once for the issuance of each plastic card). It was impossible to avoid these costs, since we, in turn, had to pay a commission to the payment system for the issuance of each card and royalties for using their technologies.

We wanted to create a solution that allows you to receive cards quickly and for free.. We have already formed an IT architecture for working with fuel-service cards. Therefore, we refused third-party box solutions that required significant customization, and cloud platforms - they did not meet the requirements of our security service for storing customer data. Having discussed the idea with contractors, we decided to expand our own system. As a result, we settled on the following stack: Oracle, Java, Go, PHP_Laravel, VUE_JS, Java / Kotlin, Swift and Siebel Tools.



In the process, we needed to make changes to the work of the existing CRM system and add the following elements to the data structure:

  • User hierarchy: driver and administrator. Each with their rights in a mobile application.
  • Contact persons control unit to “bind” the driver to the card number.
  • Integration with processing so that the CRM system can send requests for the release of a virtual card and display it in a mobile application.
  • Signs of operations in the commercial accounting system, so that it can be seen what actions are carried out on which cards.
  • A single fraud monitoring system so that our security service can stop fraudulent activities with fuel cards.

What has changed in terms of usability:

  • After adapting CRM, we connected a mobile development team to the project. She added NFC functionality so that drivers can pay for fuel by attaching a smartphone to the terminal at the gas station.
  • : , , «» . , customer journey. , , «» ( ) , «». «» .
  • , — SMS-. - .
  • , . , , , , . . : , , . .

- …


Several times, users complained about denials of service on a virtual card. We began to look for reasons and, to find them, we developed additional verification algorithms within the application - at the moment when the user forms the data for payment. We recreated the conditions of failed transactions, and found out that this is happening for one of two reasons:

  1. The time of the smartphone did not synchronize with world time, and this led to the generation of an invalid value for payment. We set a time check when the data for payment is being generated.
  2. The driver waited too long to bring his smartphone to the terminal. We finalized the MP, and now on the payment screen there is a progress bar that shows how much time is left for the driver to bring the smartphone to the terminal.

What is the result


Technical implementation of the project began in the second quarter of 2018. Since August 2019, we gradually began to open access to virtual cards for customers - the entire technical part of the work took about a year and three months.



The introduction of virtual fuel cards has made it easier for corporate customers. Now they don’t need to visit the office - virtual cards are issued instantly right in the application, just send the appropriate request. There are pluses for drivers - it has become easier for them to pay for fuel at gas stations. Previously, you had to carry a plastic card with you and remember the PIN code. Now - just attach the smartphone to the terminal. In addition, virtual cards do not need to be disposed of and, if necessary, can be transferred to another driver by “linking” his data to the card.

Now we are testing the system and expanding the functionality of the mobile application after feedback from customers . We are also adding support for QR codes, since the NFC module that is currently being used to debit funds is not available on all smartphones. To do this, we need to refine the control system at the gas station so that the terminals "understand" the data received using the QR code.

All Articles