Skip to content

LucaStars Payment Service Provider

Een Payment Service Provider (PSP) wordt gebruikt om betalingen te verwerken. Denk hierbij onder andere aan Mollie, Adyen, Stripe en Global Collect. Als je ooit eens wat online hebt besteld, heb je een PSP gebruikt! Zonder een PSP moet je zelf koppelen met iDeal (in Nederland), PayPal of VISA/MasterCard om allerlei soorten betalingen te ondersteunen. Dat is een hoop gedoe die een PSP je bespaard.

Voor dit project heeft LucaStars een namaak PSP beschikbaar, uiteraard wordt er dan geen echte betaling gedaan, maar je kunt hier wel je bestelproces op aansluiten.

De documentatie van de API vind je hier.

API Key

Je moet voor deze API een bearer API Key meesturen als Authorization-header. De API accepteert elke API Key als geldig.

De API Key wordt gebruikt om betalingen te groeperen voor het betaaloverzicht. Het is dus aangeraden om de API Key van je HBO-ICT.Cloud project te pakken en daar dan een postfix met de huidige omgeving achter te zetten. Met de postfix kun je onderscheid maken tussen verschillende teamleden of omgevingen! Een voorbeeld API-Key kan zijn: pb4sed2425_something.random-dev, hierbij is -dev dan de postfix.

De flow van een betaling is ongeveer als volgt:

  • Je maakt een payment-object aan met wat informatie, waaronder waar de gebruiker naartoe gestuurd moet worden na een betaling (redirectUrl). Zorg er wel voor dat er iets van een identifier in de redirectUrl zit, bijvoorbeeld ?orderId=1337, anders kan je niet meer terughalen om welke bestelling een betaling ging!
  • Je krijgt een transactionId, deze moet je onthouden in de database samen met je orderId.
  • Vervolgens stuur je een gebruiker naar de openbare betaalpagina van de API door de transactionId mee te geven.
  • Op de betaalpagina rekent de gebruiker normaliter af met bijvoorbeeld iDeal of PayPal, in dit geval kan je een betaalstatus kiezen (open, paid, canceled).
  • De betaalpagina stuurt de gebruiker terug naar de eerder opgegeven redirectUrl.
  • Bij terugkomst op je website haal je de orderId uit de URL, haalt vervolgens de transactionId uit de database en controleert of de status paid is.

API Docker image momenteel nog niet beschikbaar

Deze Docker image voor deze API is momenteel nog niet beschikbaar, maar volgt zo snel mogelijk.