Comments (9)
@DemeSzabolcs A standard status seems reasonable, just make sure the admissible values can be configured and we don't assume a fixed set. Extensibility, as always, should be the main concern: each business will have different requirements for their orders. Separate the concerns into specialized content parts and fields as relevant and express the base scenario in the content type creation recipe (currently the shipping and billing addresses are added as fields).
A typical online business' orders will have:
- status with history of changes
- notes
- a list of products with quantities and attributes as extracted from a shopping cart (this can be edited)
- a customer's info such as name and address
- To integrate with checkout, we should have a part or field for referencing the payment (again, different businesses will have different requirements: some will have one credit card charge, others will have options for cash, purchase order, etc.).
- Shipping info
The content type should be versioned, but the history of status changes might deserve special handling because it's so important.
Of course, any operation on orders should be integrated with workflows.
from orchardcore.commerce.
Hi @bleroy ,
What would the default checkout experience be like using workflows ?
It is something like
GoToCart => Go To Shipping => Payment => Create Order
from orchardcore.commerce.
From the customer's point of view, yes, more or less, and building it as a workflow means it's easy to create variations of that. Don't forget taxes though. From the seller's point of view, that's just the beginning of the workflow of course, but that's a different problem.
from orchardcore.commerce.
To be more specific, we need new activities covering those steps, and we need a setup recipe that creates the default checkout workflow. Then we need the UI that triggers it all, and that accompanies the activities.
from orchardcore.commerce.
Makes sense.. I am trying to build the activities first . But without the shipping implementation, and payment implementation, most of the work will be TBD
from orchardcore.commerce.
Hello everyone!
I'm working on integrating Stripe payment, and I noticed that the order
content type is unfinished. I'm reworking that.
What should an order
content item store? It's already storing addresses, that's okay. I'm thinking about statuses like "shipped, arrived, paid, payment failed" etc., and other basic things, like data from the Stripe payment (transaction id) and the ordered products.
What do you think?
from orchardcore.commerce.
status with history of changes
For the history of changes, Orchard Core Audit Trail seems like a good idea, at least for now. It keeps track of the changes in content items.
from orchardcore.commerce.
Isn't this done, @sarahelsaig?
from orchardcore.commerce.
We have a checkout, but it's a series of MVC actions in a rigid order. I think the original idea of the issue is still valuable, that it should be a collection of workflow activities, to make the whole checkout flow customizable. I've updated the issue title accordingly.
from orchardcore.commerce.
Related Issues (20)
- Catalog navigation and Search (OCC-192) HOT 4
- Upgrade to Orchard Core 1.9 once it's released and remove Newtonsoft.Json from the code base (OCC-194) HOT 3
- Boolean product attributes not stored in the order screen. (OCC-195) HOT 1
- Product Attributes should display the field label or name instead in cart and order display (OCC-196)
- Cloudsmith publishing is broken (OCC-197) HOT 1
- Prevent checking out if there are unavailable products in the cart (OCC-199) HOT 4
- Integrate exactly payments for EU/UK merchants (OCC-203)
- Have a new community survey (OCC-204) HOT 1
- make class Address partial (OCC-205) HOT 13
- OrchardCore.Commerce.Tests.UI.Shortcuts NuGet misses metadata (OCC-207)
- Checkout exception if the Billing/ShippingAddressFieldEditor shapes are not present (OCC-208)
- The File Content Definition not generate ContentDefinition.json (OCC-213)
- CreateOrderLineItemsAsync does not take care of product discounts (OCC-214) HOT 1
- I have Created a new price variants product content item, but it couldn't display variants inventories. (OCC-217)
- Running FullSecurityScanShouldPass locally fails (OCC-218) HOT 5
- When Creating a new Product Content Item in BagPart, ProductPartIndex don't update. (OCC-220) HOT 1
- Multiple payment intents are created during a single session (OCC-221)
- Aggregating multiple products into a new product that has indepdent unit price,inventory, attributes and SKU, and can be sold indepdently. (OCC-222) HOT 2
- Upgrade to Orchard Core 1.8 (OCC-223) HOT 13
- Ambiguous HTTP methods (OCC-225)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orchardcore.commerce.