Skip to content

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.