Coupon = Free (100% discount), shipping only generates PayPal Error

I have researched this on the internet (including MarketPress Support) and see many exact issues, some dating back a couple of years. I can't seem to find a final resolution for MarketPress including this thread from 3 weeks ago:

I set up a coupon at a discount of 100%. I'm using Table Rate Shipping. The objective is to offer the product for free but pay for shipping.

All is computed correctly
Product: $20.00
Discount: -$20.00
Shipping: $4.00
Total: $4.00

When I choose Pay by PayPal (using PayPal Express) I get the following message:

There was a problem connecting to PayPal to setup your purchase. Please try again.

10413 - Transaction refused because of an invalid argument. See additional error messages for details. - The totals of the cart item amounts do not match order amounts

Any guidance on this?
Merv (@lzw8bk)

  • Jack Kitterhing
    • Code Norris

    Hi there Merv @lzw8bk

    I hope you are well today.

    I've tested this and also get the same result, I believe that's because the amount can't be 0.00 on PayPal's API, even though there is $4.00 to pay for shipping.

    I'll flag the lead developer on this to provide his valuable input :slight_smile:

    Also I would highly advise you to upgrade to the latest version of MarketPress :slight_smile:

    Thank you for being a WPMU DEV member!

    Kind Regards

  • lzw8bk
    • WPMU DEV Initiate

    Thanks Aaron,
    PayPal Express is the easiest to use so will have to live with it.

    Might want to consider a future enhancement to detect this condition and rearrange parameters sent to PayPal to compensate for the limitation.

    Finally, consider adding a product selection (multiple) to apply discounts on the Products => Store Settings => Coupons admin. Coupons on a product is sometimes more desirable than a global sales price.

    Thanks again!!
    Merv (@lzw8bk)

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.