Plug and Pay beschrijft mogelijkheden om velden in te vullen de URL parameters. Echter dat lukt niet met custom fields.
Hieronder een scriptje dat op zich wel werkt als tijdelijke oplossing.
<script async>
var queryString = window.location.search;
var urlParams = new URLSearchParams(queryString);
let afspraakid = urlParams.get('reservering');
document.addEventListener("DOMContentLoaded", function(){
document.querySelector("input[name='custom_fields.23898']").value=afspraakid
document.querySelector("input[name='custom_fields.23898']").dispatchEvent(new Event('input'));
});
</script>
Ik pak het URL parameter "reservering" op en plaats dat in mijn custom INPUT text veld custom_fields.23898. (Dit label kan je vinden door de broncode te inspecteren met je browser zodra je het custom veld hebt gemaakt.
Eventueel zou het veld een disable kunnen geven om te voorkomen dat de gebruiker het veranderd. (Let op , dit is allemaal maar client code.. je mag er niet op vertrouwen)
document.querySelector("input[name='custom_fields.23898']").disabled=true;
Het is echter niet zo heel elegant. Gelukkig is de id van het customfields redelijk
stabiel zolang je het niet weggooit. Zo lijkt het voor nu.
Beter zou natuurlijk zijn als Plug and Pay dit zou kunnen ondersteunen door het opgegeven "label voor jezelf" als parameter mee te kunnen in de URL.