Introduction to Payment Systems | System Design

preview_player
Показать описание
Let’s look into designing payment systems for your application and integrating with Payment Service Providers like PayPal & Stripe.

🥹 If you found this helpful, follow me online here:

00:00 Intro
00:41 PayPal & Stripe
01:05 What we won’t talk about
02:00 What we WILL talk about
03:40 What’s a Payment Service?
05:15 Payment System Design 1
09:55 Payment System Design 2
17:55 Database Design
23:00 What kind of Database to use?
26:50 Microservice Communications
32:50 Double Spend Problem
39:55 Future System Design Videos

#programming #systemDesign #softwareDevelopment
Рекомендации по теме
Комментарии
Автор

This is one the best videos on payment systems and it definitely deserves more views; simple and straightforward!

awesomesheen
Автор

Another way to store currency numbers instead of strings is to use integer numbers that represent cents as opposed to whole units + decimals.
Example: $14.99 can be stored as "14.99" or as 1499 (usd cents)

ntt
Автор

Found this channel today and it made system design EASYYY!! Thanks!

RICKLEEISTHEBOSS
Автор

This was super helpful and explained in such a high level way.. thank you!

Misschoccywoccy
Автор

This was exactly what I needed, THANK YOU Irtiza

macguionbajo
Автор

This is what I wanted Keep going sir🚀🚀

zymasethecatalyst
Автор

Awesome! I think this is the best video that explains payment system. I subscribe your channel immediately, keep going bro🎉🎉🎉

jinboli
Автор

This was beautifully explained, thanks!

deepjyotkaurbindra
Автор

no idea why purchase goes back to backend system it needs to automatically land in external service pop up page with the token that has been generated in a previous step. Once the PSP does its part it does send it back to the application via webhook that you created at those PSP services beforehand and backend system needs to act on that point.

charliebitme-zbnv
Автор

Hey great video. I have a question about microservice approach:

If we make the processing asynchronous with a service receiving the requests and others services as processors (the ones that communicat with the gateways).

1 - How would we communicate to the user? Since he's expecting the purchase redirect page to finish?

2 - How would we store the data? Since each microservice should have its own db?

RaphaelSousa-ordl
Автор

I like the visualization. Keep up the good work!

HarmonyLife
Автор

keep uploading videos like this . good one

arupde
Автор

very good high level view of the system, thank you!

ersinerdem
Автор

Is "connecting to external system from internal" a correct design ? or do we need to add something between Backend Payment System and PayPal for security ?

ErhanPatir
Автор

I think there is something wrong in your design about when a user click purchase. I think the first step should be send a request to Paypal/stripe, not the Backend Payment system, because that Purchase page belongs to Paypal/stripe. After the purchase is finished, Paypal/stripe will send a request to tell Backend service that the purchase was finished.

nyqvzed
Автор

so, during checkout and before filling any creditcard and debit card info or addresses, checkout_id is generated?

priyakolluru
Автор

hi thanks for explanation. question - what is difference between "checkout" and "buy now"?

hello_world_zz
Автор

In case we use an asynchronous communication, that we respond to the user? That the payment was correct?

What happens if after processing the payment, we realize that it was not successful?

lucianomonterovidela
Автор

In what step do you send the card details? Is it directly to the gateway or will it come to the backend service and then backend service would take care of calling the gateway with the necessary details.
I suppose while creating checkout_id you would store the checkout info like the bill amount etc

divyaverma
Автор

I am not able to open your notes, are the links for notes updated? thanks

vijaybabaria