Met de Adyen integratie is het mogelijk om gepersonaliseerde Adyen betaallinks te genereren in Deployteq e-mails of pagina's. Als de gebruiker klikt op de betaallink, dan zal deze worden geleid naar het betaalproces van Adyen en de betaling gescheiden op het ingestelde merchant account.

Met behulp van de Deployteq webhooks is het mogelijk om alle transacties en hun status op te slaan voor toekomstige selecties of betaalherinneringen.

Configuratie in Adyen

De configuratie binnen Adyen bestaat uit 2 stappen;

  1. Aanmaken van API credentials
  2. Bepalen van de API url/endpoint


Deze stappen staan hieronder beschreven, mocht hier vragen over zijn dan verwijzen wij naar de support desk van Adyen.


1. Aanmaken van API credentials

In Adyen kan je API credentials inzien en aanmaken in het menu item Developers > API credentials:

Klik op "Create new credential" en een pop-up zal worden getoond. Kies voor een Web Service User implementatie; 

 


In het volgende scherm wordt een gebruikersnaam en wachtwoord getoond welke benodigd is in de configuratie van de Adyen App in Deployteq. In deze stap hoeft verder niets geconfigureerd te worden, tenzij het wenselijk is om IP-whitelisting toe te passen;


Deployteq IP-addresses

Deployteq maakt gebruik van verschillende IP-adressen, voor een actuele lijst kunnen jullie contact opnemen met onze support desk: support@deployteq.com.

2. Bepaal de API url

Onze integratie is gebaseerd op API versie 67 van de checkout API en de URL's zijn als volgt opgebouwd:


Endpoint

Let bij het invoeren van de productie endpoint dat het paymentLinks pad wordt opgegeven;
/checkout/v**/paymentLinks

Daarbij vereist Adyen dat bij deze oplossing de algemene voorwaarden zijn opgenomen binnen Adyen, zie hiervoor de documentatie van Adyen:

https://docs.adyen.com/unified-commerce/pay-by-link/#add-your-terms-and-conditions

Installatie van de Adyen App

In de store kan de Adyen app worden geïnstalleerd:


De wizard vraagt om de volgende gegevens:


Na het voltooien van deze stap is de App geïnstalleerd en kan middels een smarty functie een betaallink worden gegenereerd. Hoe deze toegepast kan worden zal hieronder worden toegelicht.


Genereer betaallink Smarty methode

Met behulp van de volgende smarty methode kan een betaallink worden gegenereerd van €20,83:

{{paymentlink psp='adyen' amount='2083' assign='adyen_payment_link'}} 

<a href="{{$adyen_payment_link}}">{{$adyen_payment_link}}</a>


Deze oplossing kan uitgebreid worden met verschillende argumenten, zie het onderstaand voorbeeld gebaseerd op een object met verschillende properties:

{{paymentlink psp='adyen' reference={{uid}} amount='{{property name='bedrag' default='5'}}' debug='true' field='debug' currency='EUR' description='{{property name='Beschrijving'}}' country_code='NL' shopper_locale='nl-NL' shopper_email=$customer.emailaddress shopper_reference=$customer.id expired_at={{"1 week"|date_format:'%Y-%m-%dT%H:%M:%S%z'|regex_replace:"/00$/":":00"}} return_url='https://www.deployteq.com' assign='adyen_payment_link'}}

<pre>{{$debug|print_r}}</pre>
<a href="{{$adyen_payment_link}}" alt="start betaling">Start betaling</a>

Available Adyen arguments

Smarty argumentDescriptionRequiredDefault value
pspPayment service provider (Op het moment alleen Adyen)


amount

Het bedrag van de gewenste transactie in centen. Als een bedrag met decimalen verstuurd moet worden, dan gaat dit in centen.

Het bedrag €20,83 moet verstuurd worden als: 2083


currencyDe gewenste currency in het 3-karakters ISO formaat;
https://docs.adyen.com/development-resources/currency-codes/

EUR
description

Een korte beschrijving van de betaling, deze is ook zichtbaar op de betaalpagina.

Maximaal aantal karakters: 280 (Hier wordt niet op gevalideerd in Deployteq)


country_codeLandcode van degene welke de betaallink ontvangt, bestaande uit 2 letters. 

NL
shopper_localeDe taal van degene welke de betaallink ontvangt, bijvoorbeeld: en-US

nl-NL
shopper_email

E-mailadres van degene welke de betaallink ontvangt. In Deployteq is dit het volgende veld in Smarty:

{{$customer.emailaddress}}


shopper_reference

Een referentie naar de klant, bijvoorbeeld het Deployteq customerid. Minimale lengte: 3 karakters

Dit kan bijvoorbeeld met de volgende Smarty: {{$customer.id}}


reference

Een unieke referentie naar de betaling, deze wordt standaard gevuld met jullie portalid, brandid en een unix timestamp.

Bijvoorbeeld:

102-1673352707

<PortalID><BrandID>-<UNIX Timestamp>
return_urlWebsite URL used for redirection after payment is completed.
If provided, a Continue button will be shown on the payment page.
If shoppers select the button, they are redirected to the specified URL


expired_at

Standaard zijn de betaallinks maximaal 1 dag geldig, met deze optie kan je een einddatum meegeven tot 70 dagen in de toekomst.

Ze verwachten het wel een in specifiek formaat, dit kan bereikt worden met Smarty. Zie onderstaand voorbeeld van 2 weken in de
toekomst:

expired_at = {{"2 weeks"|date_format:'%Y-%m-%dT%H:%M:%S%z'|regex_replace:"/00$/":":00"}}


debugShow debugging info for failed requests when set to true


fieldVariable name to store the request result into (array format)



Transacties controleren

In Adyen kan je alle inloggen om alle gegenereerde paymentlinks te zien en de status van de verschillende transacties: https://ca-live.adyen.com/

Hieronder een overzicht van de paymentlinks welke zijn gegenereerd door Deployteq en hun status:


Zie onderstaand overzicht van transacties in Adyen:

Ontvang alle transactie notificaties

Voor het ontvangen van de transactie notificaties ga naar "Developers > Webhooks" en klik op "+ Webhook". Dit zal een pop-up tonen met mogelijke webhooks welke binnen Adyen opgezet kunnen worden;


In deze opzet kiezen wij voor de "Standard notification" en drukken op "Add". Dit zal een nieuwe pagina tonen waar je de beschrijving kan opgeven, de server configuratie kan opgeven (Deployteq webhook endpoint, toevoegen van de authentication en vereiste gebruikergegevens;


Deployteq Webhook

Om de transactie notificaties te ontvangen moet een webhook opgezet worden, voor meer informatie zie onder handleiding. Bij het opzetten van een webhook in Deployteq zal reslulteren in een endpoint en een Basic Authentication token.

Omzetten van Basic Authentication string naar een gebruikersnaam/wachtwoord

Bij het opzetten van een webhook met Basic Authentication zal resulteren in base64 string, bijvoorbeeld:

dXNlcm5hbWU6dmVyeWltcG9ydGFudHNlY3JldA==


Deze base64 string kan worden uitgepakt, dit zal resulteren in een leesbare gebruikersnaam en wachtwoord. Gebaseerd op het bovenstaand voorbeeld is de volgende informatie beschikbaar:

username:veryimportantsecret

<username>:<password>

Override response Deployteq webhook

De webhooks van Adyen eisen dat de response van de API welke zij aanroepen het woord "[accepted]" oplevert, anders zal dit resulteren in een error aan hun zijde:


Je kan dit zelf instellen binnen Deployteq door het opgeven van een override response in de webhook wizard: