Closed githubjonny closed 2 years ago
Hi thank you for your report.
Is it the same bug than #118 ?
Not sure (error is different but may be related), the payment occurs when paying via a card.
Looking in stripe we can see a 400 ERR "A request to update a paymentIntent XXXXXXXXXXXXXXX failed" with the code in the response of: "code": "payment_intent_unexpected_state", "doc_url": "https://stripe.com/docs/error-codes/payment-intent-unexpected-state", "message": "This PaymentIntent's payment_method_types could not be updated because it has a status of requires_capture. You may only update the payment_method_types of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action.",
Do you use option Authorize and Catch ? You use 2.4.2 version of the module ?
I think we probably need more information to reproduce the bug. Could you please contact our support https://addons.prestashop.com/en/contact-us?id_product=24922 and indicate that @clotairer sent you to the support and that you need level 2 support for this issue #120
Thank you.
All settings in the module are default with the exception : "Display an extended version of the form with card logos instead of the compact version. Choose the logos to display below based on the brands accepted by your Stripe account." is ticked.
No action is usually required by us to complete the payment (e.g. should be auto Authorized) and other payments since (all UK) have gone through fine.
Module V 2.4.2
talking to stripe now to see if they can shed any light.
Have already replied to an old ticket with prestashop (Thread #725025) but will add your details to end.
From Stripe:
My team could determine that: it seems that the country was not the issue.
On the first attempt, customer's card was declined. Then the card was changed and that was confirmed successfully. But then instead of finishing the checkout and capturing the funds, the customer was left on the checkout page. I would suggest that you contact Prestashop plugin for further assistance.
Yes a client has reported same bug after upgrade to 2.4.2
I think it could be related to using Android and details filled in with GPay
Please see attached screenshot
Our customer was using a windows device and not Gpay. Do you know if your clients customer had a failed transaction first?
ok thanks for that
Yes there was a failed payment initially so that could be it
And then a lot of this error
Error message "message": "This PaymentIntent's payment_method_types could not be updated because it has a status of requires_capture. You may only update the payment_method_types of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action." "type": "invalid_request_error"
Same here. 1 failed payment then 6 of :
"message": "This PaymentIntent's payment_method_types could not be updated because it has a status of requires_capture. You may only update the payment_method_types of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action." "type": "invalid_request_error"
Thank you for these elements. We will try to reproduce. @githubjonny we received your message. Keep in touch.
Hi @githubjonny We make some tests, it looks like the pull request #119 fixed this issue. But we found an other better solution to accept succeded payement after a first failed attempt. Thank you
Hi we also have this issue and appreciate the fix is in progress. To elaborate on the issue, it occurs when a customer enters wrong payment details and get an error message saying wrong details please try again. If they then re-enter correct details they then get the error message "This PaymentIntent's payment_method_types could not be updated because it has a status of requires_capture. You may only update the payment_method_types of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action.", the payment is authorised but left uncaptured in Stripe, no order is created on the back office and cart is abandoned.
This occurs if they enter wrong CVC, then try to update it, wrong card number, wrong expiry. They then can't place any order using this cart at all and have to delete cart and start again then use different payment method.
Can we use the changes in pull request now to fix the issue before the new module update is released?
Hi @jgriff321 I confirm your description correspond exactly to our constatation. So you can try to patch your module with this PR. However, we didn’t make QA validation and all test to be perfectly sure there isn’t regression. If you decide to apply this PR on your environment, we will be glad to collect your feedback.
thank you
Can you please confirm the changes needed to fix this issue as we are still seeing this issue occur
is it just the 1 line change on https://github.com/202-ecommerce/stripe_official/pull/119/commits/af5e1d3376936a03abb7cca46a524a4fd7a02726 ?
Hi, This issue is linked to this PR: https://github.com/202-ecommerce/stripe_official/pull/124/files
Thanks
Hello @clotairer Do you know when the module will be updated? Also is the change on https://github.com/202-ecommerce/stripe_official/commit/af5e1d3376936a03abb7cca46a524a4fd7a02726 a tempoary fix whilst the changes on https://github.com/202-ecommerce/stripe_official/pull/124/files are hopefully the permenant fix?
The PR https://github.com/202-ecommerce/stripe_official/commit/af5e1d3376936a03abb7cca46a524a4fd7a02726 was proposed by the community but doesn't fix all cases. The next release is not schedule for now. If you contact our support we will supply a fix before the next release. Just indicate the issue 120 on Github.
PS 1.7.8.3
For all UK orders, everything seems to be working fine. However for some non UK orders, we are seeing the below error:
"This PaymentIntent’s payment_method_types could not be updated because it has a status of requires_capture. You may only update the payment_method_types of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action."