inflearn logo

Practical Financial Backend Engineering from a Toss Developer Serving 30 Million MAU: Outbox, Idempotency, and Dual Write

For developers blocked by double payments and discrepancies between external payments and databases, I design and implement robust settlement systems based on hands-on experience with Toss’s backend.

54 learners are taking this course

Level Beginner

Course period Unlimited

JavaScript
JavaScript
Blockchain
Blockchain
PostgreSQL
PostgreSQL
Docker
Docker
TypeScript
TypeScript
JavaScript
JavaScript
Blockchain
Blockchain
PostgreSQL
PostgreSQL
Docker
Docker
TypeScript
TypeScript

What you will gain after the course

  • Defines the transaction status and data consistency requirements for the payment and settlement domain.

  • Prevent duplicate payments and duplicate processing with idempotency keys and duplicate request prevention logic.

  • Safely modify balances and transaction statuses by applying transaction isolation levels and concurrency control.

  • Design retry, compensation, and pending handling to account for inconsistencies between the DB and the external payment system.

  • Reliably deliver transaction results through event-driven processing and the outbox pattern.

  • Implement a state machine and operational structure to track and reprocess failed transactions.

  • Complete an intermediate-level payment system connecting deposits, withdrawals, fees, settlements, and reports.

  • Write reconciliation and validation queries and reports to detect missing records, duplicates, and amount discrepancies.

  • Test concurrency, failure, and duplicate request scenarios, and analyze the causes using logs and monitoring.

Recommended for
these people

Who is this course right for?

  • A backend developer who implemented payment functionality but lacks idempotency and concurrency control.

  • A developer trying to resolve an issue where the DB transaction status differs from the external payment approval result

  • Beginner to intermediate developers who want an in-depth understanding of transactions, isolation levels, and locks through practical payment examples

  • A developer looking to design a financial backend connected to deposit, withdrawal, settlement, and reconciliation reports

  • A developer looking to build a structure for retrying failed transactions, processing compensation, and operational tracking

  • Developers looking to build practical system design skills based on relational databases such as PostgreSQL

Hello
This is Hong

Inflearn Verified

Career Verified

12,364

Learners

641

Reviews

180

Answers

4.8

Rating

34

Courses

I started studying development after becoming interested in it while idling around at home, and I am currently responsible for platform server development in Pangyo. I continue sharing my knowledge because I want to provide you with the methods I used to study, as well as various issues you may encounter in practice and their solutions.

 

The courses are not created solely from my own knowledge. Every course is made possible with the help of others.

 

[Knowledge Sharer Experience]

[Former] Blockchain developer specializing in Sandbox IP

[Former] Metaverse backend developer

[Current] A server developer stagnating in Pangyo

 

[Interview History]

[Other Inquiries]

[Official Website and Social Media]

More

Curriculum

All

48 lectures ∙ (9hr 55min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

Hong's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

Limited time deal

$47.30

59%

$117.70