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;
- Aanmaken van API credentials
- 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;
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:
- Testomgeving
- Production omgeving
- https://[random]-[company name]-checkout-live.adyenpayments.com/checkout/v67/paymentLinks
- Bijvoorbeeld: https://xds982371p-Deployteq-checkout-live.adyenpayments.com/checkout/v67/paymentLinks
Installatie van de Adyen App
In de store kan de Adyen app worden geïnstalleerd:
De wizard vraagt om de volgende gegevens:
- Username (API gebruikersnaam)
- Password (Basic Auth wachtwoord API gebruiker)
- Adyen Merchant Account naam
- Endpoint;
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 argument | Description | Required | Default value |
---|---|---|---|
psp | Payment 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 | ||
currency | De 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_code | Landcode van degene welke de betaallink ontvangt, bestaande uit 2 letters. | NL | |
shopper_locale | De 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_url | Website 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 expired_at = {{"2 weeks"|date_format:'%Y-%m-%dT%H:%M:%S%z'|regex_replace:"/00$/":":00"}} | ||
debug | Show debugging info for failed requests when set to true | ||
field | Variable name to store the request result into (array format) |
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;