In dit document wordt uitgelegd hoe het JWT wordt bijgewerkt met nieuwe gegevens die de gebruiker op het afrekenformulier heeft ingevuld.
Een veel voorkomende use-case voor deze functionaliteit is wanneer de klant een donatie doet en gevraagd wordt een aangepast bedrag te kiezen. Omdat het bedrag moet worden opgenomen in het JWT om te voorkomen dat gebruikers van derden ongeoorloofde wijzigingen aanbrengen, moet u de onderstaande instructies volgen om het JWT tijdens de betalingssessie bij te werken zodra het definitieve bedrag is vastgesteld:
- Bij het oproepen van de SecureTrading() constructor, zorg ervoor dat deferInit is ingesteld op "true", zoals in onderstaand voorbeeld:
<html>
<body>
<script>
(function() {
var st = SecureTrading({
deferInit: true,
});
})();
</script>
</body>
</html>
-
Wanneer het bedrag wordt bijgewerkt door de gebruiker, moet uw systeem het volgende aanroepen updateJWT met een bijgewerkt JWT dat het nieuwe bedrag bevat (zorg ervoor dat dit op uw server wordt gegenereerd om ervoor te zorgen dat het JWT-geheim niet op de client wordt onthuld). Een voorbeeld hiervan zou kunnen zijn om een on-click event toe te voegen aan een nieuwe "update-amount" knop zoals in het onderstaande voorbeeld:
<html>
<body>
<form id="st-form" action="https://www.example.com" method="POST">
<div class="example-form__section">
<div class="example-form__group">
<button type="submit" class="example-form__button" id="update-amount">
this is the pay button
</button>
</div>
</div>
</form>
</body>
</html>
-
Wanneer het bedrag wordt bijgewerkt door de gebruiker, moet uw systeem het volgende aanroepen updateJWT met een bijgewerkt JWT dat het nieuwe bedrag bevat (zorg ervoor dat dit op uw server wordt gegenereerd om ervoor te zorgen dat het JWT-geheim niet op de client wordt onthuld). Een voorbeeld hiervan zou kunnen zijn om een on-click event toe te voegen aan een nieuwe "update-amount" knop zoals in het onderstaande voorbeeld:
document.getElementById('update-amount').addEventListener('click', function(event) {
event.preventDefault();
st.updateJWT(
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXlsb2FkIjp7ImFjY291bnR0eXBlZGVzY3JpcHRpb24iOiJFQ09NIiwiYmFzZWFtb3VudCI6IjEwNTAiLCJjdXJyZW5jeWlzbzNhIjoiR0JQIiwic2l0ZXJlZmVyZW5jZSI6InRlc3Rfc2l0ZTEyMzQ1In0sImlhdCI6MTU1OTAzMzg0OSwiaXNzIjoiand0LnVzZXIifQ.RI6FUGp4fehJyhxhy2hib2UO2pluqU4AXqz1l1lRJcY'
);
});