Jump to content

design flaw in handling of payment status of an order


wahmkow

Recommended Posts

I believe, that there is a seriuos flaw in the design of handling the status of payment in orders.

I am talking about PS V8.04 here. Don't know if this has been changed in newer versions. At least the documentation does not mention any changes.

As I understand it, the information if an order has been paid or not is configured in the individual order statuses. The checkbox there is labeled 'Set the order as paid'. First of all, that is not the correct wording, because nothing is SET in the database in the order table at all. The correct label rather should be "Show the order as paid'. Because that is what actually seems to happen. In case the order has that specific status, the order is shown as paid or not according to the configuration of that status.

Now here is the problem. Lets talk e.g. about the status 'shipping'. If the order was e.g. paid by PayPal than it was already paid before it reached the status 'shipping'. So I would check the paid checkbox for that status. However if the customer chooses e.g. 'pay on delivery' than the order would not have been paid when in status 'shipping'. Now what - how would I handle that case in the configuration? I believe I can't, because no matter what I choose, it is never correct for all cases. I'm facing that dilemma right now in a shop that I recently launched for a customer of mine. 

Here is what I believe would be the correct design. The information if an order was paid or not needs to be a property of the order and not of the order status. Therefore that information must be stored in a new column of the order table. In the order status configuration we would need the possibility to define an action - in that case the word SET would actually make sense in the label of the checkbox. There would need to be 3 different choices for the action ...

1) set the order to paid
2) set the order to not paid (in case it was set accidentaly or alternativly add a possiblity to change it in the order itself from the backend)
3) do nothing

I understand that this change might need extra precautions in order to be backward compatible - so upgrades of existing shops can be done without breaking anything - thus giving the owner time to change everything to the new configuration.

I'm looking forward to receive your opinions on this matter and if you agree or disagree.

Link to comment
Share on other sites

44 minutes ago, ps8moduly.cz said:

Hi.

In the order status settings, you can create your own statuses and check what you think is correct. You can create your own email templates etc. for these new statuses.

I am aware of that. But that does not solve the problem at all. I do not want to have two different statuses für 'shipping' - one for paid and one for not paid. Besides that status is set from external via the webservice from the shipping provider and they can handle only one status.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...