How we accelerated the withdrawals from STS Pay 3 times - architecture of the solution

Posted: 2021-09-28

In April Google Cloud opened its new region in Poland. Solwit had the pleasure of presenting the results of its cooperation with two clients using Google solutions. One of them was STS Gaming Group. Its CTO, Wojciech Sznapka, talked to Michał Zieniewicz, Cloud Architect at Solwit. They talked about the details of implementation and integration of Google Cloud technologies, used to optimize and boost business processes in the company and benefit its clients.

Do you prefer to watch the video? You will find the link at the end of the article. Interested in a full case study? Read now!

Michał Zieniewicz, Solwit: Welcome everybody to our session, where we will tell you how to use Google services to build a competitive advantage for your business. My name is Michał Zieniewicz, I am Cloud Architect at Solwit. Here with me today is Wojtek Sznapka from STS, a popular sports betting company loved by all the winners. Hi Wojtek.

Wojciech Sznapka, STS: Hi Michał.

Michał, Solwit: I don’t know if you’ve heard, but Solwit is celebrating its 10th birthday this year.

Wojciech, STS: Oh, congratulations!

Michał: Thanks! We have worked with Cloud since the beginning. For 10 years already some of us have walked in the clouds so that others could stand firm on the ground, developing and testing software for various business areas, such as artificial intelligence, image recognition, data warehouses and analytics, and integration and optimization of cloud environments. We have about 350 engineers on board, both testers and developers, many of them Google-certified “meteorologists”. I mean cloud specialists. Any celebrations at your company?

Wojciech, STS: Not at the moment, but next year we are going to be 25 years old, so a huge party will be in order if there are no restrictions.

Michał, Solwit: Could you tell us a few words on STS?

Wojciech, STS: Sure. STS is the biggest sports betting company in Poland. We have nearly 50% share in the market. We have operated for 24 years and for eight years we have worked online. We offer live and pre-match bets., we cover e-sports, virtual sports, and so-called bet games, betting on card game results. That is what we do in Poland, but for two years already we have expanded abroad. Our STS Bet brand is present in Great Britain, under the UKGC license, and in the European countries allowing the MGA license. That’s STS in short.

Michał, Solwit: Great. Now we know who we are, so you can tell us where the idea of the Payments API came from.

Wojciech, STS: Sports betting is a fairly straightforward business. Participants put in some money, they bet, and either lose or win. They can pay the money out, or continue to operate with it. As you can see the financial transactions are a big part of it and they require a lot of control and software. Our technical department has been developing a system for payout automation, the STS Pay, for several years already.

Before we started to work with you and Google the whole process of transferring the winnings to our customers’ accounts was done manually. After the packages were created, the transfers were authorized automatically by the SSIO system, or the package had to be checked by the staff. Later it was necessary to collect such a transfer package and “drop” it at the right bank. It took a lot of time and manual work. So we decided to use the cloud and integrate directly with banks using one API.

Michał, Solwit: Could you share some details regarding the architecture? What did Payments API have to integrate with?

Wojciech, STS: Payments API integrates with 8 banks in Poland and provides a REST API for our STS Pay application. It is hosted by App Engine. We use App Engine Standard and App Engine Flex because the entire communication requires quite complicated cryptographic algorithms, which are not available, let’s say, out of the box. So, Flex proved necessary in this case. We also include Compute Engine in our stack and it requires a static IP. A very important thing is the integration with qualified signature card readers because every package needs to be authorized and signed cryptographically.

Michał, Solwit: Is that why you decided to use the cloud solution?

Wojciech, STS: There were a few factors. One was scaling. STS and the sports betting industry, in general, operate in a very uneven regime. During the Champions League, or when the national team is playing, or other interesting events are taking place, the traffic is quite big. In other periods it can be rather small. In this case, scaling was provided by App Engine at no additional cost. Security was also important, and Google offers many different levels of security. And of course, we don’t need to invest in infrastructure to start using the system, which we do not have to maintain. Everything is done for us.

Michał, Solwit: Great. You have talked about the architecture and changes. I might add, the first concept for this solution assumed full automation and scalability of the package transfer, but it couldn’t be done due to legal regulations. The law requires that every package needs to be accepted by “a protein-based interface” – a human. This forced us to make some changes to the architecture and the process alike. Then, there appeared operators who accept the packages, an application integrating with the qualified signature readers, or other tools used by banks to authorize transfers. Static IP was another requirement of some banks – when connecting to the bank, only this specific IP is authorized. Compute Engine solved this problem.

What was interesting, banks use signatures or certificates to connect to API which is totally fine and typical. But there was a problem with some banks because they didn’t allow more than one such certificate. It made testing much more difficult. Some banks don’t make a test API for integration available, so testing needs to be done in the production banking environment. We solved the problem with testing accounts which allowed us to perform such operations. It is interesting that some banks charge for every use of their API, so our bold assumption to check packages every couple of seconds generated quite a cost due to intensive traffic. We realized that only at the end of implementation, after the first deployments, and solving it was very simple – we changed the configuration not to check the status so often. It is still fine business-wise, and the costs of API usage have been reduced significantly.

Tell us, how did Payments API influence your business? 

Wojciech, STS: I can’t say a bad thing about it. And that’s how it was supposed to be. First of all, the time required to finalize payouts has been reduced from 20 minutes, which wasn’t a bad result anyway, as it was the fastest system in the market, to nearly 7 minutes. And that is from sending a transfer request to the moment the money appears on the bank account.

Michał, Solwit: So, you are the only company in Poland that transfers the winnings so quickly.

WS: Yes, that is very important for our client’s satisfaction. Imagine that you are in a pub with your friends, and you bet, the match ends, you win. Now you can simply send the payout request and in a matter of minutes, you can use your money.

It was our main motivation behind this solution. Secondly, we have simplified the payout procedure a lot. Before we did that people working at the finance department had been responsible for obtaining the packages, logging in to the proper bank, loading the packages, and signing them at the bank. With 8 banks there was a lot of logging in and out, The new solution allows the packages to be sent faster because it happens automatically. We have a unified process of signing the packages with qualified signatures which makes work easy and allows us to allocate the resources in different places. The most important thing is scalability. Many huge events are coming. There were the Champions League finals in November, now we’re waiting for UEFA Euro, which is always a busy period for every betting company, and especially for us. Google’s scaling simply works to our advantage.

When it goes to API costs, now we are in much more control because in Google we can automatically filter Stack driver logs and put them to BigQuery for further analysis. BigQuery is our main data warehouse in STS, so everything is nicely put into a logical whole. It is very useful. The person responsible for payouts can simply enter BigQuery, see how many queries we generate, if we are nearing the limit, where the limits are, or if any payments are due. It helps a lot.

Michał, Solwit: So, the fact that Google includes Payments API has given you a ready-made functionality nobody had even thought about before?

Wojciech, STS: Exactly. It was surprising because the whole configuration took about 30 minutes, where manual log parsing, loading to the database, and querying would take several hours of development. Integration and all Google elements working together were of huge help to us.

Michał, Solwit: It shows that using cloud technologies, especially Google Cloud, gives you more possibilities than you initially think. That is awesome, an awesome case.

Wojciech, STS: Exactly.

Michał, Solwit: Thank you all for your attention. I hope this presentation will inspire some of you to use Google cloud services to reach your own business goals. If you have any questions or comments, just get in touch with us. And thank you Wojtek for your time, see you later.

Wojciech, STS: Thanks!

Do you want to boost your business using cloud, just like STS? Drop us a line!

the form below.
We will contact you to set up
a conversation at the convenient
moment for you.