Plugin icon

Set up the cartridge

Set up the cartridge in the Adyen Customer Area and in the Salesforce Business Manager for v22.2.2 or later.

Before you begin

Before you begin, make sure that you have performed the following steps:

  1. Create a test account with Adyen. With this, you will be able to access the test Customer Area, and apply for a live account. While you wait for your live account credentials, you can start integrating by using your test account.
  2. Finish the metadata import.
  3. In Salesforce Commerce Cloud, enforce HTTPS.

    To be compatible with the Chrome v80 Cookie policy, you need to enforce the use of HTTPS for all sites.

     

Account structure

With Adyen, you have a single company account, and one or more sub-accounts called merchant accounts. However, in Salesforce, you can only have one merchant account for each storefront.

Step 1: Set up the cartridge path

  1. Go to Administration > Sites > Manage Sites > [yourSite] > Settings.

  2. In the Cartridges field: 

    • If you are using SFRA, enter:
      int_adyen_SFRA:int_adyen_overlay:app_storefront_base
    • If you are using any form of customizations, make sure to follow our customization guide on best practices around customizations.
  3. Select Apply.

Step 2: Enable the Salesforce Business Manager configuration page

To show the Adyen Settings menu item in your Salesforce Business Manager:

  1. Go to Administration > Sites > Manage Sites > Business Manager - Settings.
  2. In the cartridges field, enter bm_adyen:int_adyen_overlay:app_storefront_base. Select Apply.
  3. Go to Administration > Organization > Roles & Permissions > Administrator - Business Manager Modules.
  4. In the dialogue box, select the site you want to enable Adyen for or select the Sites box to select all. Select Apply.
  5. Under Site Preferences, find Adyen Settings in the list and select the checkbox in the right column. At the bottom of the page, select Update.

Step 3: Generate an API key and client key

To connect your Commerce Cloud store to the Adyen API, you need to generate an API key in your Customer Area and add it to your Salesforce Business Manager.

To authenticate requests from your payment environment, the cartridge also needs a client key. You need to generate a client key in your Customer Area and add it your Salesforce Business Manager.

Generate an API key in your Customer Area

  1. Log in to your Customer Area.
  2. Go to Developers > API credentials, and select the API credential username for your integration, for example ws@Company.[YourCompanyAccount].
  3. Under Server settings > Authentication select the API key tab.
  4. Select Generate API key.
  5. Select the copy icon and store your API key securely in your system.
  6. Select Save changes.

Generate a client key in your Customer Area

  1. Log in to your Customer Area.
  2. Go to Developers > API credentials, and select the credential username for your integration, for example ws@Company.[YourCompanyAccount].
  3. Under Client settings > Authentication select the Client key tab.
  4. Select Generate client key.
  5. Select the copy icon and store your client key securely in your system.
  6. Under Add allowed origins, enter your domains and select Add.
  7. Select Save changes.

After generating both keys, add them to your Adyen Configuration page in your Salesforce Business Manager when configuring settings.

Step 4: Set up webhooks

To inform your Commerce Cloud store of payment status changes, Adyen uses webhooks, sent as HTTP callbacks to endpoints on your server. To receive webhooks, you need to enter your server's details in the Customer Area, and add the webhooks credentials to the Salesforce Business Manager.

1. Set up webhooks in the Customer Area

  1. Log in to your Customer Area. If you want to configure webhooks for a merchant account, switch to that merchant account.

  2. Go to Developers > Webhooks.

  3. Select Webhook.

  4. In the row for the Standard webhook, select Add.

  5. Configure General settings:

    Setting Description
    Server configuration - URL: Your webhook server's URL, adding /Adyen-Notify at the end, for example: https://zzft-xx.sandbox.XXXX.dx.commercecloud.salesforce.com/on/demandware.store/Sites-RefArch-Site/default/Adyen-Notify
    - Method: HTTP POST.
    - Encryption Protocol: TLSv.1.3.
    Merchant accounts Select which merchant accounts this webhook is for.
  6. Configure Security settings:

    Setting Description
    Basic authentication Enter your server's username and password. You need to enter these credentials in the Salesforce Business Manager later.
    HMAC Key Generate the HMAC Key, copy it, and store it securely in your system. You need to enter the HMAC key in the Salesforce Business Manager later.
    HMAC signature verification for webhook processing is only available on v23.3.0 or later. We strongly recommend that you use HMAC signatures to protect your server from unauthorised webhook events.
  7. Select Save changes.

2. Add webhook credentials to the Salesforce Business Manager

  1. In the Salesforce Business Manager, go to Merchant tools > Site Preferences > Adyen Settings.
  2. In the Webhook settings section:
    • In the Adyen Notifications User and Adyen Notifications Password box, enter the username and password for notifications from your Customer Area.
    • If applicable, enter your HMAC key.
  3. Select Save in the upper-right corner of the screen.

3. Test webhooks

To test your webhooks:

Your server must acknowledge webhooks with a successful HTTP response status code (like 200).

  1. Log in to your Customer Area.
  2. Select Developers > Webhooks.
  3. Select the webhook to test.
    The Webhook details panel includes information about the configuration. Under Events, you can find the configured event codes that you can test for this webhook.
  4. Select the edit icon
  5. Select Test configuration.
  6. If you're on a company account, select a Merchant account from the dropdown list.
  7. In the Event dropdown list, select the event code to test webhooks for.

If the test webhook failed, you get an error message with the reason. Troubleshoot the problem.

4. Configure scheduled jobs

Webhooks are stored in Commerce Cloud as custom object instances to be processed by scheduled jobs.

