Skip to main content
34 votes
Accepted

Should an e-commerce application reserve products before attempting payment?

You have two excellent answers (I've upvoted both). But they each address only a part of the problem, and this is why I feel obliged to come with a third answer Your challenge is hybrid: It's a ...
Christophe's user avatar
  • 78.4k
18 votes

Should an e-commerce application reserve products before attempting payment?

This isn’t a software problem, it’s a business problem. You should ask the business how they want to handle the situation. Perhaps they simply want to take the order and ship it a little bit late. For ...
Rik D's user avatar
  • 4,801
14 votes

Should an e-commerce application reserve products before attempting payment?

Look at it from the user's side: would you like to order a product, go thru all the payment details page (including, for example, entering credit card data), having your card charged, then having the ...
1201ProgramAlarm's user avatar
11 votes

Should an e-commerce application reserve products before attempting payment?

With so many good answers it seems strange to say that you and they have missed something. But I think you have, and I think that it may help you. Payment processors do not just let you charge credit ...
Martin Kochanski's user avatar
10 votes
Accepted

Who owns the Orders in a consumer-provider marketplace like platform?

The two-context approach reduces complexity by segregating your core into multiple contexts each specifically responsible for carrying out and enforcing rules. It also makes your model more expressive....
user3347715's user avatar
  • 3,144
8 votes
Accepted

Do you create an order before or after payment on an Ecommerce site?

Yes, create it! You absolutely must create the Order (or some other kind of record) before taking payment, not afterward. I have never seen an e-commerce system not do this. Here are just a few ...
John Wu's user avatar
  • 26.6k
8 votes
Accepted

How to deal with abandoned idempotent operations?

If I place an order an item from a website and I can see in my online banking that my payment has gone through and the website still says "Payment is pending", I'm not likely to walk away. ...
B. Ithica's user avatar
  • 335
7 votes

How to avoid the accident that an item price is updated right after a user clicks purchase?

Say you changed your price at 11:39:46am. The customer looked 5 seconds earlier and ordered five seconds later. Had you changed the price ten seconds later, everything would have been fine. If you try ...
gnasher729's user avatar
  • 45.8k
6 votes

How to manage different currencies on the same e-commerce system?

Don't do conversions on my money and hide it from me! When I sit down to order something that says it's $9.95 it had better give me back $9.95 when I return it. If I'm ordering something that says ...
candied_orange's user avatar
6 votes
Accepted

Architecting basket in high scale distributed application

All three make sense. However: The third one may be a valid option for a small application, but if the system grows, you'll tend to separate those services, given that their logic is completely ...
Arseni Mourzenko's user avatar
4 votes
Accepted

Taking over a project. Should I scrap and rebuild?

"Too complex" is a common concern for new developers, but consider that this is a working solution for them right now. Working now beats better in six months, nine times out of nine. Also, as a new ...
l0b0's user avatar
  • 11.5k
4 votes
Accepted

Product search design in ecommerce application?

You are optimizing prematurely for facilities that will be extremely costly and which you almost certainly will not need. The only way a new ecommerce system requires the scalability and performance ...
Jules's user avatar
  • 17.8k
4 votes
Accepted

Handling guest users in ecommerce application

Both options will work well, with the following inconvenience: The guest account requires different behavior: the application must ensure that a guest user shall not be able to see or modify ...
Christophe's user avatar
  • 78.4k
4 votes

Do you create an order before or after payment on an Ecommerce site?

Could there be a way to dodge this issue by turning "order" from a possibly transient object into an action performed by an object whose state you have more direct control over? Let's assume four ...
Adam Messinger's user avatar
4 votes

How to manage different currencies on the same e-commerce system?

How to manage foreign currencies accros the sales process ? The purchase orders in your system are made in a "market currency", i.e. the contractual currency, which is the base for defining the ...
Christophe's user avatar
  • 78.4k
4 votes
Accepted

How do I handle the potential concurrency problem of making a payment to Paypal for a limited number of items?

Look at the way TicketMaster and similar sites do it. What they do is take the item off the shelf for a brief period of time and start a transaction while the user consummates the payment. If the ...
Robert Harvey's user avatar
4 votes

when would I need state management like redux in my e commerce app?

In a nutshell, the client app states have little to do with the business data. Of course, some business data might be referred or held by the client's state, but it's contextual. Not mandatory. When ...
Laiv's user avatar
  • 14.7k
3 votes

How to avoid the accident that an item price is updated right after a user clicks purchase?

A possible solution is to copy the price to the "order" record once the order is put in the cart. This way, the price in the cart may still be different from the price previously listed in ...
Davide Visentin's user avatar
3 votes

What is the best way to structure a shopping cart to ship to multiple recipients?

I believe you are thinking of the concept of a "cart" two different ways, and it seems to me that you're missing an entity. One notion of the concept of a cart relates (line items) to an ...
Erik Eidt's user avatar
  • 34.2k
2 votes
Accepted

What should be taken into consideration when creating a Sku framework?

Point by point: If it makes business sense, stick to printable ASCII in your SKUs. Having a predefined character set (e.g. digits, letters, a limited set of punctuation) is a good idea. Allowing URL-...
9000's user avatar
  • 24.3k
2 votes

What do ecommerce developers do that other developers don't?

Let's look purely at Amazon (example from the comments) and compare it to a payments processor. First, Amazon is more complex because it is itself a payments processor as well as a retailer and ...
mdfst13's user avatar
  • 330
2 votes

Do you create an order before or after payment on an Ecommerce site?

one way of approaching this problem is to consider the various states of an order as separate entities. so, you might have (in a simple example) something like OrderUnpaid, OrderPaid, ...
Eva's user avatar
  • 547
2 votes

Who owns the Orders in a consumer-provider marketplace like platform?

I assume you are using a microservices architecture to decouple your application into independently operating/scaling/developable/deployable parts. It seems to me, that "ProviderOrders" and "...
Robert Bräutigam's user avatar
2 votes

Is it better choice to use both AngularJS and ASP.Net MVC for developing ecommerce website?

I would use something other than ASP.NET and Angular.js in my Opinion. But filtering data can be server based or client based. If you want high performance reactivity, I would recommend Vue.JS It's ...
Jhon's user avatar
  • 21
2 votes
Accepted

Naming standards or conventions for ecommerce

The key question is, What does the business call a Carpet? They probably don't care about the 3d mesh, or the UI component, but I bet they say 'How many carpets do we have in stock?', or 'who bought ...
Ewan's user avatar
  • 77k
2 votes

Product search design in ecommerce application?

Have you looked into using an established search platform instead of an RDBMS for the customer's shop search? For example Solr is open source and used by several companies and frameworks like Hybris ...
roskakori's user avatar
  • 121
2 votes

Best way to prevent duplicate payment of order in multi user environment?

This is exactly the sort of thing transactions are for. User see an order in one tab. Gets distracted by email. Opens new tab. Sees order again. Pays for it. Closes some tabs. Sees the old tab with ...
candied_orange's user avatar
2 votes
Accepted

Implementing and storing virtual user credits on an e-commerce website

PCI compliance is for credit card data (and by extension people expect the same from other real payment methods). PCI stands for "Payment Card Industry". The process of a user sending you real money ...
nvoigt's user avatar
  • 8,104
2 votes

What should be the correct architecture in an e-commerce module

Save the order when it is 'Placed'. Handle the payment separately. Lots of things can go wrong with payment. Cards can be declined, payments can go through and then be withdrawn, redirects back to ...
Ewan's user avatar
  • 77k
2 votes

At what point a shopping cart can become deemed abandonded?

What factors should a developer of an ecommerce shop take into account in regards to the decision of deeming a shopping cart abandoned? When a shopping cart should be abandoned, if at all, is a ...
Bogdan's user avatar
  • 3,620

Only top scored, non community-wiki answers of a minimum length are eligible