klient je největší bankou v České republice s více než 4,5 milionu klientů. V rámci strategie digitální transformace a posílení loajality se banka rozhodla vybudovat Program Partner — cashback systém integrovaný přímo do platebních karet, který klientům automaticky vrací peníze za nákupy u partnerských obchodníků. Žádná registrace, žádné sběrné kartičky — stačí platit kartou a cashback přichází sám.
Naším úkolem bylo navrhnout, implementovat a provozovat celou technologickou platformu od transakčního processing engine přes partner management až po klientský portál — a to vše v prostředí s nejvyššími nároky na bezpečnost, regulatorní compliance a dostupnost.
Výzva¶
Real-time v bankovním prostředí¶
Cashback systém musí zpracovat každou karetní transakci v reálném čase — rozhodnout, zda transakce kvalifikuje pro cashback u některého z 200+ partnerů, vypočítat správnou výši odměny podle aktuálních kampaní a pravidel, a připsat cashback na účet klienta. To vše při objemu přes 2 miliony transakcí denně s požadavkem na p99 latenci pod 50 milisekund.
V bankovním prostředí není prostor pro „eventually consistent”. Každá koruna musí sedět, každá transakce musí být auditovatelná a celý systém musí splňovat přísné regulatorní požadavky ČNB a evropské legislativy.
Integrace s core banking¶
klient provozuje komplexní core banking systém s desítkami interních platforem, které se vyvíjely dekády. Integrace nového cashback systému vyžadovala napojení na:
- Card processing systém — real-time feed karetních transakcí
- Account management — připisování cashbacku na klientské účty
- CRM a segmentace — personalizace nabídek podle klientského profilu
- George (internetové bankovnictví) — zobrazení cashback přehledu v klientské zóně
- Compliance systémy — AML screening, fraud detection, regulatorní reporting
Každý z těchto systémů měl vlastní API, vlastní SLA a vlastní tým. Koordinace integrace napříč desítkami týmů byla sama o sobě výzvou.
PCI DSS a regulatorní compliance¶
Systém pracuje s karetními daty a finančními transakcemi, což vyžaduje certifikaci PCI DSS Level 1 — nejpřísnější úroveň. To znamená:
- Šifrování dat at rest i in transit
- Přísné řízení přístupu s multi-factor autentizací
- Kompletní audit trail pro každou operaci
- Pravidelné penetrační testy a security audity
- Segmentace sítě a izolace cardholder data environment
- Compliance s GDPR pro osobní údaje klientů
Požadavky na dostupnost¶
Bankovní systém nemůže mít výpadek. Klienti platí kartou 24/7 a jakýkoli výpadek cashback systému by znamenal buď ztrátu transakcí (= finanční ztráta pro klienty) nebo nutnost komplexní rekonciliace. Požadavek byl 99.99% uptime — tedy maximálně 52 minut neplánované nedostupnosti za celý rok.
Řešení¶
CQRS + Event Sourcing¶
Architektura systému je postavena na principech CQRS (Command Query Responsibility Segregation) a Event Sourcing. Tento přístup je ideální pro finanční systémy, protože:
- Kompletní audit trail — každá změna stavu je zaznamenána jako immutable event. Kdykoliv lze rekonstruovat přesný stav systému v libovolném okamžiku
- Oddělení čtení a zápisu — write model optimalizovaný pro konzistenci, read model pro rychlé dotazy. Partner dashboard čte z denormalizované projekce, zatímco transakční engine zapisuje do event store
- Temporal queries — možnost ptát se „jaký byl stav účtu klienta X v pondělí v 14:32?” bez complex point-in-time recovery
- Replay a reprocessing — při opravě chyby v business logice lze přehrát historii událostí a přepočítat výsledky
Real-time matching engine¶
Jádrem systému je matching engine, který v reálném čase vyhodnocuje každou karetní transakci oproti aktivním cashback kampaním. Architektura matching engine:
- Transaction ingestion — příjem transakčních událostí z card processing systému přes dedikovanou message queue
- Enrichment — obohacení transakce o merchant metadata (kategorie, lokace, brand affiliation)
- Rule evaluation — vyhodnocení transakce oproti aktivním kampním pravidlům. Pravidla mohou být jednoduchá (5% cashback u partnera X) i komplexní (10% cashback na první nákup nad 500 Kč u partnera Y v kategorii Electronics pro klienty segmentu Premium)
- Cashback calculation — výpočet přesné výše cashbacku s ohledem na limity (per-transakce, per-den, per-měsíc, per-kampaň)
- Settlement — připisování cashbacku na klientský účet s double-entry accounting
Matching engine zpracovává průměrně 25 000 transakcí za minutu s p99 latencí konzistentně pod 50ms. Při peak load (Black Friday, vánoční sezóna) systém zvládá 3× běžný objem bez degradace výkonu.
Campaign management platform¶
Partnerský portál umožňuje obchodníkům spravovat své cashback kampaně:
- Self-service tvorba kampaní — definice pravidel, cílových segmentů, časového rozsahu a rozpočtu
- Real-time analytics — dashboard s live metrikami kampaně (počet aktivací, objem transakcí, vyplacený cashback, ROI)
- A/B testing — možnost testovat různé úrovně cashbacku a měřit dopad na konverzi
- Budget management — automatické pozastavení kampaně při vyčerpání rozpočtu
- Reporting — detailní reporty pro finanční oddělení partnera s exportem do standardních formátů
Klientská zkušenost¶
Pro koncové klienty České spořitelny je cashback plně integrován do existujících digitálních kanálů:
- George (internetové bankovnictví) — přehled získaného cashbacku, aktivní nabídky, historie
- George mobilní app — push notifikace o získaném cashbacku okamžitě po platbě
- Personalizované nabídky — ML model doporučující relevantní partnerské nabídky na základě transakční historie a preferencí klienta
- Gamifikace — challenges a streaky motivující klienty k aktivnímu využívání cashback programu
Architektura¶
Technický stack¶
Backend je implementován v C# na .NET 8 platformě — standard pro enterprise finanční systémy díky výkonu, type safety a bohatému ekosystému. Klíčové architektonické rozhodnutí:
- Microservices — 12 samostatných služeb (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 — primární databáze s Always On availability groups pro high availability
- Redis — distributed cache pro hot data (aktivní kampaně, merchant metadata, rate limiting)
- RabbitMQ — message broker pro asynchronní komunikaci mezi službami
- Keycloak — identity a access management s SSO integrací do bankovních systémů
Deployment a infrastruktura¶
Systém běží na Azure Kubernetes Service v dedikovaném subscription s přísnými security polícy:
- Network isolation — private AKS cluster s Azure Private Link pro všechny managed služby
- Encryption — Azure Key Vault pro správu secrets, TLS everywhere, encryption at rest s customer-managed keys
- Multi-zone deployment — workloady rozprostřené přes 3 availability zones
- Disaster recovery — warm standby v sekundárním regionu s RPO < 1 minuta a RTO < 15 minut
- Compliance — Azure prostředí certifikované pro PCI DSS, SOC 2 a ISO 27001
Observability a monitoring¶
V bankovním prostředí je monitoring kritický. Náš observability stack zahrnuje:
- Prometheus + Grafana — technické i business metriky na jednom místě
- Structured logging — JSON logy s correlation ID pro end-to-end tracing
- Real-time alerting — alerting na business anomálie (neobvyklý pokles transakcí, spike v error rate, rozpor v bilanci)
- SLA dashboards — real-time přehled plnění SLA pro každého partnera
- Audit logging — immutable audit trail pro každou operaci s osobními údaji nebo finančními daty
Security¶
Bezpečnost je v bankovním prostředí na prvním místě:
- Zero trust networking — mutual TLS mezi všemi službami, network policies v Kubernetes
- Secrets management — Azure Key Vault s automatic rotation
- Vulnerability management — automatické skenování dependencies a container images v CI/CD pipeline
- Penetrační testy — čtvrtletní external pen testy od nezávislého auditora
- Incident response — definovaný IR proces s SLA pro různé severity levels
Výsledky¶
Business metriky¶
Program Partner byl spuštěn do plného provozu za 8 měsíců od zahájení projektu — rekordně krátká doba pro projekt tohoto rozsahu v bankovním prostředí. Výsledky po prvním roce provozu:
- 15% nárůst aktivace karet — klienti, kteří dříve platili hotově, přešli na kartu kvůli cashback programu
- 200+ partnerů — od velkých retailových řetězců přes e-shopy až po lokální podniky
- 2M+ transakcí denně — zpracováno bez jediného výpadku
- 99.99% uptime — celkový downtime za první rok provozu: 47 minut (plánovaná údržba)
- NPS score 72 — výrazně nad bankovním průměrem, cashback program se stal jedním z nejlépe hodnocených produktů ČS
Technické metriky¶
- p99 latence < 50ms — konzistentně splněno i při peak load
- Zero data loss — ani jedna transakce nebyla ztracena nebo špatně zpracována
- < 15min RTO — ověřeno při DR drill, reálný failover proběhl za 8 minut
- 100% audit compliance — úspěšně prošlo PCI DSS auditem napoprvé
Finanční dopad¶
Cashback program přinesl České spořitelně měřitelný finanční přínos:
- Zvýšení objemu karetních transakcí — vyšší interchange fee příjmy
- Snížení churn rate — klienti s aktivním cashbackem mají o 23% nižší pravděpodobnost odchodu
- Nový revenue stream — partneři platí za účast v programu, což vytváří nový zdroj příjmů
- Cross-sell příležitosti — cashback data pomáhají identifikovat příležitosti pro nabídku dalších produktů
Technologie¶
Projekt je postaven na enterprise-grade technologickém stacku. C# a .NET 8 zajišťují výkon a type safety kritickou pro finanční operace. SQL Server s Always On availability groups poskytuje vysokou dostupnost databázové vrstvy. Redis slouží jako distributed cache pro sub-millisecond přístup k hot datům. RabbitMQ zajišťuje spolehlivou asynchronní komunikaci mezi microservices. Keycloak řeší identity management s integrací do bankovního SSO. Celý systém běží na Azure Kubernetes Service s Grafana a Prometheus monitoring stackem.