Timeline for Should an e-commerce application reserve products before attempting payment?
Current License: CC BY-SA 4.0
24 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Jul 31, 2020 at 18:33 | comment | added | Mark Stewart | @Thumbnail -- I think Amazon will accept "back orders" for widgets, by inflating the expected delivery time: IE: if their on-hand quantity is low, and you put it in your cart, they may say "ships in two weeks" instead of "Arrives tomorrow", assuming they know their vendor will ship more widgets within a week. | |
| Jul 30, 2020 at 16:36 | comment | added | Rakuen42 | I think there's been an important point that's been missed in all these questions and comments. It's highlighted by a talk by Greg Young entitled "A Decade of DDD, CQRS, Event Sourcing". In many scenarios, an e-commerce application cannot model physical goods disappearing, such as when people steal things. The only way you can guarantee stock is at a specific point in time when you are physically looking at the goods. Ergo, if you're working with physical goods, you still need to have a way to handle "missing stock" even with a reservation system. | |
| Jul 30, 2020 at 12:22 | comment | added | paj28 | @TienDo - Yep, those are the questions I was looking to answer | |
| Jul 30, 2020 at 10:59 | comment | added | Andrii Andriichuk | I would say that if reservation is possible, then you definitely should do it. My suggestion is that you can reserve not at the time of adding to cart/checkout, but right before a payment. This way, noone can reserve and hold products in cart without buying them, and at the same time user gets quick response on whether his order goes fine or some products went out of stock. | |
| Jul 30, 2020 at 9:46 | comment | added | Thumbnail | Amazon, I think, reserve goods when payment is authorised and take payment just before dispatch. I don't know whether they accept back orders. Yet I've bought stuff on eBay that I'm pretty sure was made to order, after being paid for. Provided that the goods are delivered as promised (they were), I'm content. | |
| Jul 30, 2020 at 4:06 | comment | added | Tien Do | Is it worth losing a customer because they paid and find product is out of stock later? How much chance is a payment fail AND another customer is ordering the same product AND there is only 1 in stock? | |
| Jul 29, 2020 at 9:50 | comment | added | Matt | Customer initiates payment process, call backend and confirm product availability before proceeding to take information. If stock is available then reserve for x minutes. If stock is unavailable notify consumer, suggest alternatives choices or offer an alternative course of action that may still result in a sale. Cron task runs periodically placing items back in stock following timeout. Monitor activity throughout the checkout process and extend reservation period if the consumer is active. | |
| Jul 18, 2020 at 11:46 | history | protected | gnat | ||
| Jul 18, 2020 at 8:27 | answer | added | Martin Kochanski | timeline score: 11 | |
| Jul 18, 2020 at 7:10 | comment | added | Martin Maat | About the downvotes: my first inclination based on the title was to cast a close vote (doesn't sound like a software problem) but after reading the question I changed my mind. Some people may not have taken the trouble. It may help if you change the title to something like "Race condition in ordering system". | |
| Jul 11, 2020 at 0:00 | history | tweeted | twitter.com/StackSoftEng/status/1281739986124013568 | ||
| Jul 10, 2020 at 7:30 | answer | added | Lalit Mehra | timeline score: 1 | |
| Jul 9, 2020 at 21:08 | history | edited | Christophe | edited tags | |
| Jul 9, 2020 at 12:30 | vote | accept | paj28 | ||
| Jul 9, 2020 at 12:18 | comment | added | paj28 | @DanWilson - Yeah, that's a good idea. I did try to do this, but I found it difficult to get a clear answer in documentation (e.g. for Magento). I was hoping people would include information like that in answers. So your link to info about Shopify is really appreciated! | |
| Jul 9, 2020 at 12:16 | comment | added | Dan Wilson | Not a down-voter, but I would just look at how other e-commerce platforms handle this. Shopify does an inventory check right before the customer goes to pay and holds it during payment processing. Seems like a sensible default. community.shopify.com/c/Shopify-Discussion/…. | |
| Jul 9, 2020 at 12:12 | comment | added | paj28 | Could one of the three downvoters provide some feedback please? I've tried to make the question as clear as I can, so it would really help to know why you downvoted, and if I could improve the question. | |
| Jul 9, 2020 at 11:31 | answer | added | Christophe | timeline score: 35 | |
| Jul 9, 2020 at 11:24 | comment | added | Dan Wilson | The answers probably depends on exactly what's being sold It depends entirely on what is being sold and how the business handles orders when inventory is low. It's not a problem if you sell silkscreened shirts and can make them on-demand, but it's a huge problem if you sell electronics produced in China and the manufacturer requires a two-month lead time. | |
| Jul 9, 2020 at 11:07 | review | Close votes | |||
| Jul 14, 2020 at 3:01 | |||||
| Jul 9, 2020 at 5:47 | answer | added | Rik D | timeline score: 18 | |
| Jul 8, 2020 at 22:08 | answer | added | 1201ProgramAlarm | timeline score: 14 | |
| Jul 8, 2020 at 21:57 | history | edited | paj28 | CC BY-SA 4.0 | added 100 characters in body |
| Jul 8, 2020 at 21:47 | history | asked | paj28 | CC BY-SA 4.0 |