Introduction

PlayWing, a gaming company based in France, required a robust solution to manage mobile micro payments on a global scale.

The company's goal was to scale its operations to accommodate a large user base that would make regular, small payments.

OPTI was tasked with developing a platform that could unify diverse payment systems across hundreds of countries and mobile carriers.

Challenges

The project presented several significant challenges, both technical and human.

  • Each mobile carrier and country had its own API with varying characteristics.
  • Users across different games in the portfolio needed a single payment journey.
  • The platform needed to handle billions of microtransactions efficiently.
  • The system had to be reliable with full traceability, including refunds.
PlayWing
"OPTI is a key partner which allowed us to go to market fast at a moment when our teams were in their infancy. Following attributes describe our collaboration with them: result-oriented, fast, proactive, excellent work ethics."
- PlayWing

First step: Unifying hundreds of APIs

The first step in delivering a solution was the standardization of interacting with hundreds of outside systems (mainly mobile carriers):

  • Support for HTTP and non-HTTP APIs.
  • Multiple authentication methods and encodings.
  • Multiple interaction patterns: send a request-read response, send a request-download response, send a request-wait-receive response.

OPTI performed high-level standardization:

  • modeling users (the millions of end clients).
  • modeling procedures (actions performed by or for a user, such as a payment, balance-check or refund).
  • modeling intermediary concepts for the transition from the high-level entities to the low-level APIs.

The standardization used UML and structured SQL databases.

HTTP API
JSON data format
SQL structured data
SSL and oAuth
Code patterns
User management
Provocări tehnice

Second step: Unifying user journeys and flows

The payment platform's purpose was to increase conversions by monitoring the sales journey. The team took into account:

  • Regulatory differences (country laws).
  • Payment-schedule differences: one-time charging, daily charging, weekly charging etc.
  • Balance checking.
  • Product granularity: The bought product in one of its thousand variants will be delivered after payment.

Some highlights:

Regulatory constraints
SMS payments
Repeat payments
Electronic product delivery
Separation of concerns
Common programming standards
Provocări tehnice

Third step: Deliver speed and scalability

The payment platform had to deal with hundreds of millions to billions of users and payments. Our top priorities were:

  • Payment speed
  • Payment regularity
  • Distributed nature and horizontal scaling
  • Logical oorganization of technical resources

OPTI measured and computed the impact of each module on the overall efficiency, choosing time-tested technologies. A scheduling engine was developed from scratch.

Some highlights:

Fast REST API
Scheduling engine
Horizontal scaling
Separation of concerns
Multithreading
Data-driven design
Provocări tehnice

Fourth step: Reliability and traceability

Payment systems require reliability and traceability features:

  • Payment history
  • Atomicity and reversibility
  • Ease of inspection and log access
  • Documentation and ease of modification.

OPTI designed a distinct noSQL data store to record the entire client-interaction history with all API interactions also logged.

The project documentation includes the programming standards, the programming structure and the API documentation.

Payment history
Full logging
NoSQL data store
Code documentation
API manual
Coding standards
The core technology was a custom Business Intelligence (BI) dashboard. By creating a centralized data catalog, we enabled aggregation from multiple sources (SQL, NoSQL, APIs) and provided real-time data visualization capabilities, essential for making swift decisions in the fast-paced gaming industry

Results

Billions of SMS and mobile payments

The system supports loads of up to one hundred mllion micropayments per day.

Millions of subscribers

Users are subscribed and charged at regular intervals using mobile and SMS payments.

Quality assurance

The system performs reliable balance checking. partial payments, payment retry, payment deferal, payment refund.

Real-time analytics

The systems is integrated with a powerful analytics platform allowing real-time inspection and reaction.

Local and timezone optimization

The system is optimized for country, operator and timezone efficiency, so as to charge users in the best time interval.

Cloud infrastructure

The system runs in the cloud on scalable infrastructure, allowing cost control and easy scaling.

References

Quick Questions

What was the technical complexity of the project?

The platform had to integrate with hundreds of mobile carriers, each with its own different API, and efficiently handle millions of daily microtransactions on a global scale.

What software architecture was used?

We used a microservices architecture, where each partner integration was an independent service. This allowed for horizontal scaling and much easier maintenance.

How was the reliability of transactions ensured?

Every transaction was designed to be atomic and reversible. We implemented a detailed logging system in a NoSQL database to ensure complete traceability and facilitate the investigation of any issues.

What is the TLDR (conclusion)?

The core technology was a custom Business Intelligence (BI) dashboard. By creating a centralized data catalog, we enabled aggregation from multiple sources (SQL, NoSQL, APIs) and provided real-time data visualization capabilities, essential for making swift decisions in the fast-paced gaming industry

What technologies and methodologies are involved?

Technologies: SQL, NoSQL, API, UML, PHP, Javascript, Java, AWS
Methodologies: Microservices architecture, Horizontal scaling, Scheduling engine, Data-driven design, Transaction management (atomicity, reversibility)

Marian Călborean

Article written by

Marian Călborean

Manager, Software Architect, PhD. in Logic, Fulbright Visiting Scholar (CUNY GC, 2023)

See on LinkedIn →
Interesat?

Want to know more?

Contact us