_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN
Let's talk

Cashback Engine for a Leading Czech Bank

Leading Czech bank

2M+
Transactions per day
1.5M
Active cards
200+
Partners
<50ms
p99 latency

The client is the largest bank in the Czech Republic with more than 4.5 million customers. As part of its digital transformation strategy and loyalty reinforcement, the bank decided to build Partner Programme — a cashback system integrated directly into payment cards that automatically returns money to customers for purchases at partner merchants. No registration, no loyalty cards — just pay by card and cashback arrives on its own.

Our task was to design, implement, and operate the entire technology platform — from the transaction processing engine through partner management to the customer portal — all within an environment with the highest demands on security, regulatory compliance, and availability.

Challenge

Real-time in a Banking Environment

The cashback system must process every card transaction in real time — deciding whether the transaction qualifies for cashback with any of the 200+ partners, calculating the correct reward amount according to current campaigns and rules, and crediting the cashback to the customer’s account. All of this at a volume of over 2 million transactions per day with a p99 latency requirement below 50 milliseconds.

In a banking environment there is no room for “eventually consistent”. Every crown must balance, every transaction must be auditable, and the entire system must comply with strict regulatory requirements of the Czech National Bank (ČNB) and European legislation.

Core Banking Integration

The client operates a complex core banking system with dozens of internal platforms that have evolved over decades. Integrating the new cashback system required connecting to:

  • Card processing system — real-time feed of card transactions
  • Account management — crediting cashback to customer accounts
  • CRM and segmentation — personalisation of offers based on customer profile
  • George (internet banking) — displaying the cashback summary in the customer zone
  • Compliance systems — AML screening, fraud detection, regulatory reporting

Each of these systems had its own API, its own SLA, and its own team. Coordinating the integration across dozens of teams was itself a challenge.

PCI DSS and Regulatory Compliance

The system works with card data and financial transactions, which requires PCI DSS Level 1 certification — the strictest level. This means:

  • Encryption of data at rest and in transit
  • Strict access control with multi-factor authentication
  • Complete audit trail for every operation
  • Regular penetration tests and security audits
  • Network segmentation and isolation of the cardholder data environment
  • GDPR compliance for customer personal data

Availability Requirements

A banking system cannot go down. Customers pay by card 24/7 and any outage of the cashback system would mean either lost transactions (= financial loss for customers) or the need for complex reconciliation. The requirement was 99.99% uptime — a maximum of 52 minutes of unplanned unavailability per year.

Solution

CQRS + Event Sourcing

The system architecture is built on the principles of CQRS (Command Query Responsibility Segregation) and Event Sourcing. This approach is ideal for financial systems because:

  • Complete audit trail — every state change is recorded as an immutable event. The exact state of the system at any point in time can be reconstructed at any moment
  • Separation of reads and writes — write model optimised for consistency, read model for fast queries. The partner dashboard reads from a denormalised projection, while the transaction engine writes to the event store
  • Temporal queries — ability to ask “what was the state of customer X’s account on Monday at 14:32?” without complex point-in-time recovery
  • Replay and reprocessing — when a bug in business logic is fixed, the event history can be replayed and results recalculated

Real-time Matching Engine

The core of the system is a matching engine that evaluates every card transaction in real time against active cashback campaigns. Matching engine architecture:

  1. Transaction ingestion — receiving transaction events from the card processing system via a dedicated message queue
  2. Enrichment — augmenting the transaction with merchant metadata (category, location, brand affiliation)
  3. Rule evaluation — evaluating the transaction against active campaign rules. Rules can be simple (5% cashback at partner X) or complex (10% cashback on the first purchase over CZK 500 at partner Y in the Electronics category for Premium segment customers)
  4. Cashback calculation — computing the exact cashback amount with respect to limits (per transaction, per day, per month, per campaign)
  5. Settlement — crediting cashback to the customer’s account with double-entry accounting

The matching engine processes an average of 25,000 transactions per minute with a p99 latency consistently below 50ms. During peak load (Black Friday, Christmas season) the system handles 3× the normal volume without performance degradation.

Campaign Management Platform

The partner portal allows merchants to manage their cashback campaigns:

  • Self-service campaign creation — defining rules, target segments, time range, and budget
  • Real-time analytics — dashboard with live campaign metrics (activations, transaction volume, cashback paid out, ROI)
  • A/B testing — ability to test different cashback levels and measure the impact on conversion
  • Budget management — automatic campaign suspension when the budget is exhausted
  • Reporting — detailed reports for the partner’s finance department with export to standard formats

