Skip to main content

Adyen

FinDock supports Adyen as a payment processor.

Multi-merchantMulti-currency
yesyes
Payment MethodOne-timeRecurringRefunds
Credit Cardyesyesyes
Bancontactyes--yes
Idealyes--yes
Sofortyes--yes

Pre-requisites

  • FinDock installed and configured
  • A source connector installed and configured
note

If you plan on using the Sofort payment method in certain countries, you need to contact the Adyen Support Team. For further information, please see the Adyen documentation.

Install and activate Adyen for FinDock#

Follow the standard procedure for installing and activating the Adyen payment extension.

Check and assign the required permissions for FinDock and Adyen features. Ensure all package-specific permission sets are correctly assigned.

Set up an Adyen account#

Configuring the Adyen for FinDock payment extension requires an Adyen account. You need to configure the account and use setting values from the account for the FinDock settings in Salesforce.

To set up an Adyen account:

  1. Sign up for an account with Adyen at https://www.adyen.com/signup.
  2. After successful registration, log in at https://ca-test.adyen.com/.
  3. In the Adyen Backoffice, go to Account > API credentials.
  4. Click the username with type 'Web Service.'
    API credentials Web Service user
  5. Click Generate New API Key.
    Generate API key
  6. Copy and save the generated API key. This key is needed to communicate with Adyen over the FinDock Payment API.
  7. Confirm that you have saved the API key.
    Confirm saved API key
  8. Scroll down to Roles and Associated Accounts
  9. Click Accounts
  10. Switch the toggle next to your Merchant account name with MerchantAccount (e.g. FinDockTestECOM MerchantAccount) to on. Adyen merchant account toggle
  11. Click on your company name in the top right of the Adyen Backoffice.
  12. Copy and save the merchant account name for online payments.
    Adyen merchant account name
  13. For Live (Production) accounts: Go to Account > API URLs and copy and save the URL next to Checkout API up untill /checkout as described here. Do not include the /v6x/Payments part!

Configure Adyen for FinDock#

To configure the Adyen payment extension:

  1. Launch the FinDock app and click Setup.
  2. Click the Adyen for FinDock tile under Payment Extensions.
  3. Enter the generated API Key value Merchant Account name that you saved from the procedure above.
  4. Activate Is Test if you are in a test phase and don’t want to process real payments.
  5. For Live (Production) accounts: Enter the Checkout API Url in the Production Checkout Endpoint field Adyen settings in FinDock
  6. Repeat the above steps for each account if you are setting up Adyen for multi-merchant use. Activate Is Default for the account (Target) that is your default account with Adyen.

Configure notifications in Adyen#

To configure notifications in Adyen:

  1. In the Adyen for FinDock settings, copy the Notification URL. Adyen notification URL
  2. Go back to Adyen Backoffice and select your merchant account from the top right corner.
  3. Navigate to Account > Server Communication.
  4. Click Add on the Standard Notification row.
    Adyen server communication add standard
  5. Fill in the settings as shown in the screenshot here:
    Adyen standard notification configuration
  6. Open Additional Settings' and toggle on the following:
    • Include Bank Account Details
    • Include Card Holder
    • Include card info for recurring contract notifications
    • Include Card Bin
    • Include Shopper Details
    • Include Shopper Interaction
  7. Click Save Integration.

Optional 'offer cancelled' event handling#

Adyen can send an OFFER_CLOSE webhook event if a customer abandons a payment journey (after being redirected to the online banking method). If FinDock receives this event, the related installment is set to failed.

This event is not available by default. You need to contact Adyen Support to get this event enabled for your account.

Optional API parameters for Adyen#

When initiating payments through the API, additional processor-specific parameters can and/or need to be included for a particular payment method. You can check these parameters by calling the /PaymentMethods or /PaymentProcessors endpoints. For more information, see our API Reference Guide.

Pay by Link expiration time#

A particularly important optional parameter for Adyen is the Pay by Link expiration time. These links expire in 24 hours unless you set a specific expiration time using the expiresAt parameter. For further information, please see the Adyen Docs.

If you use the expiration time override, you need to specify a time in minutes instead of a ISO 8601 timestamp. FinDock takes care of calculating the correct ISO 8601 timestamp on the fly. So, in the PaymentIntent you would add the following, for example, to tell Adyen that the link should expire in 60 minutes from the time of the API call.

{"expiresAt":"60"}

iDEAL issuer#

If you would like to eliminate the step in the Adyen payment journey where customers make their own online banking selection from the list of official iDEAL issuers, you can use the optional issuer parameter to set a specific issuer. When this is use, the customer is taken directly to the online banking service of the issuer.

Note, too, that Adyen has its own set of iDEAL issuers for testing purposes and only uses the official issuers in production. When an Adyen configuration is in test mode, FinDock bypasses its normal set of iDEAL issuers and overrides any issuer in the API message to Adyen with a test issuer value.

Payment API messages#

The following are example messages for single and recurrent payments using the Payment API.

One-time payment#

{    "SuccessURL": "https://www.example.com/success",    "FailureURL": "https://www.example.com/error",    "Payer": {        "Contact": {            "SalesforceFields": {                "FirstName": "Eric",                "LastName": "Johnson",                "Email": "eric@johnson.com"            }        }    },    "OneTime": {        "Amount": "30"    },    "PaymentMethod": {        "Name": "CreditCard",        "Processor": "PaymentHub-Adyen"    },    "Settings": {        "SourceConnector": "PaymentHub"    }}

Recurring payment#

{    "SuccessURL": "https://www.example.com/success",    "FailureURL": "https://www.example.com/error",    "Payer": {        "Contact": {            "SalesforceFields": {                "FirstName": "Eric",                "LastName": "Johnson",                "Email": "eric@johnson.com"
            }        }    },    "OneTime": {        "Amount": "0.01"    },    "Recurring": {        "Amount": "25",        "Frequency": "Monthly",        "StartDate": "2020-11-01"    },    "PaymentMethod": {        "Name": "CreditCard",        "Processor": "PaymentHub-Adyen"    },    "Settings": {        "SourceConnector": "PaymentHub"    }}