Giter Site home page Giter Site logo

adyen / adyen-prestashop Goto Github PK

View Code? Open in Web Editor NEW
14.0 13.0 14.0 4.8 MB

Adyen Payment plugin for Prestashop

License: MIT License

PHP 55.07% CSS 8.60% Smarty 3.94% JavaScript 31.88% HTML 0.49% Twig 0.03%
adyen-plugin prestashop adyen payment-gateway payment-integration payment-processing payment-module hacktoberfest

adyen-prestashop's Introduction

Adyen Payment plugin for PrestaShop

Use Adyen's plugin for PrestaShop to offer frictionless payments online, in-app, and in-store.

Contributing

We strongly encourage you to join us in contributing to this repository so everyone can benefit from:

  • New features and functionality
  • Resolved bug fixes and issues
  • Any general improvements

Read our contribution guidelines to find out how.

Requirements

This plugin supports PrestaShop versions 1.7.5.0 to 8.1.6.

Documentation

Please find the relevant documentation for

Support

If you have a feature request, or spotted a bug or a technical problem, create a GitHub issue. For other questions, contact our support team.

Note: if you are still using an older version of the Adyen Prestashop integration (below v5.0) please refer to this documentation.

Important information

Support deprecation plan for old plugins Prestashop (below major release v5.0):

  1. Only critical functionality and security updates until June 2024.
  2. Only critical security updates from June 2024 until June 2025.
  3. Support will be fully suspended for old Prestashop plugins from June 2025 onwards.

Disclaimer

We only support the plugin with no customizations. Please make sure before you raise an issue that you revisit it on a newly installed "vanilla" PrestaShop environment. With this practise you can make sure that the issue is not created by a customization or a third party plugin.

For developers

Integration

The plugin integrates card component (Secured Fields) using Adyen Checkout for all card payments. Currently, the following versions of Web components and Checkout API are utilized in the code:

  • Checkout API version: v69
  • Checkout Web Component version: 5.31.1

License

MIT license. For more information, see the LICENSE file.

adyen-prestashop's People

Contributors

acampos1916 avatar adyen-gc avatar aleffio avatar aleksandarboljanovic avatar aziya-im avatar cyattilakiss avatar gavric-sava avatar goran-stamenkovski-logeecom avatar kadobot avatar marijaiv avatar merijndebeer-adyen avatar morerice avatar msilvagarcia avatar nikola-buzej avatar rikterbeek avatar tamaralogeecom avatar teodoratimoti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adyen-prestashop's Issues

Refusal reason in logs

Add refusal reason to logs:

For example fraud rejectjion - the merchant only sees that the payment was rejected but not the actual reason so they cannot act upon that

Still will not be shown to the customer

Order created before payment is successful

Hi,

There is a problem with this module but I am not sure if it is a bug, design flaw or I have missed something. The issue occurs when a shopper clicks pay then cancels the transaction, decides to pay with a different method or inputs the wrong details.

This is a particularly large problem when paying with 'Malaysia E-Banking'. Once a shopper selects pay, they are forwarded to an Adyen window where they can login to their bank. At this time, an order is created with an awaiting payment status. If the shopper cancels, chooses to use another payment method or inputs their details incorrectly, their cart will be empty when they return to the shop. There is no way for them to complete the sale.

This issue occurs on Prestashop 1.6.1.21.

I believe the cart should only be converted to an order once the transaction is complete. If the transaction fails for any reason, the cart is still available so shoppers can try again

I know another third party module uses this approach as the default mode.

Pending order

Thanks so much for your consideration.

Regards,

Luke

p.s. This report is related to issue #192

[PW-3316] Incoherence between order status from notifications system and payment response handling

Description
When an order is created with a Adyen payment, the order status is "payement accepted".
If an error has occured during the payment, for example "authentication failed (3D-secure)", but the payment is OK after the second attempt, we receive 2 notifications : one AUTHORISATION with success FALSE and another AUTHORISATION with success TRUE. So the Notification system (NotificationProcessor) move the order from "Payment accepted" to "Canceled" (first notification) and then from "Canceled" to "Payment accepted" (second notification). Consequently the customer receive one mail with "order OK" (when the order is created) and another with "order canceled" (when the first success false notification is processed).

To Reproduce
Steps to reproduce the behavior:

  1. Create an order
  2. Select Adyen payment method
  3. 1st attempt : make an error during the 3D secure check (example : wrong code)
  4. 2nd attempt : make a success payment
  5. Redirection on the seller site : order OK (payment OK)
  6. We receive a mail : order ok
  7. 1 minute after we receive another mail : order canceled (first notif processed, cron job configured to each minute).

Expected behavior
Why the order is not set to status "Waiting payment" after the payment in order to let the notification system to set canceled/payment ok ?

Screenshots
Prestashop back-office
2020-10-20_15h26_21

Notifications received (database)
2020-10-20_15h29_17

Context

  • Adyen module 2.1.7

  • Prestashop 1.6.1.20

