-
Notifications
You must be signed in to change notification settings - Fork 683
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature]: Proposal for a better checkout design #3615
Comments
Hi @larsroettig. Thank you for your report. Add a comment to assign the issue:
|
@larsroettig could you clarify couple of points before we take this to the triage meeting:
|
Yes, would we nice some payments that already preauthorize the total amount to get a valid token. The second Problem is order total is often used to filter unavailable payments out from the collection like
Would you be happy where I can read throw it?
I reviewed the code looks like this is currently not taken into account but I can test it in lasted dev version will follow up on this. |
The checkout should ideally be flexible enough to cater for any order. Venia then provides a best practice reference implementation. If a payment method becomes unavailable the back-end will communicate this to the frontend, for example removing it from the available payment methods. The checkout should then bring this to the shoppers attention and ask for a different payment method if needed.
The GraphQL schema unfortunately enforces its own requirements which is not respecting the configuration values: Since the schema requires certain inputs PWA Studio has to ask for it too. |
One thing to add: the current checkout implementation hard codes shipping address and shipping method selection as a step. This will need to be adjustable so that things like gift card only orders are possible that only need billing info and payment. |
@magento export issue to JIRA project PWA as Story |
✅ Jira issue https://jira.corp.magento.com/browse/PWA-2544 is successfully created for this GitHub issue. |
Yep good point 👍 |
I am just going to drop this into this discussion but it may as well be a separate proposal for overhauling just the totals display. I am currently adding a new total below the subtotal as shown in the below screenshot: To achieve this the following is required:
In an ideal world there would be an extension point for totals. This would collect the display component and fragment and then does the rest so we would end up with something like this:
|
@fooman and @larsroettig, |
Proposal for a better checkout design
After working with an actual project based on PWA Studio, I realized the Checkout page is not adequately prepared for complex international projects. I have been thinking a lot about improving the checkout in the last few days.
I decided to discuss this publicly to get more opinions and develop the PWA Studio developer experience to the next level.
Challenge what I faced in terms of Customer Requirements
Gift card and discount can set total to a lower or zero amount
Customers want to integrate in-context and redirect payment methods.
Zip and Region are optional based on the selected country
Show Telephone, Company, Fax are optional bassed on store config
Store Config can disable guest checkout, but checkout can still be reached.
Technical proposal for more flexible flow in-context and redirect payment methods.
In my opinion, three main challenges in checkout place order are based on
useEffect
and not well changeable for developers.Current Workflow
Better would be here to use a changeable state machine pattern with default workflow.
API to allow to replace place order Button with a custom
MyCustomPlaceOrderButton
placeButtonOrderCollection
PlaceOrderButton
A three-step approach makes complex induce own workflow for redirect and in-context. Better go here with one-step or two-step checkouts like shipment as the first step. The second step could be here, then payment and review merged in one step.
The text was updated successfully, but these errors were encountered: