-
Notifications
You must be signed in to change notification settings - Fork 9.4k
Magento 2.2 Paypal Can't Accept Checkout Agreements Before Routing to PayPal #11885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@Silarn, thank you for your report. |
Confirm this issue on vanilla Magento CE 2.2. The agreement IDs are not populated in the request to Pretty urgent one this i'd say... |
As I mentioned in the op, even if you add the agreement data to the API call, it still fails because the PayPal payment type complains that it can't save custom data. Best workaround is to override the validator and skip it for PayPal Express for the time being. |
Same issue. Users can not proceed to Paypal. Is there any quick/hotfix for this issue? |
same problem for other payment methods except checkmo. (Monetico CM CIC payment in our case). |
same problem for all other payment methods since 2.2.0. The agreement is checked, but magento checkout shows a pop-up message with "please agree to all the terms and conditions before placing the order." |
same here, we are running Magento version CE 2.2.1 |
We are also getting the same issue in latest version 2.2.1. |
In the agreement settings, i set the mode of the agreement to automatically. Then there is no checkbox at the checkout (just the text) and the payment works. Maybe this is a temporary solution until magento fixed this issue. |
@CYBKBL ah yes, good suggestion. I've applied the same for the time being and it works well. Just have to change the wording a little to 'By checking out I agree to...' Thanks. |
Having the same issue with Bank Transfer Payment and other payment methods with Magento 2.2.1 as well. |
This is really not nice, struggled around with it and in the end i wrote a module which provides a quick fix to get the payment via paypal back for shops which are online now and cant wait for a new version. |
@roman204 confirm that the fix resolves the issue for us. Pretty shocked by the amount of issue 2.2.1 (and earlier versions) gives us. |
So much bugs and regressions with ezch version. I advise customers to stay
safe un 1.9.x version, much stable (and so much faster)
Le 9 déc. 2017 22:13, "Felix Wolfsteller" <[email protected]> a
écrit :
@roman204 <https://github.com/roman204> confirm that the fix resolves the
issue for us. Pretty shocked by the amount of issue 2.2.1 (and earlier
versions) gives us.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#11885 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAkPMkAB1PVvne3-aQd-7L6uGmcQTwneks5s-vgIgaJpZM4QLtpm>
.
|
@roman204 do you want to provide a Pull Request to fix the issue in the core as well?! :) |
hy @avoelkl, there is currently a pull request from someone, my solution is only for those who can't wait until a new version of magento is released. |
Sorry, seems I missed that 😅 @roman204 |
in ExpressPlugin there is a typo:
has to be changed to
|
Hi Ričards (@therool), |
Hi, Very thankful - Luckily this fix is being working for us. Tried to understand that fix to know what causes the issue actually. But not cleared whats wrong within 'additional data' of 'extension attribute key' ! (http://devdocs.magento.com/guides/v2.0/extension-dev-guide/attributes.html) Due to this fix, I would like to confirm that can there be any possibilities of having security hole in Magento-to-PayPal-to-Magento transaction ? And also, can there be any possibility of data loss ? if yes then please advise if any. Thanks & Regards. |
@23digitalTest there is no dataloss and no security issues with that fix, it just skips the extension_attributes object which just contains checkout agreement ids information, the need to unset the "extension_attributes" key is that it is an object and it can't be assigned to info instance and it contains no paypal data. https://github.com/magento/magento2/blob/2.2.2/app/code/Magento/CheckoutAgreements/view/frontend/web/js/model/agreements-assigner.js#L36, https://github.com/magento/magento2/blob/2.2-develop/app/code/Magento/Paypal/Model/Express.php#L628, https://github.com/magento/magento2/blob/2.2-develop/app/code/Magento/Payment/Model/Info.php#L154. |
Hi, Cool..very informative. Thanks a lot! Regards, |
Hi What can I do? Regards |
@robysalv cou can try my fix here: https://github.com/CopeX/PaypalFix I think it should work also in 2.2.3. This is getting ridiculous, sorry Magento-Team i love your work and so on but i think you should prioritize such bugs a bit more. |
thank you roman204 |
@roman204 Will the module work for Thrid-Party Payment Extensions too? (Paypal via Cardprocess payment module.) |
@yacms i dont think so because its only a fix for paypal module which is a magento core module |
Does anyone have fix of this, as I am also facing the same issue with Payumoney method installed in my system. |
Facing same issue after upgrading from Magento 2.1.3 to 2.2.3. Above solutions do not work for me unfortunately. Even roman204*s extension is not working for me. @roman204 Have you tested against 2.2.3 by chance? Thank you so much for your efforts on this fix. |
Yes i did test it with 2.2.3. Cause i developed it on that version. |
I can confirm that this issue is still present in 2.2.3 for me too. Thanks @roman204 for your module, it has been a lifesaver! @magento-engcom-team - why is this still present several releases after it was marked as fixed? With the upcoming introduction of GDPR in Europe having Terms and Conditions working at checkout is going to be essential. |
+1 |
@roman204 Thanks for your module, when I install it it doesn't really solve the problem though. It just makes PayPal disappear completely. Kinda solves the problem, but yeah - You have any advice? And this seems to be rather old, how come that Magento did not release a fix for that yet.. |
Still exists in 2.2.4 :( Can we give this higher priority? Client needs this functionality ASAP as GDPR legislation requires it in Europe! Cheers |
@Valentin-Huwer hmm seems to be another problem, we got now 2 shops online with our fix for paypal with magento2 and both work very well. |
Have you tried Magento 2.2.5? There the issue is gone for me. No other mentioned fix did work for me either. |
@roman204 I try to install your fix but i don't know how to bypass the error message via composer: |
You have to configure also the url of the git repo in composer.json file |
@roman204 Sorry, can you make me an example? |
Like that: |
The T&C checkbox used to work and started showing this issue in the 2.2.x series. We have some clients who think this error is not a core issue but third party module issue. Could someone please clearly establish if the "please agree to all the terms and conditions before placing the order." issue is a core issue or not, and how we can fix in third party modules? |
Am I wrong or does it say, it is fixed in 2.2.X? Anyone sure if it is fixed in 2.3? Gonna do a update then... |
Fixed in 2.2.x is kind of misleading. I guess it means it was fixed in the latest 2.2.x version at the time the tag was added. Sometimes you also have a comment saying "will be fixed in upcoming version 2.2.7 but then it isn't. To be really sure you should go to the release page and ctrl+f this issue number. If it was included then it will be part of the Community contributions list. This one was added in 2.2.4. |
Hello, please, where did I find this file? Thank you! |
@roman204 quick fix worked for us, thank you very much :)
|
This could potentially be a module conflict, but after stepping through and inspecting the checkout code I can't find any obvious third-party interference.
When going through standard checkout and selecting PayPal Express at the payment step, there is an agreements checkbox present. However, checking this box does nothing as the agreements data is not parsed and passed to the set-payment-information API. This triggers the CheckoutAgreements validation plugin which fails to validate with no agreements data.
When I override the PayPal JS to add the agreements data to the paymentData before sending to the API, it passes validation but then fails because PayPal doesn't allow setting extension data.
The only way I was able to work around the problem was by overriding the validation classes and skipping validation when the method was PayPal Express.
I was not experiencing this issue on prior versions of Magento 2, nor does it make sense to have agreements here since you must accept them again during the review step.
Preconditions
Steps to reproduce
(It does not seem to matter whether or not in-context is enabled - though for in-context the flow is even worse as it opens the pop-up window and then fails the payment submission leaving the window open in a failed state.)
Expected result
Actual result
The text was updated successfully, but these errors were encountered: