Okay.
Welcome to section 11.
And in this section we're going to focus on creating the order feature in our application.
And this section is a good opportunity to practice some of the things that we've already looked at in
this course in order to build this particular feature, as well as add a few new things as well.
So coming up in this section, we're going to take a look at creating order entities.
Now our order entity itself is going to be made up of several different things.
We're going to have our order, the order item, the delivery address information, the payment information,
the product information, all of which makes up the order itself.
So it's going to be an aggregate type of entity, something that we've not looked at yet.
We've looked at relatively simple entities.
This one's going to be a bit more complex.
And once we have our order, we need to be able to define its status as because we're using the strong
customer authentication.
When the payment is made, then we don't have any direct communication between the API and stripe.
They're all completely separate.
So we need to look at webhooks.
And this is how stripe is going to notify our API that something has taken place.
Either the payment succeeded or the payment has failed.
And then we can update the order status accordingly.
Now, because we're running everything locally on our developer machine, our application is not out
there on the internet.
So how could stripe directly notify our application running on our development machine when our application
is not on the internet?
Well, we'll need to use a tool from stripe to help us test that.
And we can use the stripe command line interface to do so.
So that's what's coming up in this section.
And let's begin.