Here's why implementing a Payment System can be so hard

  Рет қаралды 6,048

Software Developer Diaries

Software Developer Diaries

Күн бұрын

Check out Cryptomus: cryptomus.com/...
Cryptomus on Telegram - t.me/+eo6zMdge...
======⚡⚡⚡======
Designing and building an in-house Payment System is not trivial. In includes many components that communicate asynchronously in an event-driven manner, usually with Kafka, meaning there are many different ways the system can malfunction. We're going to cover the major components of a system, what reconciliation is, how to process slow requests with long-polling and web hooks, as well as talk about idempotency.
☕ Buy me a coffee: www.buymeacoff...
🙌 Become my Patreon and get exclusive perks: / softdevdiaries
💼 Follow me on LinkedIn and drop me a message if you'd like: / gadirovgs
💻 Also, let's connect on GitHub: github.com/gusgad
And don't forget to subscribe for more videos like this 😊

Пікірлер: 14
@Finn-jp6pn
@Finn-jp6pn 6 ай бұрын
Thanks. Learned a new concept today... reconciliation
@SoftwareDeveloperDiaries
@SoftwareDeveloperDiaries 6 ай бұрын
I'm so glad!
@caiopenhalver4900
@caiopenhalver4900 12 сағат бұрын
Great video, thanks, I wasn’t aware of the reconciliation! I believe any asynchronous process running on a distributed system that can not rely on eventual consistency we will face some of these challenges as well
@the-unspectd
@the-unspectd 2 ай бұрын
It doesn't really feel idempotent to return 429 instead of the actual previous operation result - 200
@SoftwareDeveloperDiaries
@SoftwareDeveloperDiaries 6 ай бұрын
Have you already tried working with payments? What was your experience? 🤓 And don't forget to try out Cryptomus: cryptomus.com/? 💫
@kdrenski2471
@kdrenski2471 6 ай бұрын
Cool video! Thanks for sharing! 🎉 Just one notice - what about having API gateways in front of the core services, like the payments service, the transaction service, etc.? I think they are necessary for filtering the requests and for auth when your internal services communicate with 3rd party providers like the PSP. What do you think about that?
@SoftwareDeveloperDiaries
@SoftwareDeveloperDiaries 6 ай бұрын
Thank you! Yes, you’re totally right. I’ve covered that in my videos too, but left it out in this one just for the sake if simplicity 😉
@Aleks-fp1kq
@Aleks-fp1kq 6 ай бұрын
A bit confused with the reconciliation process. If I understand it correctly, this is basically eventual consistency, because eventually all of these individual DB will be consistent. But in the example, I think it would not be advisable to go down that road, as in, what to do if the DBs are not in sync, how much money does the user have, should he be allowed to purchase?
@SoftwareDeveloperDiaries
@SoftwareDeveloperDiaries 6 ай бұрын
Good question. If a user’s balance is inconsistent across replicas, decisions like allowing a purchase become critical. Systems must handle such scenarios gracefully, perhaps by blocking transactions until consistency is restored
@ShujaatAli-sx1ou
@ShujaatAli-sx1ou 3 ай бұрын
Can you explain a bit more about the ledger and user wallet? First question: Are we going to store user credit/debit card information in the ledger? In the user wallet, we will store the user transactions (amount, discounts, etc.). Second question: How do we reconcile between these two modules, the ledger and the user wallet?
@cse9003
@cse9003 6 ай бұрын
love it,what is the program name you're using for the sketching and diagrams
@SoftwareDeveloperDiaries
@SoftwareDeveloperDiaries 6 ай бұрын
Eraser :)
@blackrock2222
@blackrock2222 6 ай бұрын
Very Nice video! ❤
@SoftwareDeveloperDiaries
@SoftwareDeveloperDiaries 6 ай бұрын
Thanks mate!
How do microservices find each other's IP addresses?
8:05
Software Developer Diaries
Рет қаралды 5 М.
Microservices with Databases can be challenging...
20:52
Software Developer Diaries
Рет қаралды 47 М.
Amazing Parenting Hacks! 👶✨ #ParentingTips #LifeHacks
00:18
Snack Chat
Рет қаралды 22 МЛН
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3,2 МЛН
Setting up a production ready VPS is a lot easier than I thought.
29:50
Payment Gateway - All you need to know! - Yadvendra Tyagi, PayU
46:47
How does Caching on the Backend work? (System Design Fundamentals)
22:45
Software Developer Diaries
Рет қаралды 38 М.
Google system design interview: Design Spotify (with ex-Google EM)
42:13
IGotAnOffer: Engineering
Рет қаралды 1,1 МЛН
A Beginner's Guide to Event-Driven Architecture
37:28
Software Developer Diaries
Рет қаралды 13 М.
How to build payment gateway? Stripe, Braintree, PayPal clone
28:14
Dennis Babych
Рет қаралды 14 М.
Introduction to Payment Systems | System Design
40:56
Code with Irtiza
Рет қаралды 44 М.
Idempotency in APIs: you should be aware of this!
7:31
Software Developer Diaries
Рет қаралды 13 М.
System Design Interview: Design Amazon Kindle Payments
33:50
Exponent
Рет қаралды 20 М.
API Gateway vs Load Balancer vs Reverse Proxy: when to use what?
9:06
Software Developer Diaries
Рет қаралды 18 М.
Amazing Parenting Hacks! 👶✨ #ParentingTips #LifeHacks
00:18
Snack Chat
Рет қаралды 22 МЛН