Skip to content

Installation and Setup

Aziya edited this page Dec 20, 2021 · 10 revisions

Step 1: Install the plugin

You have the following options for installing the plugin:

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 username for your integration, for example [email protected].
  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.
  5. If your API key is lost or compromised, you need to generate a new one.
  6. 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 6.

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 credential username for your integration, for example [email protected].
  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 6.

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.
  1. Under Authentication:
  • Enter your User Name and Password for basic authentication.
  • Add these authentication credentials in your PrestaShop back office as described in Step 6.
  1. 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 6.
  1. Select Save Configuration. Contact our Support Team to enable OFFER_CLOSED notifications as part of your standard notifications.

Step 5: Set up capture delay

For credit cards, a payment is completed in two steps in the same API call:

  1. Authorisation – The payment details of the shopper are verified, and the funds are reserved.
  2. Capture – The reserved funds are transferred from the shopper to your account.

You can only perform the capture automatically in PrestaShop after the payment has been authorised.

To change the capture delay:

Log in to your Customer Area with your merchant-level account. Go to Account > Account settings. In the Capture Delay drop-down menu, select:

  • immediate if you want payments to be captured immediately after authorisation (this is the default setting). Select Submit.

Step 6: Set up the plugin in PrestaShop back office

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. In the Payment section, find Adyen and select Configure. 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 for Test The client key from your test Customer Area.
Client key for 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:
  2. Localization > Translations if you are using version 1.6 of PrestaShop.
  3. International > Translations if you are using version 1.7 of PrestaShop
  4. Under Type of translation select Installed modules translations.
  5. If you are using version 1.7 of PrestaShop select the Adyen module.
  6. Identify the language to be modified and select Modify.
  7. 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 7: Set up payment methods

To enable a payment method, you need to add it in your 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.
  1. Select Save.
  2. 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

Apple Pay is available in plugin version 3.2.0 or later.

The PrestaShop plugin supports Apple Pay through mass enablement. To accept these payments with Adyen's PrestaShop plugin, you need to:

  1. Download and unzip the domain association file.
  2. Host the domain association file with the name apple-developer-merchantid-domain-association on each domain you want to use, under the following path: /.well-known/apple-developer-merchantid-domain-association
  3. Add Apple Pay as a payment method in your live Customer Area and provide the following information:
  1. Fill out the Apple Pay merchant name and Apple Pay merchant identifier fields in your PrestaShop back office.

Testing

Use Apple's test card numbers to test your integration.

Card Type Card number Expiry date CVC/CID
Discover 6011 0009 9446 2780 11/2022 111
Mastercard 5204 2452 5000 1488 11/2022 111
Visa 4761 1200 1000 0492 11/2022 533

For a full list of test cards and instructions how to add these to your test device, see Sandbox testing on Apple's Developer website.

Check the status of an Apple Pay test payment in your Customer Area > Transactions > Payments.

Apple Pay is only available in the Safari browser.

Set up Google Pay

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

  1. Add Google Pay to your Customer Area.
  2. Fill out the Google Pay gateway merchant ID and the Google Pay merchant identifier fields in your PrestaShop back office.

Before you go live

Make sure your API credential has the API Clientside Encryption Payments role. Check this in your live Customer Area or ask your Admin user to verify. Contact our Support Team and submit a request to configure your Google Pay merchantID. Complete all of the steps in the Google Pay API deploy to production documentation for Web. In the live environment, note that Google Pay will only be available if:

  • The shopper is logged in to their Google account.
  • The shopper has at least one valid payment method on their Google Pay account.

Step 8: 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 9 (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.
  1. 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 10: 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.
  1. Activate the Product returns option.
  2. Select Save.

To issue a standard refund:

In the menu, go to Orders > Orders to open the Orders overview page, and select the order you want to refund. In the Orders section, select Standard Refund. Select the check box under the Refund column of the products to be refunded. Select Generate a credit slip. (Optional) Select Repay shipping costs to also refund the shipping cost. 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.
  1. 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. 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.
  1. Select the status for which you want to configure an email.
  2. Select the Send an email to the customer when his/her order status has changed option. A Template drop-down menu will appear.
  3. 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.
  1. From the Type of translation drop-down menu, select Email Translations.
  • Version 1.7 of PrestaShop: Select the type of email content to modify. Select the language to customize.
  1. Select Modify. This opens the Translations page.
  2. Select Core emails.
  3. Select the email template that you want to customize, and whether you want to modify the HTML or the TXT version.
  4. Make your changes, then select Save.