Fraud/Risk Service
Purpose
Real-time transaction screening, risk scoring, and fraud rule evaluation.
Responsibilities
- Fraud rule evaluation
- Risk scoring (0-100)
- Velocity checks
- Anomaly detection
- Manual review queue
Non-Responsibilities
- Payment execution (Payment Service)
- Customer data management (Customer Service)
APIs
| Method | Endpoint | Auth | Description |
|---|---|---|---|
| POST | /api/v1/fraud/check | SERVICE | Screen transaction |
| GET | /api/v1/fraud/reviews | RISK_ANALYST | Pending reviews |
| PUT | /api/v1/fraud/reviews/{id} | RISK_ANALYST | Approve/decline |
Database
| Table | Key Columns | Description |
|---|---|---|
| fraud_checks | id, payment_id, score, decision, rules_triggered | Check results |
| fraud_rules | id, name, condition, action, enabled | Rule definitions |
| review_queue | id, fraud_check_id, status, analyst_id | Manual reviews |
Kafka
Produces: FraudCheckCompleted
Consumes: FraudCheckRequested
Partition key: payment_id
Dependencies
Sync: Customer Service (profile), Payment Service Async: Kafka-driven screening
Failure Handling
- Rule engine failure → default to REVIEW
- High latency → async path with payment hold
Scaling
CPU-bound rule evaluation. Scale horizontally. Cache customer risk profiles.
Security
RISK_ANALYST for review queue. SERVICE role for automated checks.
Observability
Metrics: fraud_processing_latency, fraud_decisions_total\{decision\}.