After the metadata import, a scheduled job with ID Process is added to the Salesforce Business Manager:  Administration > Operations > Jobs. This scheduled job has two steps (you can check this in the Job Steps tab): 

  • Process – Processes the webhook and updates the payment status of the order.
  • Clean –  Deletes the custom object instance, once it has been processed.

To optimize the processing of your instances, we recommend that you set the frequency of this scheduled job to 1 minute: 

  1. Go to the Schedule and History tab for the Process scheduled job.
  2. Set Trigger to Recurring Interval.
  3. In the Run Time pane, set Amount to 1, and Interval to Minutes

Step 5 (optional): Store shopper details

With Adyen tokenization, you can securely store payment details of your shoppers. This allows you to offer a faster checkout experience by using their stored card.

To set this up:

  1. In the Salesforce Business Manager, go to Merchant tools > Site Preferences > Adyen Settings.
  2. Store shopper details: one-click. Select Yes to enable stored payment methods for one-click transactions, where the shopper needs to enter their CVC/CVV to complete the payment.
  3. Enable the Guest user shopper reference, when storing shopper details of guest users. Go to Site Preferences > Order > Generate Customer No. for Guest Orders > Yes.

Payment details are stored in shopper accounts in the Salesforce platform. To be able to delete saved payment details from a shopper's account, you have to configure an additional setting. To set this up, contact our Support Team.

Step 6 (optional): Set up in-person payments

To process payments in your Commerce Cloud stores using payment terminals:

1: Enable in-person payments

  1. In the Salesforce Business Manager, go to Merchant Tools > Ordering > Payment methods.
  2. Select AdyenPOS.
  3. Select Yes in the Enabled column.
  4. From the Payment Processor drop-down in the AdyenPOS Details section, select Adyen_POS.

2: Configure services

  1. In the Salesforce Business Manager, go to Administration > Operations > Services.
  2. In the Profile column next to AdyenPosPayment, select Adyen.  
  3. In the Name box, enter Adyen.
  4. In the Connection Timeout (ms) box, enter 100.000.
  5. Ensure that the Enable Circuit Breaker checkbox is not selected.

3: Create Store ID

  1. Create a Store ID.
  2. In the Salesforce Business Manager, go to Merchant tools > Site Preferences > Adyen Settings and set the StoreId value.

Step 7 (optional): Set up donations with Adyen Giving

If you enable Adyen Giving in your Salesforce Business Manager settings, you also need to configure it in your  Customer Area:

With Adyen Giving, your shoppers can seamlessly donate to charities of your choice at the checkout page of your website. To learn more about Adyen Giving, see Donations.

To use Adyen Giving with your Salesforce Commerce Cloud cartridge:

  1. Onboard with Adyen Giving.
  2. In the Salesforce Business Manager, go to Merchant tools > Site Preferences > Adyen and set the following configurations:
Field Description
Enable Adyen Giving Set to True to enable Adyen Giving.
Charity name Name of the charity displayed on the Adyen Giving component.
Charity merchant account Merchant account name for charity.
Amounts for donation Suggested amounts that the shopper can choose to donate, in whole numbers.
Description of charity Description of the charity.
Website from charity Link to the charity website.
Background image for Adyen Giving component Background image of the Adyen Giving component.
Logo in Adyen Giving component Logo displayed on the Adyen Giving component.

Test and go live with Giving

Test

You must have the Merchant admin user role.

  1. In your test Customer Area, go to Settings > Account Settings.
  2. Under Giving, select the Online donations toggle to enable it.
  3. In your Salesforce Business Manager, use the test account MyCharity_Giving_TEST for Charity merchant account.
  4. Make test donations using our test cards.

    When testing Visa payments, use the test card which has the security code as optional.

  5. Verify the outcome of your test donations in a Giving report or dashboard:
    In your Customer Area, go to Reports > Giving Overview, which shows the successful donations the next day.

If an issue occurs with your test donation requests, you can find more details in the API logs.

Go live

  1. Contact your Adyen Account Manager or our Support Team and ask them to set up your live account for Giving, connecting it to the right nonprofit account.
  2. In your live Customer Area, enable the Adyen Giving merchant webhook.
  3. In your Salesforce Business Manager, use the account name that we give you after choosing your nonprofit for Charity merchant account.
  4. Verify the outcome of live donations by either:

Step 8 (optional): Basket fields

You can use Basket fields for custom risk rules. To include the Basket fields in your payment request:

  1. In the Salesforce Business Manager, go to Merchant tools > Site Preferences > Adyen Settings.
  2. Set Basket fields to true.

Step 9 (optional): Send Level 2/3 data for cards

Sending Level 2 or Level 3 enhanced scheme data allows you to cut your interchange rates on US domestic transactions by up to 90 basis points. At the same time, your shoppers will see additional information about their purchase on their credit card statement.

Not all businesses can submit Level 2/3 data. Refer to What is Enhanced Scheme Data? for more information.

Sending Level 2/3 data is supported from v20.1.3 of the cartridge.

To send Level 2/3 data:

  1. In the Salesforce Business Manager, go to Merchant tools > Site Preferences > Adyen Settings.
  2. Set Level 2/3 Data Authorisation Enabled to true.
  3. In the Commodity code box, enter the UNSPSC commodity code for your products or services.

Step 10 (optional): Add system integrator info

If your integration with Adyen is built by a system integrator let us know their name, so that we can offer you better support.

Adding system integrator info is supported from v20.1.3 of the cartridge.

  1. In the Salesforce Business Manager, go to Merchant tools > Site Preferences > Adyen Settings.
  2. In the System integrator box, enter the name of your system integrator.

See also

Next steps