• I created an order for 1.5 hours of time (virtual product) with a discount applied and sent the invoice. My customer paid with paypal (included, not add on), and they were charged for 1 instead of 1.5, and then the discount was subtracted.

    It should have been 1.5 * 150 = 225 – 75 = 150
    It was charged as 1 * 150 = 150 – 75 = 75 and then put on hold because the price paid did not match the price of the invoice.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Phil

    (@fullysupportedphil)

    Automattic Happiness Engineer

    Hey 7thcircle,

    Based on the breakdown you’ve shared, it sounds like this is not a simple product. Is that true?

    By default products in WooCommerce have a fixed price, they don’t charge based on partial quantities as you mentioned (1.5 hours).

    Can you please try disabling all third-party plugin, except for WooCommerce on your staging/test site. Then create a new product and use that for a test purchase with your coupon.

    If you don’t already have a staging site set up, check with your hosting company as many offer this as part of their packages. Otherwise, you can use a free plugin such as WP Staging (https://en-ca.wordpress.org/plugins/wp-staging/) to set one up.

    If that works normally, then you’ll need to contact the developer of whatever plugin you are using to adjust these products.

    Thread Starter 7thcircle

    (@7thcircle)

    It is a simple, virtual product, but since it is for hours, I use decimal quantity to charge correctly. The problem is that the quantity, and metadata for the item is not being sent to paypal, but for all other gateways it works. The metadata is truncated, and the quantity decimals are dropped no matter what the decimal amount is. It also fails with whole amounts for the quantity if the total line items (with or without discount) is over 9, so if I have 10 distinct items. Is there a way to just send the total for order #xxx

    Phil

    (@fullysupportedphil)

    Automattic Happiness Engineer

    It is a simple, virtual product, but since it is for hours, I use decimal quantity to charge correctly

    The default functionality in WooCommerce doesn’t allow for that, so I’m not sure what you are doing to pass these decimal quantities.

    By default WooCommerce requires a full number, otherwise you are given an error like this:
    https://cld.wthms.co/BoTcIY

    My guess is whatever plugin or customization you are using to change that is impacting this.

    You’ll want to take a look at whatever customization or plugin is adding that functionality and then speak to it’s developer, as this isn’t something that WooCommerce supports natively.

    Using WooCommerce and a coupon, with no third-party themes or plugins active I’m not able to reproduce this issue regardless of if the quantity is above/below 10.

    Thread Starter 7thcircle

    (@7thcircle)

    It has nothing to do with the qty of an item unless it is a decimal since woo just sends whole numbers to paypal, but the number of different items. so if i have 10 different items and any whole qty of those items, it fails or if i have less than 10 items and decimal qty of any item it charges incorrectly.

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘Paypal and discounts’ is closed to new replies.