Event Driven Design is a popular architectural style and has many benefits if you are building a complex system, especially building a state transitions workflow.
In the final architecture diagram, the "order callback" service updates the "client system" regarding the payment status. I was curious to know how is that done exactly.
How does a client (eg : browser) listen to these events? or do we need to use some websocket logic?
Hi Hardik, when I say "client system", it is referring to a backend system which integrated with your payment system. For example, an e-commerce website called Abc Shop needs payment capability integrated in their website for customer to make payment. In this use case, Abc Shop can integrate with a payment system to transfer money from customer account to a company account owned by Abc Shop. How does Abc Shop know the payment status? It is from the payment system callback. Processing a payment takes time, therefore, we need a callback (aka Webhook) to notify clients who integrated with your payment system that a payment is settled.
In the final architecture diagram, the "order callback" service updates the "client system" regarding the payment status. I was curious to know how is that done exactly.
How does a client (eg : browser) listen to these events? or do we need to use some websocket logic?
Hi Hardik, when I say "client system", it is referring to a backend system which integrated with your payment system. For example, an e-commerce website called Abc Shop needs payment capability integrated in their website for customer to make payment. In this use case, Abc Shop can integrate with a payment system to transfer money from customer account to a company account owned by Abc Shop. How does Abc Shop know the payment status? It is from the payment system callback. Processing a payment takes time, therefore, we need a callback (aka Webhook) to notify clients who integrated with your payment system that a payment is settled.
It's clear now, thanks Ray!