[PW-2779] Adding a spinner/disabling button after click on Pay

Is your feature request related to a problem? Please describe.
If there's some network latency the user could spam Pay button, this will result in multiple transactions being made

Describe the solution you'd like
Adding a spinner and disabling the button after the first click to avoid such issues.

Describe alternatives you've considered
If a spinner is not possible at least disabling the button would make it.

Merchant requirement : DegriffStock

[PW-3315] Order status changed by notifications even if the payment method has been changed

Describe the bug
When a user changes payment method (Paypal, etc.) after failed attempts with Adyen, the notification system modified the order status anyway (to canceled). The notification system does not check the real payment method.

To Reproduce
Steps to reproduce the behavior:

  1. Create an order
  2. Try to pay with Adyen
  3. Go back to the site and pay with another method (paypal, etc.)
  4. Order created with Payement accepted
  5. The notification system modify the status to "canceled" (notifications received from the failed payment attempts of step 2)

Expected behavior
The payment method should be checked before changing the status.

Context

  • Adyen module 2.1.7
  • Prestashop 1.6.1.20

Change payment method order as per CA [Account->Checkout]

Is your feature request related to a problem? Please describe.
We can not change the order in which payments method are displayed. There is this option in CA under Account->Checkout but it does no effect on prestashop. Tested on TEST but not on LIVE.

Describe the solution you'd like
Having the same order as set up in CA.

Describe alternatives you've considered
N/A

Additional context
N/A

[Oney] remove personal detail form

Describe the issue
Currently with the One/Facilipay payment method there is a huge form on the cart page. We would like to remove this form and only display a "pay" button that goes directly to Oney.

How could we tell the plugin, to send personalDetails, billingAddress and deliveryAddress to “hidden" during the API call ?

[PW-2859] 2.1.4 version bug in payment method "EPS" / PrestaShop 1.6.1.9

Hi,

