Skip to content

Checkout does not handle free orders with discounts #814

@callumbwhyte

Description

@callumbwhyte

Which component is this issue related to?

Checkout

Which Umbraco Commerce version are you using? (Please write the exact version, example: 10.1.0)

13.1.2

Bug summary

When reaching the "Review" step on Checkout, if the order value is not greater than 0, an error occurs.

Having an order with 0 payment due is a valid scenario – in this case not due selling free products, but where an order might be discounted to free e.g. via a coupon.

The logic in Umbraco Commerce and Checkout does not check if the order actually requires payment before calling BeginPaymentForm, leading to an error within (most) payment providers.

Specifics

We have both Stripe and PayPal configured for our store, and understandably both of these require a valid currency amount to render a payment form...

Enabling the "zero value" payment method is not a valid option here, as products typically do require payment.

Steps to reproduce

  • Install Umbraco Commerce Demo Store
  • Configure Stripe / PayPal payment provider
  • Create a discount for 100% off
  • Add an item to cart
  • Apply discount code
  • Complete checkout process
  • Select Stripe / PayPal as payment method
  • Error occurs on "Review" step

Expected result / actual result

No response

Dependencies

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions