Search

Are you looking for test card numbers?

Would you like to contact support?

Plugin icon

PrestaShop

Use Adyen's plugin for PrestaShop to accept credit cards and local payment methods.

Our plugin for PrestaShop allows you to accept credit cards and local payment methods on your PrestaShop website.

You can find the Adyen Payment plugin for PrestaShop here:

Features

Supported versions

As of 31 December 2021 no bug fixes or new features will be released for PrestaShop 1.6.x.
After 31 December 2022, you will not be able to use our plugin with PrestaShop 1.6.x.

All settings mentioned in these docs are updated to reflect the latest version of the plugin. You can find the latest version on GitHub. Our plugin supports the following:

  • PrestaShop version 1.7.0.0 or later.
  • PrestaShop version 1.6.x (deprecated). Please reach out to your sales manager if you are using this version.

In general, we do not recommend customizing the plugin, because this could make it harder to upgrade and maintain your integration. If you do decide to customize, we recommend that you:

  • Contact our Support Team to inform us.
  • Keep track of the custom code added to your integration.

Before you begin

Before you begin to integrate PrestaShop with the Adyen payments platform, make sure that you have performed the following steps:

  1. Sign up for a test account with Adyen.
  2. While you test your integration, you can apply for a live account with Adyen. 

Step 1: Install the plugin

You have the following options for installing the plugin:

Option 1: Download from PrestaShop Marketplace

If you're in France or Spain, you can download the plugin from the PrestaShop Marketplace:

  1. Find the Adyen plugin in the PrestaShop Marketplace.
  2. Select Download. The plugin will be downloaded and saved on your computer as a .zip file.
  3. In your PrestaShop back office, go to:
    • Modules > Module Manager if you are using version 1.7 of PrestaShop.
    • Modules and Services if you are using version 1.6 of PrestaShop.
  4. Select Upload a module , and select the .zip file that you downloaded on your computer.
  5. Go to Payment > Payment methods.
  6. Find Adyen, and select:
    • Enable Module if you are using version 1.7 of PrestaShop.
    • Install if you are using version 1.6 of PrestaShop.

The plugin is now ready to be configured.

To learn how to install the plugin after you've downloaded it, you can also watch the official PrestaShop video tutorial.

Option 2: Download from GitHub

Alternatively, you can download the plugin directly from GitHub.

  1. Go to our GitHub releases page.
  2. In the Assets section, download the adyenofficial.zip folder. This includes the vendor folder so you don't need to install with Composer.
  3. In your PrestaShop back office, go to:
    • Modules > Module Manager if you are using version 1.7 of PrestaShop.
    • Modules and Services if you are using version 1.6 of PrestaShop.
  4. Select Upload a module , and select the .zip file that you downloaded on your computer.
  5. Go to Payment > Payment methods.
  6. Find Adyen, and select:
    • Enable Module if you are using version 1.7 of PrestaShop.
    • Install if you are using version 1.6 of PrestaShop.

The plugin is now ready to be configured.

To learn how to install the plugin after you've downloaded it, you can also watch the official PrestaShop video tutorial.

Option 3: Install with Composer

To install with Composer:

  1. Clone the adyen-prestashop GitHub repository.
  2. Go to the downloaded folder, and run composer install --no-dev.
  3. Copy the entire adyen-prestashop folder into the /modules folder of your main PrestaShop environment.
  4. Rename the adyen-prestashop folder to adyenofficial, so you now have: /modules/adyenofficial.
  5. In your PrestaShop back office, go to Payment > Payment methods.
  6. Find Adyen, and select:
    • Enable Module if you are using version 1.7 of PrestaShop.
    • Install if you are using version 1.6 of PrestaShop.

The plugin is now ready to be configured.

Step 2: Generate an API key

For authenticating API requests from PrestaShop, you need to provide an API key.

To generate an API key for your test environment:

  1. Log in to your Customer Area.
  2. Go to Developers > API credentials, and select the credential for your integration, for example ws.
  3. Under Authentication, select Generate New API Key.
  4. Copy and securely store the API key in your system — you won't be able to restore it later.
    If your API key is lost or compromised, you need to generate a new one.
  5. Select Save at the bottom of the page.

To get an API key for your live environment, follow the same steps in your live Customer Area.

You will need to add the test and live API keys in the PrestaShop back office as described in Step 5.

Step 3: Generate a client key

The plugin needs the client key to show the input fields for card details.

The client key is linked to one or more allowed origins — the domains from which we expect to get your client-side requests. For example, if you're collecting shopper's payment information at: https://example.org/checkout, you would need to link the domain https://example.org as an allowed origin to your client key.

To generate a client key:

  1. Log in to your Customer Area.
  2. Go to Developers > API credentials, and select the API credential for your integration, for example ws.
  3. Add your domains under Allowed origins. These are the domains from which you will be sending your client-side requests.
  4. Under Authentication, select Generate New Client Key.
  5. Select Save at the bottom of the page.

You now have a client key for your test environment. To get a client key for your live environment, follow the same steps in your live Customer Area.

You will need to copy the test and live client keys and add them in the PrestaShop back office as described in Step 5.

Step 4: Set up notifications

Adyen uses notification webhooks to let your PrestaShop platform know whether the payment was successful, and to move the order to the next phase or cancel it. In this way, you are always informed of payment status changes, even with payment methods where the shopper completes the payment after they leave your online store.

To set up notifications in your Adyen account:

  1. Log in to your Customer Area with your company-level account.
  2. Go to Developers > Webhooks.
  3. In the upper-right corner, select the + Webhook button.
  4. Next to Standard notification, select Add
  5. Under Transport:
    • At URL enter your website URL followed by module/adyenofficial/Notifications.
    • Select the Active check box.
    • Set Method to JSON.
  6. Under Authentication:
    • Enter your User Name and Password for basic authentication.
    • Add these authentication credentials in your PrestaShop back office as described in Step 5.
  7. Under Additional Settings:
    • Select Generate new HMAC key.
    • Securely store the HMAC key in your system.
    • Add the HMAC Key in your PrestaShop back office as described in Step 5.
  8. Select Save Configuration.

Contact our Support Team to enable OFFER_CLOSED notifications as part of your standard notifications.

Step 5: Set up the plugin in PrestaShop back office

  1. In your PrestaShop back office, go to:
    • Modules and Services if you are using version 1.6.
    • Modules > Module Manager if you are using version.
  2. In the Payment section, find Adyen and select Configure.
  3. Fill out the following fields:

    Field Description
    Merchant Account Name of your Adyen merchant account for which the payments will be processed.
    Test/Production Mode Select whether you want to use test or production (live) mode.
    Notification Username This can be any username, as long as it matches the username for basic authentication that you entered in your Adyen Customer Area.
    Notification Password This can be any password, as long as it matches the password for basic authentication that you entered in your Adyen Customer Area.
    HMAC key for notifications This is the HMAC key that you generated in your Adyen Customer Area.
    Secure token for cron job A token generated when you installed the plugin. This secures your endpoint. Underneath we show your website URL with the token attached. You need this URL plus token when you set up a cron job for processing notifications. In case you want to regenerate the token, delete the current token from the text box and save the configuration with an empty value. This will generate a new token.
    Process notifications upon receiving them When you enable this feature, the plugin processes queued notifications after receiving them. Alternatively, you can set up a cron job.
    API key for Test The API key from your test Customer Area.
    API key for Live The API key from your live Customer Area.
    Client key Test The client key from your test Customer Area.
    Client key Live The client key from your live Customer Area.
    Live endpoint prefix The URL prefix [random]-[company name] from your live Customer Area > Developers > API URLs. For more information, refer to Checkout endpoints.
    Enable stored payment methods Enable if you want shoppers to be able to store and use their payment details during checkout for payment methods that support one click payments.
    Apple Pay merchant name Name of your Adyen merchant account for which the payments will be processed.
    Apple Pay merchant identifier The Authorisation MID value.
    For test, this is in your test Customer Area > Payment methods > Apple Pay.
    For production (live), this is in your live Customer Area > Payment methods > Apple Pay.
    Google Pay gateway merchant ID Name of your Adyen merchant account for which the payments will be processed.
    Google Pay merchant identifier The Authorisation MID value in your live Customer Area > Payment methods > Google Pay. When testing, you can use any value.
    Collapsable payment display Only available in PrestaShop version 1.6. Enable if you want the payment methods to be rendered in a collapsable section during checkout.
    Adyen checkout styling Enable to include the default Adyen styling in the checkout page. Disable to customize the styling of the checkout page.
    Integrator Name The name of the system integrator, in case you are using one.

Set up translations

  1. In your PrestaShop back office, go to:
    • Localization > Translations if you are using version 1.6 of PrestaShop.
    • International > Translations if you are using version 1.7 of PrestaShop
  2. Under Type of translation select Installed modules translations.
  3. If you are using version 1.7 of PrestaShop select the Adyen module.
  4. Identify the language to be modified and select Modify.
  5. After modifying a translation select Save and stay or Save.

If an original translation contains special syntax, such as %d or %s, the modified translation should also contain the same special syntax.

Step 6: Set up payment methods

To enable a payment method, you need to add it in your Adyen Customer Area.

