Skip to content
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

Bancontact Mobile payments notification fails and payment status stays "In progress" #617

Open
MelvinAchterhuis opened this issue Feb 11, 2025 · 5 comments

Comments

@MelvinAchterhuis
Copy link
Contributor

MelvinAchterhuis commented Feb 11, 2025

Describe the bug
Bancontact Mobile payments notification fails and payment status stays "In progress"

Versions
Shopware version: [6.5.8.16]
Plugin version: [3.17.5]
PHP version: [8.2.27]

To Reproduce
Steps to reproduce the behavior:

  1. Only have saleschannels with domains like domain.com/nl-NL and domain.com/nl-BE, but not on domain.com
  2. Go to checkout
  3. Pay with Bancontact Mobile
  4. Payment is authorized according to Adyen but returns to wrong finish page and payment status stays stuck on "In progress"
  5. Customer sees 500 error

Image

Adyen log: adyen_notification.ERROR: Notification processing failed. {“eventCode”:“AUTHORISATION”,“orderId”:“0194f53c6edd71b3aedab19086b61eeb”,“orderNumber”:“226341",“errorMessage”:“Input should contain a list of associative arrays.“} []

Nginx access log: [11/Feb/2025:14:40:02 +0100] "GET /adyen/proxy-finalize-transaction?_sw_payment_token=bearer_token&orderId=0194f53c6edd71b3aedab19086b61eeb&transactionId=0194f53c6ee5712bb86993a8dc05e98e HTTP/2.0" 500 60784 "https://www.domain.com/nl-NL/checkout/confirm" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36"

PHP error log: [11-Feb-2025 13:40:02 UTC] PHP Fatal error: Uncaught Shopware\Storefront\Framework\Routing\Exception\SalesChannelMappingException: Unable to find a matching sales channel for the request: "https://www.domain.com/adyen/proxy-finalize-transaction?_sw_payment_token=bearer_token&orderId=0194f53c6edd71b3aedab19086b61eeb&transactionId=0194f53c6ee5712bb86993a8dc05e98e". Please make sure the domain mapping is correct

I guess the plugin redirects to domain.com after payment instead of domain.com/nl-NL, we have no saleschannel configured on domain.com and thus an error is thrown.

Expected behavior
Paymentstatus gets to Authorized -> Paid

Screenshots

Image

Image

@MelvinAchterhuis
Copy link
Contributor Author

If you only use 1 domain per SalesChannel as in my case you could use this patch, where I retrieve the first domain from the SalesChannelContext and assemble the URL myself.

https://gist.github.com/MelvinAchterhuis/e7a41336fb49b71c4f0a943e76267edf#file-bancontact-mobile-wrong-url-redirect-patch

@adyen-integrations-support

Hi @MelvinAchterhuis ,

We have successfully reproduced this issue in our local environment and are currently investigating it. We will update you as soon as we have more information.

Thank you for your patience.

Best regards

@romaneckert
Copy link

We have the same problem with other payment methods. "Input should contain a list of associative arrays." does not help to find the problem.

But we couldn't recognize a pattern yet. It looks as if the problem did not yet exist in version 4.2.3.

Please add the call stack to your logging informationen. Then the logs would also be more helpful.

Tested in Plugin Version 4.2.6

@Gugiman
Copy link

Gugiman commented Feb 21, 2025

We get the same error on a paypal order.

Shopware 6.5.8.13
Adyen 3.17.5

We also have several saleschannels with multiple language paths (e.g. domain.com/uk)
But i cannot find a log entry in PHP log

@romaneckert
Copy link

@Gugiman We do have error logs about that Problem, but we do not have a call stack in the error logs. So the logs from the adyen plugin does not help to identify the Problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants