Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Het is mogelijk de gebruiker te vragen om na het indienen van een formulier een bepaald bedrag te betalen.

Hiervoor werken we samen met de Betaalmodule.

Je moet een Client ID verkrijgen via het team van de betaalmodule alvorens hier gebruik van te kunnen maken. Je Client ID moet ook gemarkeerd worden als Orafin als je Orafin wil gebruiken. In het geval van Orafin, moet je Client ID ook toegang krijgen tot een IPDC code.

Als dit allemaal in orde is, kan je verdergaan met de instructies op deze pagina om de betaalmodule te activeren op een formulier.

Configureren van de betaalmodule op een formulier

Na het opzetten van een nieuw formulier staan de betalingen standaard uit.

...

Om de betaling in te schakelen:

  1. Selecteer een formulier waarop je de betaling will activeren

  2. Ga naar de Eigenschappen van het formulier

  3. Open de “Betalingen” tab

  4. Kies voor:

    1. Betaling aan

    2. betaling aan (Orafin integratie)

  5. Vul de waarden correct in

  6. Configureer ook de confirmatie pagina (zie verder)

Verschil tussen Orafin & Niet-Orafin

 

Orafin

Niet-Orafin

Communicatie

Mag worden meegegeven, maar wordt genegeerd.

Communicatie is verplicht

Product Code

IPDC code: verplicht en moet correct zijn: moet bij de Betaalmodule gekoppeld zijn aan de client ID.

Product Code: waarde wordt niet gecontroleerd.

Customer Type

KBO (ondernemingen) of KSZ (particulier) verplicht mee geven.

In geven van KBO ook KBO nummer mee te geven, in geval van KSZ ook INSZ mee te geven.

KBO Nummer en INSZ nummer worden enkel op lengte gevalideerd.

Customer Type niet meegeven

Toepasbaar op type formulier

Dit is enkel toegestaan op “Secure” formulier die ontsloten zijn achter ACM/IDM. Dit is nodig om het INSZ te hebben.

Zowel op “Secure” en “Niet-Secure” formulieren.

Formulier aanbevelingen en restricties

Momenteel ondersteunen we enkel een vast bedrag per formulier. Het is nog niet mogelijk om een bedrag te laten afwijken aan de hand van een gekozen waarde in het formulier.

Er is ook nog geen component op het formulier om de prijs aan te geven. Hiervoor kan je zelf een tekst op het formulier renderen, waarin de prijs staat.

Configuratie op de confirmatie pagina

  1. Creëer een confirmatie pagina naast het formulier

  2. Sleep de “Betaling” component op de confirmatie pagina en configureer deze

  3. Open het formulier opnieuw en verwijs naar deze confirmatie pagina via de eigenschappen van de form container:

    Image Added

De “Betaling” component kent enkele statussen:

  • Initialised: Bij het openen van de confirmatie pagina en er kon een betaal link worden opgebouwd, zal de component in deze modus renderen. De gebruiker krijgt dan de betaal knop te zien. Door op de betaalknop te klikken, zal de component naar de “polling” status overgaan. Het betaalscherm zal openen in een nieuwe tab.

  • Initialize failure: Bij het openen van de confirmatie pagina en er kon GEEN betaal link worden opgebouwd, zal de component in deze modus renderen. De gebruiker kan naar geen enkele andere status meer en blijft deze tekst zien.

  • Polling: De component zal pollen naar de betaalmodule (local storage & API) om te kijken of de betaling in de andere tab al is afgerond.

  • Succes: Na polling kom je in deze status terecht als de gebruiker de betaling succesvol heeft afgerond.

  • Failure: Na polling kom je in deze status terecht als de gebruiker de betaling niet succesvol heeft afgerond. De betaalknop zal opnieuw renderen om de gebruiker opnieuw te laten proberen.

Voor elk van deze statussen kan een andere tekst worden beheerd om de gebruiker te informeren.

Testen & valideren van betaalmodule op een formulier

Enkele belangrijke velden:

  • Account / Client ID: als deze niet gekend is bij de betaalmodule, zal er een fout optreden bij het opbouwen van de betaallink

    • De account kan herbruikt worden in andere formulieren zolang de organisatie én IBAN dezelfde blijft.

  • IPDC code (enkel Orafin): als de Client ID geen toegang heeft tot deze IPDC code, zal er een fout optreden bij het opbouwen van de betaallink

Om dit te testen:

  1. Zet alles op op de beheer omgeving (formulier en confirmatie pagina)

  2. Vul het formulier zelf in en klik op verzenden

  3. Als je ook de confirmatie pagina dit ziet, weet je of de betaling geslaagd is of niet:

    1. Je ziet de knop “Betaalvenster openen” op de confirmatie pagina: betaallink kon worden opgevraagd

      1. Klik op deze link om het betaal scherm te zien: Alles lijkt goed geconfigureerd te zijn

    2. Je ziet een betaling foutmelding op de confirmatie pagina: betaallink kon NIET worden opgevraagd, kijk de configuratie na

Betaalgegevens in de JSON ontvangen op het endpoint

Als een betaling aanstaat op een formulier, kan je ook 3 velden ontvangen in de JSON bij je endpoint waar ook de andere formulier data naartoe wordt gestuurd.

Deze 3 velden zijn:

  • PDP Payment ID

  • Betaal Link

  • Gestructureerde mededeling

Deze meta data velden kan je deel laten uitmaken door de metadata component op je formulier te slepen, en 1 van deze “Betaling” metadata velden te kiezen:

Daarna moet je deze ook nog mappen om deel te laten uitmaken via het JSON Schema.

...

 

Opvolging betaling

Er bestaat ook een kans dat de gebruiker helemaal niks betaald.

In dit geval ontvangt de entiteit dus wel een JSON, maar ze kunnen er nooit vanuit gaan dat de betaling gebeurt is. Elke entiteit moet dus zelf gaan controleren op de betaling gebeurt is, dit kan aan de hand van de transactie id. Deze kan ook als Meta data in de output JSON terecht komen.

De transaction ID is de ID om de status van de betaling om te vragen. De entiteit is daarna zelf verantwoordelijk om de betaallink opnieuw bij de gebruiker te bezorgen.