Design Chargeback Ingestion and Processing
Published 3 October 2026
A Nubank system design question.
System Design — Chargeback Ingestion and Processing¶
The system receives a continuous stream of card chargeback or dispute-related transaction events. The core workflow needed to support:
- Ingesting and validating incoming chargeback events
- Detecting and preventing duplicate processing
- Tracking each transaction through its processing lifecycle
- Persisting chargeback data and processing state
The design needed to ensure that transactions could move through the workflow reliably even when retries or duplicate events occurred.
CSV Export and Mastercard Delivery¶
Eligible transactions eventually needed to be collected into CSV files. Those files then had to be transmitted to Mastercard using an FTP/SFTP-based integration. This introduced a batch-oriented downstream workflow on top of the transaction-ingestion path, including the need to determine which records were ready for export and track their processing status.
Database Read Bottleneck¶
One important follow-up focused on the database read path. The interviewer identified a potential bottleneck around repeatedly reading transaction records from the database as the volume increased. I did not recognize this issue quickly enough during the interview, and it became one of the weaker parts of my design discussion.