On your PrestaShop platform, to correctly render the payment methods on your checkout page, the displayPaymentTop hook must be present. This call is enabled by default and it is initiated from the following template files:

  • Version 1.6: {$HOOK_TOP_PAYMENT} in themes/default-bootstrap/order-payment-classic.tpl
  • Version 1.7: {hook h='displayPaymentTop'} in themes/classic/templates/checkout/_partials/steps/payment.tpl

For most payment methods, this is enough to have them rendered by the plugin.

The following payment methods need some additional configuration:

Set up Buy Now Pay Later payment methods

Buy now, pay later (open invoice) payment methods like Klarna and Afterpay require a billing and shipping address.
To ensure your shoppers understand what data you are collecting:

  1. In your PrestaShop back office, go to International > Translations.
  2. Open the shop forms labels for your language and enter localized address line labels to collect the street name and the house number or name. For example, for English:
    • First address line with the ID Address: Change the label to Street.
    • Second address line with the ID Address Complement: Change the label to House number or name.
  3. Select Save.
  4. Repeat for all languages you are using.

Labels

With the default PrestaShop configuration, to find labels:

  1. Go to the International/Translations page.
  2. From the Type of translation drop-down menu, select Theme Translations.
  3. Look under Shop > Forms > Labels.

Set up Apple Pay

To accept Apple Pay payments with Adyen's PrestaShop plugin, you need to:

  1. Follow the instructions to enable Apple Pay with your own certificate.
  2. Fill out the Apple Pay merchant name and Apple Pay merchant identifier fields in your PrestaShop back office.

Apple Pay is only available in the Safari browser.

Step 7: Set up a cron job

As described previously, you should set up webhook notifications to receive important updates about the payment status. While the plugin offers an option to process the notifications upon receiving them, it may cause your server to try processing them too often and thus use extra resources.

To avoid that, you need to set up a cron job and run it every minute. PrestaShop doesn't provide a cron service so you need to create a job outside of PrestaShop.

  1. Use the cron utility on your Linux instance or an external cron job service to create a cron job that runs every minute and calls your website URL. This must be the URL with the secure token attached, as shown under the Secure token for cron job field in the admin panel (see set up the plugin in your PrestaShop back end).

  2. Test whether the cron job works correctly:

    1. Enable the cron job.
    2. Place a test order with a successful payment.
    3. Verify that you have a new log file adyen_notification.log in your /logs/adyen folder. It can take a few minutes before the file appears.

Step 8 (optional): Validating the plugin

After you have installed and configured the plugin, you can validate the setup.

  1. Log in to your PrestaShop back office.
    • Go to Modules and services > Adyen Validator if you are using version 1.6 of PrestaShop.
    • Go to Modules > Adyen Module > Validator if you are using version 1.7 of PrestaShop.
  2. Select Validate.

The validator checks the following:

  • The database tables required by the plugin have been created.
  • The configuration values required by the plugin have been added to the ps_configuration database table, and these values are not empty.
  • The order statuses required by the plugin have been added to the ps_order_state database table.
  • All hooks required by the plugin have been successfully registered.

If everything is set up correctly, you will see a message with a green overlay. If something is incorrect, you will see an error message with a red overlay. Go to Advanced Parameters > Logs to view more details if the validation is not successful.

The validation only checks if there are empty configuration values in the plugin configuration fields. It does not validate if the values in the input field are correct.

Step 9: Make test payments

After you've set up the plugin, use our test card numbers to make test payments.

After your test payments, look up the payment status in your Customer Area. If a transaction has been refused due to a high risk score, consider making adjustments to your risk profile scoring.

Refund an order

Standard refund

To enable standard refunds:

  1. Log in to your PrestaShop back office.
    • Go to Merchandise returns under the Orders menu if you are using version 1.6 of PrestaShop.
    • Go to Merchandise returns under the Customer service menu if you are using version 1.7 of PrestaShop.
  2. Activate the Product returns option.
  3. Select Save.

To issue a standard refund:

  1. In the menu, go to Orders > Orders to open the Orders overview page, and select the order you want to refund.
  2. In the Orders section, select Standard Refund.
  3. Select the check box under the Refund column of the products to be refunded.
  4. Select Generate a credit slip.
  5. (Optional) Select Repay shipping costs to also refund the shipping cost.
  6. Select Refund products at the bottom of the page to issue the refund.

Partial refund

