Documentatie voor klanten en partners van Digitaal Vlaanderen - bouwstenen Mijn Burgerprofiel, Verenigingsloket en e-loketondernemers
Een betaling afhandelen
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.
De betaling verloopt in volgende stappen:
de gebruiker “submit” het formulier
op de speciale dank u pagina komt er een knop om de betaling op te starten
Als je op de knop drukt opent er een scherm van POM
De gebruiker voert de betaling uit
De gebruiker wordt teruggestuurd naar de dank u pagina, en krijgt een aangepast tekst te zien.
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:
Selecteer een formulier waarop je de betaling will activeren
Ga naar de Eigenschappen van het formulier
Open de “Betalingen” tab
Kies voor:
Betaling aan
betaling aan (Orafin integratie)
Vul de waarden correct in
Configureer ook de confirmatie pagina (zie verder)
ClientID: aan te vragen bij de Betaalmodule
ProductID: IPDC code van de dienst waarvoor de betaling moet gebeuren.
Bedrag: vast bedrag dat betaald moet worden voor deze dienst.
Product Naam: zal verschijnen op het betalingsscherm van POM = informatief voor de gebruiker
Communicatie: komt te staan in het “communicatie” veld van de betaling (bank transactie)
Verschil tussen Orafin & Niet-Orafin flow
| 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 naar de betaalmodule |
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 van de bevestigingspagina
Creëer een bevestigingspagina naast het formulier
Kies hiervoor bij de templates: “Danku pagina voor betalingen”
U kan de teksten bepalen die op deze pagina zullen verschijnen:
Panel initialised: de tekst die verschijnt na het indienen van de data, waarin gevraagd wordt aan de gebruiker om de betaling uit te voeren
Panel polling: de tekst die verschijnt terwijl er wordt gewacht op bevestiging van POM dat de betaling in orde is.
Panel success: de tekst die wordt getoond als de betaling met success is uitgevoerd
Panel failure: de tekst die wordt getoond als de betaling is mislukt. De gebruiker moet de betaling dan opnieuw opstarten.
Panel Initialise failure: tekst die wordt getoond als het aanmaken van een betaallink is gefaald (probleem met de betaalmodule). De betaling kan niet worden opgestart.
Panel met de knop die linkt naar het betaalvenster.
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:
PSP Payment ID
Betaal Link
Gestructureerde mededeling
Deze meta data velden kan je deel laten uitmaken van je formulier 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 betaalt.
In dit geval ontvang je dus wel een JSON, maar je kan er nooit vanuit gaan dat de betaling gebeurd is. Elke entiteit moet dus zelf gaan controleren of de betaling gebeurd 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 op te vragen. De entiteit is daarna zelf verantwoordelijk om de betaallink opnieuw bij de gebruiker te bezorgen.
Voorbeeld
Een voorbeeld van een formulier met betaling vindt u hier:
Testen moet steeds gebeuren op de publish omgeving:
Na het indienen van het formulier krijgt u de bevestigingspagina te zien:
Druk op de knop “Betaalvenster openen”
Na een succesvolle betaling krijgt u een aangepast bericht te zien;
Dit is een officiële website van de Vlaamse overheid - Uitgegeven door Digitaal Vlaanderen: https://www.vlaanderen.be/digitaal-vlaanderen
DISCLAIMER: http://www.vlaanderen.be/nl/disclaimer
TOEGANKELIJKHEID:
http://www.vlaanderen.be/nl/toegankelijkheid