solidusio / solidus_starter_frontend

🎨 Rails-based starter kit for your Solidus storefront.
BSD 3-Clause "New" or "Revised" License
55 stars 37 forks source link

Preventing available payment method rendering for orders fully covered by Store Credits #345

Closed rainerdema closed 1 year ago

rainerdema commented 1 year ago

Short-Term Solution

Desired Behavior

We want to prevent the rendering of available payment methods if the order will be fully covered by store credits. The primary issue is that having a $0 checkout due to full coverage by store credits can interfere with the regular checkout process. (See https://github.com/solidusio/solidus_stripe/issues/307). Our plan is to display a clear message indicating that the order is fully covered by store credits and remove the need for additional payment method selection.

Current Behavior

Currently, if an order is fully covered by store credits, the system still permits selection of a payment method. This often results in payments being created in the checkout state, which can get invalidated when store credits are added.

Screenshot 2023-05-25 at 17 29 31

Additional notes

Please note that there are edge cases where this solution may not cover the payment invalidation problem. For example, if a user selects a payment method and then moves from the payment step to the confirm step, the issue may still arise if the user goes back to the payment step and selects and fills another payment method.

For more details about the long-term solution, refer to https://github.com/solidusio/solidus_starter_frontend/issues/346.

For more information about these proposed solutions, please refer to https://github.com/solidusio/solidus/issues/5109#issuecomment-1576600115. This issue contains additional discussion and context about the identified problems and the suggested solutions to improve the store credit flow in Solidus.