This is one the best videos on payment systems and it definitely deserves more views; simple and straightforward!
@irtizahafiz Жыл бұрын
Glad you found it helpful!
@yynnooot2 ай бұрын
Wow, this is one of the best videos on system design I've seen. This was super well organized and thought out. I really appreciate the clear explanations!
@RICKLEEISTHEBOSS Жыл бұрын
Found this channel today and it made system design EASYYY!! Thanks!
@macguionbajo Жыл бұрын
This was exactly what I needed, THANK YOU Irtiza
@irtizahafiz Жыл бұрын
Glad you found it valuable.
@Ksjrinsaqtsbkz1236 Жыл бұрын
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.
@Misschoccywoccy2 жыл бұрын
This was super helpful and explained in such a high level way.. thank you!
@irtizahafiz2 жыл бұрын
You're so welcome!
@ntt5171 Жыл бұрын
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)
@egor.cleric Жыл бұрын
strange that the author is not aware of such standard approach
@irtizahafiz Жыл бұрын
Yes! That’s a great point! I have done that a few times.
@ErhanPatir10 ай бұрын
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 ?
@zymasethecatalyst2 жыл бұрын
This is what I wanted Keep going sir🚀🚀
@irtizahafiz2 жыл бұрын
So glad! Hope you found it helpful : )
@RaphaelSousa-or1dl7 ай бұрын
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?
@irtizahafizАй бұрын
1. Depends on your application, but it's pretty common to send a confirmation email saying "order is processing" and user will get a follow up email when fulfilled. 2. Which data are you referring to?
@hello_world_zz Жыл бұрын
hi thanks for explanation. question - what is difference between "checkout" and "buy now"?
@irtizahafiz Жыл бұрын
Checkout usually takes you to the final page where you can complete the purchase with one final click (something like "Buy Now").
@arupde63202 жыл бұрын
keep uploading videos like this . good one
@irtizahafiz2 жыл бұрын
I will try my best
@jinboli6362 жыл бұрын
Awesome! I think this is the best video that explains payment system. I subscribe your channel immediately, keep going bro🎉🎉🎉
@irtizahafiz2 жыл бұрын
Thank you so much! It means a ton. I am going to start uploading more regularly soon : )
@HarmonyLife212 жыл бұрын
I like the visualization. Keep up the good work!
@irtizahafiz2 жыл бұрын
Thanks for the feedback! Hope you are finding these helpful : )
@deepjyotkaurbindra Жыл бұрын
This was beautifully explained, thanks!
@ersinerdem7285 Жыл бұрын
very good high level view of the system, thank you!
@irtizahafiz Жыл бұрын
Glad you found it helpful! Cheers.
@VenuGopal-pr1ix Жыл бұрын
HI, How POST request with purshce info & token go to Backend Payment system, i belive it should go to stripe/paypal as the page belong to them.
@VenuGopal-pr1ix Жыл бұрын
Please provide the details
@Mohamed-uf5jh Жыл бұрын
beautifully explained, thanks!
@Lisa-kk6goАй бұрын
Why do we need both unique checkout_id and token? Shouldn't the unique checkout_id be good enough?
@irtizahafiz29 күн бұрын
It depends on your implementation. The goal with this video was to provide a high level idea only.
@lucianomonterovidela Жыл бұрын
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?
@irtizahafiz Жыл бұрын
If you look at most e-commerce flows, you usually get a confirmation email immediately, and then another when the item actually ships. So, you can always change the order status and email the user if things change post-confirmation.
@salisu58142 жыл бұрын
Can you help identify those microservices or multiple systems within the backend payment system?
@irtizahafiz2 жыл бұрын
Hi! Not sure how to do that. If you want details, please send me an email with some more context.
@priyakolluru3568 ай бұрын
so, during checkout and before filling any creditcard and debit card info or addresses, checkout_id is generated?
@irtizahafiz8 ай бұрын
In this design, yes. But there are many different ways of implementing it.
@RABIAKHAN13 Жыл бұрын
Do paypals also work in pakistan?
@salisu58142 жыл бұрын
Thanks you for the wonderful lecture
@irtizahafiz2 жыл бұрын
You're most welcome
@divyaverma10982 жыл бұрын
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
@irtizahafiz2 жыл бұрын
It would be the latter.
@vijaybabaria32532 жыл бұрын
I am not able to open your notes, are the links for notes updated? thanks
@irtizahafiz2 жыл бұрын
They should be updated..
@thoko_tn Жыл бұрын
What are yr Socials??wanna link upp
@alibozkurt-i5r11 ай бұрын
thanks
@DuyTran-ss4lu2 жыл бұрын
Awesome
@irtizahafiz2 жыл бұрын
Thank you!
@车少 Жыл бұрын
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.
@irtizahafiz Жыл бұрын
That's correct. The point of reaching out to your backend first is, there might still be data you want to store relevant to the user's intent, before initiating request with Paypal/Stripe.