Generated: 2025-01-06 Scope: 741 active repositories across 10 domains Purpose: Unified view of Planet's payment processing architecture
Planet operates a comprehensive payment processing platform handling card-present (POS), card-not-present (e-commerce), and alternative payment methods across multiple geographies. The architecture spans 10 major domains with distinct responsibilities:
| Domain | Purpose | Key Technology |
|---|---|---|
| Portal | Unified merchant portal & APIs | .NET Core, MongoDB, Kafka |
| DFS/Datatrans | E-commerce gateway, tokenization, 3DS | Java/Spring Boot, MySQL |
| PSW/Acquiring | Core card scheme processing | .NET Framework, SQL Server |
| NAS/Routing | Transaction routing to acquirers | Java, ISO 8583 |
| Integra | Card-present terminal gateway | .NET, ISO 8583 |
| Terminal Engineering | TMS, firmware, terminal SDKs | Java/Kotlin, PostgreSQL |
| Settlement/FIBRE | Clearing, settlement, reconciliation | .NET Core, SQL Server |
| Tax Free | VAT refund processing | .NET, SQL Server |
| Data Engineering | Data platform, analytics | Flink, Kafka, Snowflake |
| Infrastructure | Kubernetes, ArgoCD, IaC | Terraform, Helm |
┌─────────────────────────────────────────────────────────────────────────────────────┐
│ CHANNELS │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌───────────┐ │
│ │ Merchants │ │ POS/ATM │ │ E-commerce │ │ Mobile │ │ Partners │ │
│ │ (Portal) │ │ Terminals │ │ Websites │ │ Apps │ │ (APIs) │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └─────┬─────┘ │
└─────────┼────────────────┼────────────────┼────────────────┼────────────────┼───────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│ GATEWAY LAYER │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Planet Portal │ │ Integra FE │ │ DFS/Datatrans │ │
│ │ (pp-*) │ │ (pgid-*) │ │ (uppadmin-*) │ │
│ │ ───────────── │ │ ───────────── │ │ ───────────── │ │
│ │ • Payments API │ │ • ISO 8583 │ │ • 3DS Auth │ │
│ │ • Reports API │ │ • Terminal Mgmt│ │ • Tokenization │ │
│ │ • Kafka Events │ │ • RabbitMQ │ │ • Pay-by-Link │ │
│ └────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘ │
└───────────┼─────────────────────┼─────────────────────┼─────────────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│ ROUTING & PROCESSING LAYER │
│ ┌──────────────────────────────────────────────────────────────────────────────┐ │
│ │ NAS (Acquirer Switcher) │ │
│ │ • 65+ Processor Modules (PGAS_NAS_proc-*) │ │
│ │ • Protocol Translation (ISO 8583 variants) │ │
│ │ • BIN-based Routing │ │
│ └────────────────────────────────────┬─────────────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────────────────┼─────────────────────────────────────────┐ │
│ │ ▼ ▼ │ │
│ │ ┌──────────────────────┐ ┌──────────────────────┐ │ │
│ │ │ PlanetSwitch (PSW) │ │ 3rd Party Acquirers │ │ │
│ │ │ (Planet Acquiring) │ │ (Visa Direct, TSYS, │ │ │
│ │ │ ───────────────── │ │ Worldpay, etc.) │ │ │
│ │ │ • Card Schemes │ └──────────────────────┘ │ │
│ │ │ • HSM Integration │ │ │
│ │ │ • DCC/FX │ │ │
│ │ └──────────┬───────────┘ │ │
│ └───────────────┼──────────────────────────────────────────────────────────────┘ │
└──────────────────┼──────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│ CARD SCHEMES & NETWORKS │
│ ┌─────────┐ ┌────────────┐ ┌──────┐ ┌─────┐ ┌────────┐ ┌──────────┐ │
│ │ Visa │ │ MasterCard │ │ Amex │ │ JCB │ │ Diners │ │ UnionPay │ │
│ └─────────┘ └────────────┘ └──────┘ └─────┘ └────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│ SETTLEMENT & FUNDS FLOW │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ FIBRE │ │ MAS │ │ AMPS │ │
│ │ ─────────── │ │ ─────────── │ │ ─────────── │ │
│ │ • Invoicing │ │ • Clearing │ │ • Data Consol. │ │
│ │ • Billing │ │ • Settlement │ │ • File Delivery│ │
│ │ • Payment Files│ │ • Reconcile │ │ • Reporting │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────────────┐
│ DATA PLATFORM │
│ ┌────────────────────────────────────────────────────────────────────────────┐ │
│ │ DIP (Data Integration Platform) - Flink + Kafka Streaming │ │
│ │ Sources: Datatrans, Integra FE, NAS, PSW, FIBRE, Web2Pay │ │
│ └────────────────────────────────────────────────────────────────────────────┘ │
│ ▼ │
│ ┌────────────────────────────────────────────────────────────────────────────┐ │
│ │ Snowflake Data Warehouse + dbt Models + PowerBI │ │
│ └────────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────┘
Repositories: pp-payments-api, pp-reports-api, pp-transaction-consumer, pp-ui, pp-ui-checkout Tech Stack: .NET 8, MongoDB, Redis, Kafka (KafkaFlow), Hangfire (Cosmos)
Key Integrations:
| Target Service | Auth Method | Purpose |
|---|---|---|
| Datatrans Gateway | Basic Auth (API Key) | E-commerce processing |
| Integra FE | Auth0 Bearer Token | Card-present processing |
| Digital Gateway (DGW) | API Key + Auth Token | APM processing |
| Web2Pay | AppId + Password | Legacy e-com (deprecating) |
Data Stores:
Repositories: uppadmin-backend, pci-proxy, alerting-tool, payflow, datatrans-payment-gateway Tech Stack: Java 17, Spring Boot 3.x, MySQL, RestTemplate
External Integrations:
| Service | Protocol | Auth | Purpose |
|---|---|---|---|
| Auth0 | REST | OAuth2 | Identity management |
| Apple Pay | REST | mTLS | Wallet payments |
| Visa Click-to-Pay | REST | OAuth2 | Card tokenization |
| Mastercard SRC | REST | mTLS | Click-to-Pay |
| Zuora | REST | API Key | Billing/subscriptions |
| Mailchimp | REST | API Key | Email notifications |
Entities: 77+ JPA entities for merchant, acquirer, fraud rules, click-to-pay config
Repositories: PlanetSwitch, psw-transaction-orchestrator-service, psw-cryptography-package Tech Stack: .NET Framework (monolith), SQL Server, HSM Integration
Card Scheme Support:
| Scheme | Channels | Protocol |
|---|---|---|
| Visa | Direct, Plus, SMS | ISO 8583 |
| MasterCard | PostBridge, Interac | ISO 8583 |
| Amex | TSYS, Direct | ISO 8583 |
| JCB | Direct | ISO 8583 |
| Discover | Direct, TSYS | ISO 8583 |
| UnionPay (UPOP) | Direct | ISO 8583 |
HSM Vendors: Thales, SafeNet, Atalla, CipherTrust
Kafka Events: Publishes SchemeResponded events to Data Platform
Repositories: PGAS_NAS, PGAS_NAS_auth-core, 65+ processor modules (PGAS_NAS_proc-*) Tech Stack: Java, Apache MINA, ISO 8583, mTLS
Connection Types:
Processor Naming: PGAS_NAS_proc-{currency}{identifier}
usdfd = USD + First Datagbpax = GBP + UK Acquirereursp = EUR + Spanish AcquirerRepositories: pgid-integrafe, integra-portal-web, gateway-service-*, integrafe-rabbitmq Tech Stack: .NET, ISO 8583, RabbitMQ
Protocols:
Databases: 3CDB, 3CINTEGRADB, 3CTOKENDB, 3CDCCDB
Repositories: te-tmsserver, te-payment-core, te-firmware-, te-sdk- Tech Stack: Java 17, Spring Boot 3.x, Kotlin, PostgreSQL, Hazelcast
Terminal Vendors: PAX, Verifone VOS, VerixV, TETRA
Protocols:
SDKs: Java, Android, iOS, C++, .NET Core
Repositories: fibre-all, mas-core, mas-webapps Tech Stack: .NET Core (FIBRE), Java/Spring (MAS)
FIBRE:
MAS:
Repositories: premier-refund-webapp, PTF-Customs-Gateway, digital-concierge Tech Stack: .NET (WCF legacy + modern), React/TypeScript (DC)
Customs Integrations:
| Gateway | Country | Protocol |
|---|---|---|
| DIVA | France | SOAP/XML |
| Otello | Italy | SOAP/XML |
| CIVA | Spain | SOAP/XML |
Repositories: dataeng-dip-*, data-dbt, dip-charts Tech Stack: Apache Flink (PyFlink), Kafka/MSK, Snowflake, dbt
Source Systems (45+ Kafka pipelines):
Contracts: Protobuf schemas for all event types
Repositories: argocd-mgmt, pms-infrastructure-*, idp-backstage Tech Stack: Terraform, Terramate, Helm, ArgoCD, Backstage
Clusters:
IaC: 15+ reusable Terraform modules
┌──────────────────────────────────────────────────────────────────────────┐
│ DEPENDENCY MATRIX │
├─────────────────┬─────────────────────────────────────────────────────────┤
│ Source Domain │ Depends On │
├─────────────────┼─────────────────────────────────────────────────────────┤
│ Portal │ Datatrans, Integra, DGW, Auth0, IAM Gateway │
│ DFS/Datatrans │ Auth0, Apple Pay, Card Schemes, Zuora │
│ PSW │ Card Schemes (Visa/MC/Amex/JCB), HSMs │
│ NAS │ PSW, 3rd Party Acquirers, Integra FE │
│ Integra │ NAS, PSW, Terminal vendors │
│ TE │ Terminal vendors (PAX, Verifone), Integra │
│ Settlement │ PSW, NAS, Card Schemes, Banking networks │
│ Tax Free │ Customs gateways (DIVA, Otello, CIVA) │
│ Data Eng │ ALL operational systems (DFS, PSW, NAS, Integra, FIBRE)│
│ Infrastructure │ AWS, Azure, GitHub (ArgoCD) │
└─────────────────┴─────────────────────────────────────────────────────────┘
| Language | Primary Usage |
|---|---|
| C# (.NET) | PSW, Integra, FIBRE, Portal, AMPS |
| Java | NAS, Datatrans, TE, MAS |
| TypeScript | Portal UI, DFS frontends |
| Python | Data Engineering (Flink, dbt) |
| Kotlin | Terminal Engineering SDKs |
| Database | Usage |
|---|---|
| SQL Server | PSW, Integra, FIBRE, Tax Free |
| MySQL | Datatrans/DFS, MAS |
| PostgreSQL | Terminal Engineering |
| MongoDB | Portal |
| Oracle | Legacy (PSW, NAS) |
| Snowflake | Data Warehouse |
| CosmosDB | Portal (Hangfire) |
| Queue | Usage |
|---|---|
| Kafka (MSK) | Data Platform, Portal events |
| RabbitMQ | Integra, FIBRE |
| Protocol | Usage |
|---|---|
| ISO 8583 | PSW, NAS, Integra (card processing) |
| REST/JSON | Portal, DFS, TE APIs |
| SOAP/XML | Tax Free customs, legacy |
| Nexo XML | Terminal management |
All services are cataloged in:
tools/dependency-analyzer/catalogs/*.yamlbackstage://import?repo=architecutre&path=tools/dependency-analyzer/catalogsSee Catalog Index for complete service list.