when using your 2.1.4 module within a PrestaShop 1.6.1.9 live environment (https://er-software.shop), the payment method "EPS" (Austria) displays a dropdown field to select the customer's bank name. When you click to open the list, it opens a (non-existent) html link on the same domain, which results in a 404 error page instead of unfolding the bank list.

The dropdown list is linked with a tag, which could not be the desired behavior. It should unfold the dropdown list instead. Wählen Sie Ihre Bank

You can reproduce this bug if you install the 2.1.4 module in PrestaShop 1.6.1.9 using a merchant account with "EPS" payment method activated.

Please also watch the video of this bug:

https://drive.google.com/file/d/1B-Ux8GVr3VWW90hAHpHcMAidsFEKJQVy/view

I experienced this behavior with MacOS Catalina, Chrome and Safari browsers, as well as with iOS 13.6 and it' Safari browser.

Please fix it as soon as possible, as "EPS" is widely used by our customers and helps to increase the turnover which is processed via Adyen.

Thanks!

Reinhard Keller, CEO
E&R Software GmbH

2 order lines for 1 payment

Describe the bug
Sometime 2 order lines are created instead of one.

Screenshots
As you can see there is 2 order lines "payment needs attention"
image002

Same here with status "Waiting FIA-NET validation" (???)
image011

More examples here
image009
image010

Desktop (please complete the following information):

  • OS: Windows
  • Browser: Chrome

Additional context
Logs line attached.
adyen_notificationMarchApril.log
infoMarchApril.log.zip

Case mismatch between loaded and declared class names

Hi,

Prestashop 1.7
After installing and configuring the module, I'm getting this error when the DEBUG mode is turned ON "Case mismatch between loaded and declared class names "Adyen\PrestaShop\model\Hashing" vs "Adyen\PrestaShop\Model\Hashing"
image

. I tried to change lowercase to capital, but then the errors change to "This doesn't seem to be a class name: Adyen\PrestaShop\Model\Hashing."

On the payment page when the DEBUG mode is turned off, I'm getting the error that the API key is not correct, could it be may be related to the first point of my question?

image

Could anyone help me with this problem?

Thanks.

seem override issue on prestashop 1.6.1.23

Good Morning after module installation on my staging server i have an error when i try to execute cron script.
This error look like override problem so you can see error message below :

[27-Apr-2020 10:49:53 Europe/Rome] PHP Fatal error: Uncaught Error: Class 'AdminAdyenPrestashopCronController' not found in /home/stagekiteworldsh/public_html/classes/controller/Controller.php:134
Stack trace:
#0 /home/stagekiteworldsh/public_html/classes/Dispatcher.php(359): ControllerCore::getController('AdminAdyenPrest...')
#1 /home/stagekiteworldsh/public_html/admin967ikuijp/index.php(58): DispatcherCore->dispatch()
#2 {main}
thrown in /home/stagekiteworldsh/public_html/classes/controller/Controller.php on line 134

Oney3x4x : Adding installments view in checkout page

Is your feature request related to a problem? Please describe.
Oney is pushing for having an installment view in the checkout page. This will add more transparency with the shopper by giving him a clear view of what he'll pay.

Describe the solution you'd like
Here's a screenshot example given by Oney :
Untitled

Additional context
Note that this is not mandatory, however it would be a very nice value added feature.

[PW-2817] 5 times the same order in the same second

Hi team,

Describe the bug
Shopper pays at 18h10 : 1845959526403196
3 minutes later, there is a duplication of the same order for 5 transactions, all withing the same second :
1345959528082613
1645959528081240
1345959528082647
1645959528081281
4745959528083470

As per the log I don't see anything wrong. First I thought about the shopper that 'spam clicked' the pay button but the fact that the 5 duplicates transactions comes 3 minutes after the first one invalidate this theory.
See attached :
adyen_notification.log
error.log
info.log

The merchant, Degriffstock, is using plugin v2.1.5 with prestashop v1.6.1.18.

Thanks.

3DS redirection error

Describe the bug
Following a 3DS authentication when the shopper is redirected to the merchant's website, an error is displayed and the order is not validated.

Here's the screenshot of what the use see :
image001

There is several psp impacted, not only with chrome :
Customer #1
1546001755018833
4546001769566409

Customer #2
1639006770067523
1839006773934149
1539006955157892 (firefox)
1539006956793042 (firefox with another card)
4336007819687156

Customer #3
1759008843411666
4656009347632037

The merchant already created several ticket to support, but no solution was found.
Let me know if you need anything.

Here's what I see from the plugin's logs (1539006955157892) : info.log
[2020-09-21 15:38:34] ADYEN.INFO: Request url to Adyen: https://352ed283f9a1f226-Degriffstock-checkout-live.adyenpayments.com/checkout/v52/payments {"is_exception":false} [] [2020-09-21 15:38:34] ADYEN.INFO: JSON Request to Adyen:{"browserInfo":{"userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko\/20100101 Firefox\/78.0","acceptHeader":"application\/json, text\/javascript, *\/*; q=0.01","screenWidth":"1760","screenHeight":"990","colorDepth":"24","timeZoneOffset":"-120","language":"fr","javaEnabled":"false"},"billingAddress":{"street":"19 rue rapatel","houseNumberOrName":"2 \u00e8me \u00e9tage app 208","postalCode":"93100","city":"Montreuil","country":"FR"},"deliveryAddress":{"street":"19 rue rapatel","houseNumberOrName":"2 \u00e8me \u00e9tage app 208","postalCode":"93100","city":"Montreuil","country":"FR"},"amount":{"currency":"EUR","value":7998},"reference":589983,"merchantAccount":"DegriffstockECOM","returnUrl":"https:\/\/www.degriffstock.com\/module\/adyenofficial\/Result?adyenMerchantReference=589983","paymentMethod":{"type":"scheme","encryptedCardNumber":"adyenj***","encryptedExpiryMonth":"adyenj***","encryptedExpiryYear":"adyenj***","holderName":"gnazallo","encryptedSecurityCode":"adyenj***"},"additionalData":{"allow3DS2":true},"channel":"web","origin":"https:\/\/www.degriffstock.com","shopperReference":80054,"shopperEmail":"[email protected]","shopperName":{"gender":"MALE","firstName":"Louis Johnson","lastName":"gnazallo"},"countryCode":"FR","shopperLocale":"fr","shopperIP":"77.197.204.34","applicationInfo":{"adyenLibrary":{"name":"adyen-php-api-library","version":"6.3.0"},"adyenPaymentSource":{"version":"2.1.6","name":"adyen-prestashop"},"externalPlatform":{"version":"1.6.1.18","name":"PrestaShop"},"merchantApplication":{"version":"2.1.6","name":"adyen-prestashop"}}} {"is_exception":false} [] [2020-09-21 15:38:37] ADYEN.INFO: JSON Response to Adyen:{"resultCode":"RedirectShopper","action":{"paymentData":"Ab02b4***","paymentMethodType":"scheme","url":"https:\/\/3dsecure-prd2.monext.fr\/mdpayacs\/pareq","data":{"MD":"VWs0RkovWUhpMUNkV0JueityN2U3dz09IUSnCjgtzy_8e2FNlVUvcYRUDq0HB9XP-F-GXtiR-ZyWkUOosGXcua9-Nj86WGM7hcKRNuQ4F3bq1KBMQrWq6NzVvX5WFOXa-XZDslh6_Noys_pm90BcedagSODW-EbwBkC8dVZ8TGilujkocn1ji2lAGRCATddVoa8ZB8DGNTiY7znrzm8hJiIO-PIyiQF48FrVGoZvL2QCS4k0yUU7gVumySCEVXRZls63KlEK0NpfK_PM5czIzvTQXzrHFnWtOiXTE050qMKQL2hjmalY6Bw6loNbwIwMo00wWdtIdm2CYCdNzgT0Cx0sR__mkWek40b4ho5sumJpjnvvHMgBOnLc-DEdFt5VqPyocXz7UkgYY5yn68OzhuH57Fx1zJctdQtUuh6_DepXIBKSQUloDIqLsXh4r3w9kAhF674nVZP7DVsqYacPjSAPLr6shok","PaReq":"eNpVUtluwjAQ\/JWID4gPMMFosZQWqvIARRQ+wHIWSCkOOKYcX1+bs\/XTzuzh8axhtnKI\/U80e4cKRljXeolJWfQaXSaaktK2FIKJrCN5Q8Ekn+JOwQ+6uqysYilNOZA7DO3OrLT1CrTZvQzHSvC2aGdAbhA26Ib9G0sp5SLLpABypcHqDao3p63BJA+DfDK0Hp3VPkzXQC55MNXeendSXFAgdwB7961W3m\/rLiGHwyEtcOnKxaL2lVmnptoQILEEyFPjZB+jOow8loUazebnj1l+GH+t2Xg2YOPzUoyWeTw9ILECCu1RccoplZwlrNltdrrNIP\/Cg95ELWownyaZTGUnvPrKwDZelF9BJmPmLwPBeofWnJTMQuqBAI\/bymKoCBY\/YiBP2a\/v0Wjjg3ct2mpxyTIWvb4wsb2MNnHaufRHACT2kNsayW3dIfr3DX4BbNet5g==","TermUrl":"https:\/\/www.degriffstock.com\/module\/adyenofficial\/Result?adyenMerchantReference=589983"},"method":"POST","type":"redirect"},"details":[{"key":"MD","type":"text"},{"key":"PaRes","type":"text"}],"paymentData":"Ab02b4***","redirect":{"data":{"PaReq":"eNpVUtluwjAQ\/JWID4gPMMFosZQWqvIARRQ+wHIWSCkOOKYcX1+bs\/XTzuzh8axhtnKI\/U80e4cKRljXeolJWfQaXSaaktK2FIKJrCN5Q8Ekn+JOwQ+6uqysYilNOZA7DO3OrLT1CrTZvQzHSvC2aGdAbhA26Ib9G0sp5SLLpABypcHqDao3p63BJA+DfDK0Hp3VPkzXQC55MNXeendSXFAgdwB7961W3m\/rLiGHwyEtcOnKxaL2lVmnptoQILEEyFPjZB+jOow8loUazebnj1l+GH+t2Xg2YOPzUoyWeTw9ILECCu1RccoplZwlrNltdrrNIP\/Cg95ELWownyaZTGUnvPrKwDZelF9BJmPmLwPBeofWnJTMQuqBAI\/bymKoCBY\/YiBP2a\/v0Wjjg3ct2mpxyTIWvb4wsb2MNnHaufRHACT2kNsayW3dIfr3DX4BbNet5g==","TermUrl":"https:\/\/www.degriffstock.com\/module\/adyenofficial\/Result?adyenMerchantReference=589983","MD":"VWs0RkovWUhpMUNkV0JueityN2U3dz09IUSnCjgtzy_8e2FNlVUvcYRUDq0HB9XP-F-GXtiR-ZyWkUOosGXcua9-Nj86WGM7hcKRNuQ4F3bq1KBMQrWq6NzVvX5WFOXa-XZDslh6_Noys_pm90BcedagSODW-EbwBkC8dVZ8TGilujkocn1ji2lAGRCATddVoa8ZB8DGNTiY7znrzm8hJiIO-PIyiQF48FrVGoZvL2QCS4k0yUU7gVumySCEVXRZls63KlEK0NpfK_PM5czIzvTQXzrHFnWtOiXTE050qMKQL2hjmalY6Bw6loNbwIwMo00wWdtIdm2CYCdNzgT0Cx0sR__mkWek40b4ho5sumJpjnvvHMgBOnLc-DEdFt5VqPyocXz7UkgYY5yn68OzhuH57Fx1zJctdQtUuh6_DepXIBKSQUloDIqLsXh4r3w9kAhF674nVZP7DVsqYacPjSAPLr6shok"},"method":"POST","url":"https:\/\/3dsecure-prd2.monext.fr\/mdpayacs\/pareq"}} {"is_exception":false} [] [

And few minutes later on error.log
[2020-09-21 15:39:20] ADYEN.ERROR: 14_0380: PaymentData and MD belong to different requests, please submit the correct MD {"is_exception":false} [] [2020-09-21 15:39:20] ADYEN.ERROR: Error during validate3d paymentsDetails call: exception: PaymentData and MD belong to different requests, please submit the correct MD {"is_exception":false} []

Maybe something to check on here ?

3DS redirection error.zip

[PW-2778] Displaying pm titles inside the UI block

Is your feature request related to a problem? Please describe.
As for now the title of the payment method is outside of the UI block. The merchant modified the CSS in order to achieve what he wants.

Describe the solution you'd like
It would be useful to have the option to display the PM titles inside (or outside) the UI block.

Merchant requirement : DegriffStock

Refund from prestashop admin is marked as done even if fails from the api

Describe the bug
When refunding an order, partial or standard refund from prestashop admin, it could fail from adyen api, maybe because the order is authorized and not captured, but prestashop marks the order as refunded and notifies the client even if no refund is really done. I think that even this could be overcomed as capturing orders immediately there could be other errors that the plugin does not catch and the refund fails in similar manner with false positives.

To Reproduce
Steps to reproduce the behavior:

  1. Make an order and do not capture it immediately, leaving it as authorized
  2. Go on order detail page
  3. Click refund (partial or standard refund)

Expected behavior
An error is shown on prestashop if the refund could not be done

Logs
Adyen plugin info logs shows the refund was received

[2021-09-14 09:45:04] ADYEN.INFO: Request url to Adyen: https://pal-test.adyen.com/pal/servlet/Payment/v51/refund {"is_exception":false} []
[2021-09-14 09:45:04] ADYEN.INFO: JSON Request to Adyen:{"originalReference":"60521477","modificationAmount":{"value":18090,"currency":"EUR"},"reference":"71","merchantAccount":"MERCHANTID","applicationInfo":{"adyenLibrary":{"name":"adyen-php-api-library","version":"6.3.0"},"externalPlatform":{"version":"1.7.6.3","name":"PrestaShop"},"merchantApplication":{"version":"3.7.1","name":"adyen-prestashop"}}} {"is_exception":false} []
[2021-09-14 09:45:04] ADYEN.INFO: JSON Response to Adyen:{"pspReference":"823631605504646A","response":"[refund-received]"} {"is_exception":false} []
[2021-09-14 10:01:41] ADYEN.INFO: Request url to Adyen: https://pal-test.adyen.com/pal/servlet/Payment/v51/refund {"is_exception":false} []
[2021-09-14 10:01:41] ADYEN.INFO: JSON Request to Adyen:{"originalReference":"60521477","modificationAmount":{"value":2490,"currency":"EUR"},"reference":"72","merchantAccount":"MERCHANTID","applicationInfo":{"adyenLibrary":{"name":"adyen-php-api-library","version":"6.3.0"},"externalPlatform":{"version":"1.7.6.3","name":"PrestaShop"},"merchantApplication":{"version":"3.7.1","name":"adyen-prestashop"}}} {"is_exception":false} []
[2021-09-14 10:01:42] ADYEN.INFO: JSON Response to Adyen:{"pspReference":"82363160650
***","response":"[refund-received]"} {"is_exception":false} []

on private adyen logs (as told to me from adyen support) the following error is shown:

"originalReference":"***60521477**","pspReference":"82363160650*****","transactionType":"refund","result":"Transaction hasn't been captured, refund not possible"

** Versions **
adyen plugin version: 3.7.1
prestashop: 1.7.6.3

2.1.4 adyenofficial.zip Missing Vendor Folder

Just a heads up. The 2.1.4 zip package you uploaded a few days past is missing the vendor folder. The previous uploads appear to have it. Also, there may have been something awry with 2.1.3 as when I tried to load that zip into Prestashop 1.7, Prestashop returns that it's not a valid module. Not sure why. Then I tried the 2.1.2 zip and it installed fine with Prestashop.

[PW-2671] Oney Bug

Describe the bug
A clear and concise description of what the bug is.

The Oney payment method is active on the Adyen side, it appears on the payment page but the button is inactive.
Oney

Prestashop V1.6.1.18
Module Adyen V2.1.3

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Vendor folder missing?

It is not possible for me to install the module, vendor folder should be included but there is none? Maybe I am not looking correctly. Seems only to be the case for the latest version.

Shipping fees are refunded twice

Describe the bug
When an order with shipping fees is refunded, those fees are refunded twice.

Example : 1319056392467061

image001-1
See the lines before totals:
Réductions = discount (not relevant here)
Livraison = shipping fees. (7,5EUR)
Total amount is 47,49EUR with shipping fees included

See logs attached, we send a refund request (4716101020123117) for 54,99EUR (which is = 47,49 + 7,5), obviously we reject it as the amount is bigger than the original payment.
extractLogs.log

Payment fields not displayed following sign in from existing customer

Hi,

I have been receiving a problem where the payment fields are not displaying correctly. This problem occurs when an existing customer first adds items to their cart, then logs in to an existing account at the checkout page. The following payments are displayed:

no-fields

If the customer selects pay, the following message is displayed.

{"action":"error","message":"There was an error with the payment method, please choose another one."}

The Adyen error log shows:

[2021-07-01 11:31:48] ADYEN.ERROR: There was an error with the payment method. id: 3336 Missing data: payment method is not sent in the request! {"is_exception":false} []

I have also attached the info log (account details removed).
info.log

If I replicate these steps but refresh the page, checkout can proceed as normal.

This problem occurs on Thirty Bees 1.1 and also a clean install of Prestashop 1.6.1.24.

This issue is sometimes accompanied by a load of 'HMAC key validation failed' errors. However, the webhook is working correctly:

webhook

Any help would be greatly appreciated.

Regards,

Luke

[PW-3156] Adding all available card icons in the component

Is your feature request related to a problem? Please describe.
The card icons (Visa, mastercard, amex, bcmc...) are displayed right to the PAN. It would be convenient to also have all of the available cards on top of the component, at the right of the title.

Describe the solution you'd like
Being able (as an option ?) to display all the available cards in the card component at the right of the payment method title.

Merchant requirement : DegriffStock

Oney3x4x : component way too long

Is your feature request related to a problem? Please describe.
Merchant wants to use Oney, however when it's displayed on the checkout page the component is way too long, see screenshot :
image002

Describe the solution you'd like
Best solution would to be able to hide the fields + prefill as many fields as possible
Maybe merging oney3x and oney4x in the same component.. ? Just an idea.

adyen change status order prestashop before payment is finisht

Hello Support,

There is a problem in using adyen with prestashop 1.7.7.2

See the order from 1060€ it is open so the order must not change the staus in prestashop
1

But anyway the order is changed
2

It may never changed only if there is a payment

But ok the biggest problem is that in prestashop the order is declared as payed!!!!!! And that is False.
3

This is a wrong workaround from Adyen.

prestashop 1.7.7.2
chome Versie 90.0.4430.93

[PW-2497] Incompatibility with order-opc controller

It does not work when single page checkout is selected in PrestaShop versions 1.6.X.

Steps to reproduce the behavior:

  1. Go to 'Preferences' -> 'Orders'
  2. Click on 'Checkout in only page' in checkout type option
  3. When trying to pay you can see that the Adyen payment options are not displayed.

Additional info
In adyenofficial.php file, in hookActionFrontControllerSetMedia not exist 'order-opc' controller in array. In registerAdyenAssets function not 'order-opc' section for management controller.

Case mismatch between loaded and declared class names: "Adyen\PrestaShop\model\Hashing" vs "Adyen\PrestaShop\Model\Hashing".

Hi,

Prestashop 1.7
After installing and configuring the module, I'm getting this error when the DEBUG mode is turned ON :
(1/1) RuntimeException Case mismatch between loaded and declared class names: "Adyen\PrestaShop\model\Hashing" vs "Adyen\PrestaShop\Model\Hashing".

in DebugClassLoader.php line 190
at DebugClassLoader->checkClass('Adyen\PrestaShop\model\Hashing', '/home/samsaru/www/modules/adyenofficial/vendor/composer/../..//model/Hashing.php')in DebugClassLoader.php line 166
at DebugClassLoader->loadClass('Adyen\PrestaShop\model\Hashing')
at spl_autoload_call('Adyen\PrestaShop\model\Hashing')
at ReflectionClass->__construct('Adyen\PrestaShop\model\Hashing')in Container.php line 100
at Container->makeInstanceFromClassName('Adyen\PrestaShop\model\Hashing', array('Adyen\PrestaShop\model\Hashing' => true))in Container.php line 164
at Container->doMake('Adyen\PrestaShop\model\Hashing', array('Adyen\PrestaShop\model\Hashing' => true))in Container.php line 177
at Container->make('Adyen\PrestaShop\model\Hashing')in ServiceLocator.php line 65
at ServiceLocator::get('Adyen\PrestaShop\model\Hashing')in ServiceLocator.php line 41
at ServiceLocator::get('Adyen\PrestaShop\model\Hashing')in adyenofficial.php line 122
at AdyenOfficial->__construct()
at ReflectionClass->newInstance()in Container.php line 131
at Container->makeInstanceFromClassName('adyenofficial', array('adyenofficial' => true))in Container.php line 164
at Container->doMake('adyenofficial', array('adyenofficial' => true))in Container.php line 177
at Container->make('adyenofficial')in ServiceLocator.php line 65
at ServiceLocator::get('adyenofficial')in Module.php line 1141
at ModuleCore::coreLoadModule('adyenofficial')in Module.php line 1120
at ModuleCore::getInstanceByName('adyenofficial')in Hook.php line 884
at HookCore::exec('actionFrontControllerSetMedia', array('cookie' => object(Cookie), 'cart' => object(Cart), 'altern' => 2))in FrontController.php line 928
at FrontControllerCore->setMedia()in Controller.php line 277
at ControllerCore->run()in Dispatcher.php line 515
at DispatcherCore->dispatch()in index.php line 28

Could anyone help me with this problem?

Thanks.

Attempted to call an undefined method named "setXApiKey"

Hello Support,

Recently I've installed the Adyen and configure on the test server and everything works well. After a while a migrated a site to another machine by transferring all FTP files and now sometimes I'm getting the error 500(on opening modules page-sometimes, on opening translations page-sometimes, when trying to use the search inside the Presta backoffice - always). Do you know what it could be?

-This is the full error report:
Uncaught PHP Exception Symfony\Component\Debug\Exception\UndefinedMethodException: "Attempted to call an undefined method named "setXApiKey" of class "Adyen\PrestaShop\service\Client"." at /web/mysite/modules/adyenofficial/service/Client.php line 63 {"exception":"[object] (Symfony\Component\Debug\Exception\UndefinedMethodException(code: 0): Attempted to call an undefined method named "setXApiKey" of class "Adyen\PrestaShop\service\Client". at /web/mysite/modules/adyenofficial/service/Client.php:63)"} []

  • Prestashop version: 1.7.6.5
  • PHP version: 7.2.3

Anything else, please let me know

Thank you

Failed opening required /modules/adyen/vendor/autoload.php'

Bonjour,

Je voudrais installer ce module pour mon prestashop, après copier le dossier Adyen dans la répertoire modules, j'ai une page blanche avec ce message d'erreur :
[PrestaShop] Fatal error in module file :/chemin de mon prestashop/modules/adyen/adyen.php:
require(): Failed opening required '/chemin de mon prestashop/modules/adyen/vendor/autoload.php' (include_path='/chemin de mon prestashop/tools/htmlpurifier/standalone:.:/opt/remi/php70/root/usr/share/pear:/opt/remi/php70/root/usr/share/php:/usr/share/pear:/usr/share/php')

Je n'ai pas ce fichier : /modules/adyen/vendor/autoload.php ni la répertoire /modules/adyen/vendor.

Adyen: j'ai essayé la dernière branche dev et master, toujours le même message
PHP 7.0.9
nginx :1.15.6
Prestashop 1.6.1

Pourriez-vous me dire comment résoudre ce problème?

Je vous remercie.

Cordialement.

Improvement of component version

Is your feature request related to a problem? Please describe.

Here are some areas for improvement available in the Drop-in version.

1 / I would like the amount of the order to be displayed in the button to confirm the order.
2 / I would also like the icons of the available credit cards CB, Visa, Mastercard, Amex ... to be displayed in the frame next to the title of the means of payment.
3 / the possibility of being able to change the wording of the means of payment available.
CB

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Payment process goes slower than usually

Describe the bug
Seems that the payments process is now way slower than it was few days ago.
On our test instance :
Screen Shot 2020-07-24 at 4 50 35 PM

On the merchant (DegriffStock) side :
Screen Shot 2020-07-24 at 4 51 04 PM

As you can see it takes 4s on our test interface and almost 6s on the merchant website.
Exemple PSPReference :
our prestashop : 853595602170812K
the merchant : 852595602080679D

On my own component test interface it only takes about 600ms.

To Reproduce
Steps to reproduce the behavior:
I used our test prestashop interface and made a payment with chrome's tool to monitor the network activity

Expected behavior
I don't have an example but transactions were quicker few days ago. In any case, 4s and 6s seems very slow to me.

Screenshots
See above.

Payment refuse creates an order automatically and clones to a new cart

Describe the bug
Hello, this bug is kinda related to this issue #198

When you pay with Adyen and for example your card has 3D Secure step and you cancel it, the module creates an order with Payment error and duplicates your cart info to a new one, the idea is that now you finish the order with the correct info or other payment module.

The problem with this is that we have found multiple issues with other modules, we have already fixed 3 but we can't manage this constantly with each module we detect.

Modules that saves info into cart/order tables in sql will save on the Payment error order instead of the correct one.

Some examples would be Giftcards modules, Shipping carrier modules that uses relay points, or even google analytics info related to the order.

The giftcard will be linked to the first cart and order, same with the carrier relay point and the google analytics utm will be lost in the process.

To Reproduce
Steps to reproduce the behavior:
Go to final checkout step and choose adyen.
Use a card that has 3D Secure redirection.
Dont finish the order (cancel or use wrong data).
You will be redirected to an error message page with the option to return to checkout.
Internally a new order has been created and your cart data is cloned to a new one.

Expected behavior
There should be an option to don't create the order with Payment error so when you return to checkout you are still using the same cart and checkout session.

Prestashop version: 1.7.6.2

Module version: 3.3.0 with manual fix of #202

Thanks.

[PW-3952] Bank amount different of prestashop total paid amount

Prestashop version: 1.7.6.9
Adyen version: 3.2.1

Issue:
All along checkout process, total amount is right (in this example : 148.50€).
The request sent to adyen is wrong (see attached log) : 159.50€
Prestashop save the right amount (148.50€) in database after Adyen response in orders table.

The problem occures on (apparently) random orders, independently of cart_rules applied, customers or products.

I didn't succeed to reproduce the bug, every time i log the order total amount in AdyenOfficialPaymentModuleFrontController::buildPaymentData method its correct.

We really need to fix that bug cause customers are billed a higher amount than they should be.
adyen_example.json.log

image

[PW-3329] Call to undefined method ModuleFrontController::ajaxRender

Describe the bug
After installing the module and following the guideline about configuration for the test environment, when I pay with a test card, the AJAX request sent by the module lead to a PHP Fatal Error.

To Reproduce

  1. Create a new account on Adyen
  2. Install the Prestashop module directly from Prestashop Backoffice
  3. Follow the setup instruction: https://docs.adyen.com/plugins/prestashop
  4. Proceed to checkout and "Pay by Carte bancaire"
  5. Use the test card from: https://docs.adyen.com/development-resources/test-cards/test-card-numbers ; I use this one: 4035 5010 0000 0008 - Visa Debit / Cartes Bancaires - FR - 03/2030 - 737

Expected behavior
Payement successful or at least a feedback error ; obviously not a Fatal Error.

Logs

PHP Fatal error:  Uncaught Error: Call to undefined method ModuleFrontController::ajaxRender() in ...../modules/adyenofficial/controllers/FrontController.php:155
Stack trace:
    #0 ...../modules/adyenofficial/controllers/front/Payment.php(191): Adyen\PrestaShop\controllers\FrontController->ajaxRender('{"action":"erro...')
    #1 ...../classes/controller/Controller.php(242): AdyenOfficialPaymentModuleFrontController->postProcess()
    #2 ...../classes/Dispatcher.php(428): ControllerCore->run()
    #3 ...../index.php(28): DispatcherCore->dispatch()
    #4 {main}
        thrown in ...../modules/adyenofficial/controllers/FrontController.php on line 155

Desktop (please complete the following information):
Not applicable/relevant

Smartphone (please complete the following information):
Not applicable/relevant

Additional context
Linux Debian 9.13 with PHP 7.0 (PHP FPM)
Prestashop 1.7.3

Bancontact Bug

Describe the bug

The Bancontact payment method is active on Adyen and on Prestashop.
The Adyen Test Card was refused during the tests on the test account.

Example of
bancontact
transaction reference : 881594135198525J

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

javascript error at Checkout: paymentMethodsResponse was provided but of an incorrect type

Enviroment: Prestashop Version 1.7.5.1

Step to reproduce:

Add product to basket, go to basket page.
Go to Checkout Page this javascript happen at Console:

Uncaught Error: paymentMethodsResponse was provided but of an incorrect type (should be an object but a string was provided).Try JSON.parse("{...}") your paymentMethodsResponse.
at bottom-bfbaa7781.js:289
at new e (bottom-bfbaa7781.js:289)
at t.setOptions (bottom-bfbaa7781.js:289)
at t.e (bottom-bfbaa7781.js:289)
at new t (bottom-bfbaa7781.js:289)
at renderPaymentMethods (bottom-bfbaa7781.js:347)
at HTMLDocument. (bottom-bfbaa7781.js:340)
at u (core1.js:35)
at Object.fireWith [as resolveWith] (core1.js:35)
at Function.ready (core1.js:35)

at the following code:

componentButtonPaymentMethods=paymentMethodsWithPayButtonFromComponent;renderPaymentMethods();if(!IS_PRESTA_SHOP_16){setupPaymentMethods17()}

-> Result: No Adyen Payment methods are showed.

Cronjob causes 500 error

I try to run the cronjob on my server with the following command:
wget -q -O /dev/null "prestashop-XXX.cloudwaysapps.com/adminXXX/index.php?fc=module&controller=AdminAdyenPrestashopCron&token=XXX"
It seems to me like it doesn't work so I also tried to run it by pasting the address into my browser. It results into an 500 error as shown in this screenshot:
https://raw.githubusercontent.com/schenkelchen/screenshots/master/adyen201_cronjob-test.PNG
Am I right that the cronjob should be running by pasting the address into my browser? Otherwise I don't know how to crosscheck if it's working.
My main issue with your module so far is that I can't perform refunds. Is that function related to cronjobs?

Add a button to test configuration

After clicking the button it will do a paymentMethods call - if it's successful we can verify that the merchant account and the API key is valid. The rest of the configs needs to be tested as described in the testing/go to live docs

500 - Server error - Prestashop V 1.7.6

Hi there!

I just installed the last version of the module available and got an internal server error when trying to access the module manager screen within Prestashop. As soon as you delete the Adyen's folder within modules one everything comes back to normal.
Is this due it incompatible with Prestashop 1.7.6 or am I doing something wrong?
If it's due the incompatibility, is there any plan to upgrade the module accepting 1.7.6 any time soon?

Thanks in advance

[PW-2926] Plugin change 2 times the command status

Describe the bug
For unknown reasons, sometimes the shopper receives 2 email confirming its order.
With the merchant we saw that prestashop/the plugin was updating 2 times the order status to "payment accepted" within a 2/3 minutes gap.
This not very urgent nor blocking anything, but it leads the shopper thinking that he will pay 2 times.

Untitled

(No need to speak french ;))
at 16h34 the order is "payment accepted"
at 16h36 we receive the notification and the payment is set to accepted again.

The idea would be to understand why there is 2 status update.

The crontable is configued as follow

* * * * * /usr/bin/curl -k "https://preprodurl/index.php?fc=module&controller=AdminAdyenOfficialPrestashopCron&token=..."
* * * * * /usr/bin/curl -k "https://liveurl/index.php?fc=module&controller=AdminAdyenOfficialPrestashopCron&token=..."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.