I have commerce 2.14 and latest dev version of stripe module including 3D Secure 2 issue (https://www.drupal.org/project/commerce_stripe/issues/3039032).
Payment works but I can see in the stripe UI that some errors occur. See stripe log.png
These Requests are:
{
"amount": "299"
}
The return Code is as follows:
This PaymentIntent's amount could not be updated because it has a status of succeeded. You may only update the amount of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation.
| Comment | File | Size | Author |
|---|---|---|---|
| #6 | 3079162-6.patch | 4.38 KB | mglaman |
| #5 | 3079162-5.patch | 586 bytes | mglaman |
| stripe log.png | 90.82 KB | carsteng |
Comments
Comment #2
carsteng commentedComment #3
blacklabel_tom commentedI can confirm this behaviour
Comment #4
mglamanI made a mistake in the subscriber. It must ignore non-draft orders.
https://git.drupalcode.org/project/commerce_stripe/blob/8.x-1.x/src/Even...
There should be a check on the order state.
Comment #5
mglamanThe fix is to purge the payment intent from the order once we save the payment, I believe. If we had a data blob on payments we could keep the payment intent there for records.
Needs tests
Comment #6
mglamanWe check the status before running. Our tests now use a not-so-silent event subscriber. Tests this scenario.
Comment #7
ivan616 commentedI just applied this patch from #6 on our site and I can confirm error was no longer appearing on stripe dashboard.
Also, payment vent through successfully.
Comment #8
ivan616 commentedReview.
Comment #10
bojanz commentedCommitted #6.