cancel
Showing results for 
Search instead for 
Did you mean: 

Coupon code gets invalidated if the order is not paid for.

Coupon code gets invalidated if the order is not paid for.

Greetings,
if a customer uses a single-use coupon code and selects Credit Card/PayPal as payment method, the coupon will result as correctly used [and so invalidated] if he doesn't continue with the required Credit Card info.

 

Long story short, he didn't complete the purchase but the coupon is not usable anymore and I have to give him another one. Basically if the order is in "Pending Payment" the coupon is still considered used.

 

How can I make so that the coupon will result used only when payment is correctly made?

6 REPLIES 6

Re: Coupon code gets invalidated if the order is not paid for.

Hi @simone_romeo,

Please check you coupon code edit setting:

Make sure the following setting:

You should select
Uses per customer = 1 instead of
Uses per coupon.

Re: Coupon code gets invalidated if the order is not paid for.

Hi @Vimal Kumar and thank you for answering.

 

That won't work, sadly. If I do as you're saying, multiple people would be able to use the same single-use coupon.

Also the same person wouldn't be able to reuse the same coupon in the scenario I described.

Re: Coupon code gets invalidated if the order is not paid for.

@simone_romeo 

How you offer new coupon code for a customer?

Using email or globally on the site, if you are sending coupon code using email to specific customer then other customer can't have that code. 

In this case I hope "Uses per customer = 1" will work. 
and leave "Uses per coupon" to blank.  

Please let me know if still not work. 

Re: Coupon code gets invalidated if the order is not paid for.

Hi @Vimal Kumar and thank you for answering.

 

My coupons are available in a coupon site within a sharing community, so it's not uncommon that a single-use coupon would be passed around. Of course only one person is able to use it.

 

These are the cases:

 

  • A person uses the coupon "123456", pays for the order, order is in "Pending" state -> No problem here.
  • A person uses the coupon "abcdef", doesn't pay for the order, order is in "Pending payment" state -> There is a problem here since the coupon won't work anymore and I have to create a substitutive one since "abcdef" will result as correctly used.

If I set "Uses per customer = 1" then that same person won't be able to use the same coupon again, and I have to substitute it [that's exactly what I'm doing now]

If I set "Uses per customer = 100" and "Uses per coupon = 1" won't change anything because that coupon is resulting as used and cannot be used anymore.

If I set "Uses per customer = 1" and "Uses per coupon = 100" the same person could use that coupon 100 times, he just needs to logout or make another account to use it again and again. Also he could just share it with his friends.

Re: Coupon code gets invalidated if the order is not paid for.

Let's put this in a simpler way: I want that any coupon I offer will result as used only if the order is set as "Pending" or "Processing".

Re: Coupon code gets invalidated if the order is not paid for.

Hi @simone_romeo 
It is not possible directly from the settings. 
You need to do some customization in the code as well.

You need to create a module to check if order is cancelled or payment failed then decrease the uses of coupon by -1 using event observer.

Fro more info you can check the following link.
https://magento.stackexchange.com/a/125857

I hope it will help you!