Customer Experience

For Česká spořitelna’s end customers, cashback is fully integrated into existing digital channels:

  • George (internet banking) — overview of earned cashback, active offers, history
  • George mobile app — push notifications about earned cashback immediately after payment
  • Personalised offers — ML model recommending relevant partner offers based on transaction history and customer preferences
  • Gamification — challenges and streaks motivating customers to actively use the cashback programme

Architecture

Technology Stack

The backend is implemented in C# on the .NET 8 platform — the standard for enterprise financial systems thanks to its performance, type safety, and rich ecosystem. Key architectural decisions:

  • Microservices — 12 independent services (Transaction Processor, Matching Engine, Campaign Service, Settlement Service, Notification Service, Partner Portal API, Client API, Identity Service, Reporting Service, Reconciliation Service, Audit Service, Admin API)
  • SQL Server — primary database with Always On availability groups for high availability
  • Redis — distributed cache for hot data (active campaigns, merchant metadata, rate limiting)
  • RabbitMQ — message broker for asynchronous communication between services
  • Keycloak — identity and access management with SSO integration into banking systems

Deployment and Infrastructure

The system runs on Azure Kubernetes Service in a dedicated subscription with strict security policies:

  • Network isolation — private AKS cluster with Azure Private Link for all managed services
  • Encryption — Azure Key Vault for secret management, TLS everywhere, encryption at rest with customer-managed keys
  • Multi-zone deployment — workloads spread across 3 availability zones
  • Disaster recovery — warm standby in a secondary region with RPO < 1 minute and RTO < 15 minutes
  • Compliance — Azure environment certified for PCI DSS, SOC 2, and ISO 27001

Observability and Monitoring

In a banking environment, monitoring is critical. Our observability stack includes:

  • Prometheus + Grafana — technical and business metrics in one place
  • Structured logging — JSON logs with correlation ID for end-to-end tracing
  • Real-time alerting — alerting on business anomalies (unusual drop in transactions, spike in error rate, balance discrepancy)
  • SLA dashboards — real-time overview of SLA compliance for each partner
  • Audit logging — immutable audit trail for every operation involving personal or financial data

Security

Security is paramount in the banking environment:

  • Zero trust networking — mutual TLS between all services, network policies in Kubernetes
  • Secrets management — Azure Key Vault with automatic rotation
  • Vulnerability management — automated scanning of dependencies and container images in the CI/CD pipeline
  • Penetration tests — quarterly external pen tests by an independent auditor
  • Incident response — defined IR process with SLA for different severity levels

Results

Business Metrics

Partner Programme was launched into full operation in 8 months from project start — a record-short time for a project of this scope in the banking environment. Results after the first year of operation:

  • 15% increase in card activation — customers who previously paid in cash switched to cards because of the cashback programme
  • 200+ partners — from large retail chains through e-shops to local businesses
  • 2M+ transactions per day — processed without a single outage
  • 99.99% uptime — total downtime in the first year: 47 minutes (planned maintenance)
  • NPS score 72 — significantly above the banking average; the cashback programme became one of Česká spořitelna’s highest-rated products

Technical Metrics

  • p99 latency < 50ms — consistently met even under peak load
  • Zero data loss — not a single transaction was lost or incorrectly processed
  • < 15min RTO — verified during DR drill; actual failover completed in 8 minutes
  • 100% audit compliance — passed PCI DSS audit on the first attempt

Financial Impact

The cashback programme brought Česká spořitelna a measurable financial benefit:

  • Increased card transaction volume — higher interchange fee revenues
  • Reduced churn rate — customers with an active cashback have a 23% lower probability of leaving
  • New revenue stream — partners pay for participation in the programme, creating a new income source
  • Cross-sell opportunities — cashback data helps identify opportunities to offer additional products

Technology

The project is built on an enterprise-grade technology stack. C# and .NET 8 deliver the performance and type safety critical for financial operations. SQL Server with Always On availability groups provides high availability at the database layer. Redis serves as a distributed cache for sub-millisecond access to hot data. RabbitMQ ensures reliable asynchronous communication between microservices. Keycloak handles identity management with integration into the banking SSO. The entire system runs on Azure Kubernetes Service with a Grafana and Prometheus monitoring stack.

Technologie

C#.NETSQL ServerAzureKubernetesRedisRabbitMQKeycloakGrafanaPrometheus

Chcete podobný výsledek?

Řekneme vám, jak na to.

Domluvit schůzku