I have a Drupal 7 Ubercart 3.9 and the problem is that the user gets non-shippable product 3 times instead of 1.
The product is a role assignment for fixed time, and for some reason the role assignment is 3 times longer.

Order state changes in the order log looks like this:
from "In checkout" to "Pending"
From "Pending" to "Payment received"
From "Payment received" to "Completed"
(this should be enough, but then the state starts going back)
From "Completed" to "Payment Received"
From "Payment received" to "Completed
From "Completed" to "Payment received"
From "Payment received" to "Completed
And here it usually ends, but sometimes goes even more than 3 times to "completed".
So the problem is that the user is now granted 3 times longer than the original purchased role assignment.

With other payment methods, like Paypal, everything works correctly and there are no multiple "completed" states.

Comments

jukka792 created an issue.