Adyen V2

image-20240516-033125.png

STEP 1

ADYEN ACCOUNT

  1. Obtain merchantAccount and apiKey from Adyen

  2. Obtain liveUrlPrefix from Adyen. liveUrlPrefix is a string composed of a hex-encoded random part and your company name. Get the prefix from your live Customer Area under Developers > API URLs > Prefix.

  3. Enable the “API PCI Payments” role for the API key (Contact the Adyen support to enable this feature). This may require submitting the CheckoutChamp PCI documentation. Please contact your account manager if this is needed.

  4. Under Account Settings set your account to “immediate” capture delay.

  5. In your Customer Area, go to Developers > Additional data.

    1. Enable the following settings

      1. Acquirer result

      2. Raw acquirer result

      3. Recurring details

      4. Network transaction reference

      5. 3D Secure (optional)

  6. Setup a standard webhook. This is required for final resolution of refund and capture requests.

    1. Server configuration

      1. URL: https://api.checkoutchamp.com/billers/adyenv2/notification/

      2. Method: JSON

      3. Encryption protocol: TLSv1.2

    2. Security

      1. HMAC: Generate a new key and added to the hmacKey gateway field in Step 2.

    3. Events

      1. CAPTURE

      2. REFUND

 

STEP 2

In the CRM, go to Gateways > Gateway Integrations. Find AdyenV2 and click the tile. Then click the +Activate button.

image-20240516-025959.png

 

STEP 3

Fill the fields obtained in Step 1.

Select “No” on secure3DS if it is for Non-3DS. Use force3DS to require 3DS from Adyen.

 

Skip steps 4-6 if using CheckoutChamp hosted pages

STEP 4

Add the hidden input browserData inside of the same form as the card input.

<input type="hidden" name="browserData" value="" id="browserData">

 

STEP 5

Add this script to your page before the closing body tag.

Script to get browserData: <script type="text/javascript"> const navigator = window.navigator; const browserData = { acceptHeader: 'application/json', colorDepth: screen.colorDepth, javaEnabled: navigator.javaEnabled(), javaScriptEnabled: true, language: navigator.language, screenHeight: screen.height, screenWidth: screen.width, timeZoneOffset: (new Date()).getTimezoneOffset().toString(), userAgent: navigator.userAgent }; document.getElementById('browserData').value = JSON.stringify(browserData); </script>

 

STEP 6

For 3DS your checkout page must support the standard 3DS workflow