To issue a partial refund:

  1. Log in to your PrestaShop back office.
  2. In the menu, go to Orders > Orders to open the Orders overview page, and select the order you want to refund.
  3. In the Orders section, select Partial Refund.
  4. Under Products, enter:
    • Quantity: The number of items refunded. This must be a whole number.
    • Amount: (Optional) The refund amount. If left empty, it is the maximum applicable amount including taxes.
  5. Optionally select:
    • Re-stock products: The quantity of the refunded items you specified will be added back in stock.
    • Generate a voucher: Issue a voucher instead of a refund payment. The voucher code is automatically sent to the shopper's email address.
  6. Issue the refund: At the bottom of the page, select Partial Refund.

After issuing the refund, the order status changes to Refunded and a credit slip is generated.

Shopper emails

When the payment for an order has been completed (the order status is updated to Payment Accepted), PrestaShop automatically sends an order confirmation email to the shopper.

The order confirmation email is the only email that is sent by default. You can also configure other status updates to trigger emails, and customize the text in the email.

PrestaShop version 1.6

On PrestaShop version 1.6, shoppers paying with a redirect payment method (such as iDEAL, or a card payment that was routed to 3D Secure 1) will already get the order confirmation email when being redirected to the payment page. This means that a shopper might get the order conformation email, even though they did not complete the payment.

To make sure that the email sent to the shopper is accurate, you can customize the order confirmation email to say that you are waiting for the payment to completed.

Send an email when the order status has changed

To send an email to the shopper when their order status has changed:

  1. Log in to your PrestaShop back office.
    • Version 1.6 of PrestaShop: Under the Orders menu, go to Statuses.
    • Version 1.7 of PrestaShop: Under the Shop Parameters menu, go to Order settings. Then, select the Statuses tab.
  2. Select the status for which you want to configure an email.
  3. Select the Send an email to the customer when his/her order status has changed option.
    A Template drop-down menu will appear.
  4. Select the email template to be sent when the order is updated to this status.

The email template determines which information is included in the email, for example product details, or additional information about the shipping. You can additionally customize the text in each template.

Customize the text in an email

To customize the text in an email template:

  1. Log in to your PrestaShop back office.
    • Version 1.6 of PrestaShop: Under the Localization menu, go to Translations.
    • Version 1.7 of PrestaShop: Under the International menu menu, go to Translations.
  2. From the Type of translation drop-down menu, select Email Translations.
    • Version 1.7 of PrestaShop: Select the type of email content to modify.
  3. Select the language to customize.
  4. Select Modify.
    This opens the Translations page.
  5. Select Core emails.
  6. Select the email template that you want to customize, and whether you want to modify the HTML or the TXT version.
  7. Make your changes, then select Save.

Updating from a version earlier than 2.1.0

If you are already using an Adyen PrestaShop plugin version earlier than 2.1.0 and want to use the latest version, proceed as follows:

  1. Uninstall the existing Adyen plugin.
    • In the Configure drop-down menu select Uninstall if you are using version 1.6 of PrestaShop.
    • In the Upgrade drop-down menu select Uninstall if you are using version 1.7 of PrestaShop.
  2. Manually remove the /adyen folder from the /modules folder.
    This is necessary because the plugin name has changed from adyen to adyenofficial.
  3. Install the latest plugin version as described in Step 1: Install the plugin.
  4. Configure the latest plugin version as described in Step 4: Set up the plugin in PrestaShop back office.

Reinstalling the plugin

When you reinstall the plugin, the plugin takes care of most of its configurations and functions except for the items listed below. We recommend that you follow the steps here to make sure that when you reinstall the plugin, it won't pick up settings from a previous installation.

  • Order statuses

    The plugin keeps the Waiting for payment and Payment needs attention order statuses because existing orders might still use them. If you would also like to remove these statuses, first make sure that these are no longer in use.

    To check if these statuses are still in use:

    1. Go to the Orders page in your PrestaShop admin panel.
    2. Filter the orders for the Waiting for payment and Payment needs attention order statuses.
    3. If there are any, move them to another status that you would like to use.

    When there are no more orders using these statuses, you can delete these statuses from your order status list.

  • Configurations

    The plugin keeps the ADYEN_OS_WAITING_FOR_PAYMENT and ADYEN_OS_PAYMENT_NEEDS_ATTENTION configuration fields in your database in case there are still orders in your system with the corresponding statuses. If you have already removed the statuses, you can also remove these leftover configurations.

Downloading the logs

  1. In your PrestaShop back office, go to:
    • Modules and Services > Adyen Logs if you are using version 1.6 of PrestaShop.
    • Modules > Adyen Module > Logs if you are using version 1.7 of PrestaShop.
  2. If you also want to include log files that are not related to Adyen, select the Include all log files check box.
  3. Select Download.

Finding the logs

To find the logs for PrestaShop:

  • Version 1.6: In your PrestaShop root folder, go to /log/adyen
  • Version 1.7: In your PrestaShop root folder, go to /var/logs/adyen

Next steps