PAYONE-GmbH / magento-1

PAYONE Payment Extension for Magento 1
22 stars 40 forks source link

Wrongly Re-Used PAYONE Transaction #396

Open sprankhub opened 4 years ago

sprankhub commented 4 years ago

To be honest, I did not have the time to fully reproduce the issue, but I think it is worth reporting anyway. Especially, because I think it could be reproducable on your side :-)

Magento 1.9.4.3 Payone_Core 4.5.0

This leads to the issue that the order is correctly created with 40 EUR total amount in Magento, but only 30 EUR are paid at PAYONE, because the same PAYONE transaction is used (the transaction ID is the same).

fjbender commented 4 years ago

I am having a hard time reproducing this. It seems to be impossible to remove a voucher code from the basket once it's in there. For me, the voucher remains in the basket so the amount is always reduced. Only killing off the session gets rid of the coupon.

sprankhub commented 4 years ago

Sorry for that! I hoped that this is easier :-) So even though I am sure the customer did not do that, did you try to submit an empty or invalid coupon code? This should remove the code I guess. Not sure if the issue is reproducible like that, but maybe it helps.

fjbender commented 4 years ago

Nope, it's also not possible to reproduce it with submitting an empty code. Sorry :/

sprankhub commented 4 years ago

We just had a similar case. Let us simplify this and set aside the coupon code:

If you do this, there are multiple issues:

  1. The same PAYONE transaction is used. Hence, both orders have the same PAYONE transaction ID.
  2. In the PAYONE backend, there is only a reference to the first, cancelled order.

This leads to the issue that accounting cannot map the invoice (second successful order) to the payment (first order).

Can you reproduce this issue more easily, @fjbender?

fjbender commented 4 years ago

Well, this is weird. With the "second" order, the Payone plattform issues a new transaction ID, which should subsequently used, as the first one is "burned". And this is exactly the case when I try to reproduce this. I used the "Back to $Merchantname" Link on the PayPal page, because any usage of the browser's back button got be back to an empty basket and a canceled order.