Standaard zal de st.js tijdens het indienen van het betalingsformulier automatisch gevoelige betalingsgegevens tokenen om een unieke cachetoken. De cachetoken wordt gebruikt om de betalingsgegevens weer te geven.
Als u echter de noodzakelijke PCI-certificering hebt verkregen om gevoelige kaarthoudergegevens te verwerken en in te dienen, en toegang hebt tot de onversleutelde kaartgegevens voordat u een betaling verwerkt, kunt u deze rechtstreeks naar uw server laten sturen in plaats van een cachetoken door de onderstaande stappen te volgen:
Overzicht
- Leg de vereiste kaartgegevens (en andere optionele gegevens) vast via uw eigen afrekenformulier.
- Bij verzending, zal dit eerste formulier POST naar een tussenliggende pagina die onze mark-up host. Dit is in feite een holding pagina die tijdelijk wordt getoond voordat de klant de ACS pagina te zien krijgt in een pop-up en/of wordt doorgestuurd naar uw succes pagina.
Wij raden aan een laadanimatie en/of bericht weer te geven wanneer de JS meer dan een paar seconden nodig heeft om het verzoek te voltooien.
- Als de klant is ingeschreven op 3-D Secure, kan de browser van de klant een overlay weergeven, waarin hem wordt gevraagd een aantal basishandelingen te verrichten om zijn identiteit te verifiëren.
- Na eventuele controles en verificatie door de kaartuitgever van de klant, wordt de overlay automatisch gesloten en de betaling verwerkt. Hierna zal de kassa een succesbericht aan de klant tonen.
Het server-side betalingsformulier wijzigen
Zorg ervoor dat u het bovenstaande overzicht hebt gelezen en begrepen voordat u verder gaat. Dit gedeelte geldt alleen voor handelaren die de noodzakelijke PCI-certificering hebben verkregen om gevoelige kaarthoudergegevens te verwerken en in te dienen.
U moet op de intermediaire pagina een formulier hosten dat de gevoelige gegevens in een JWT laadt en dit indienen bij Trust Payments, zoals hieronder beschreven.
startOnLoad
U moet ervoor zorgen dat uw formulier het extra veld startOnLoad binnen st.Components, met waarde "true". Hierdoor is er geen interactie van de klant nodig om het formulier de gegevens naar Trust Payments te sturen.
submitOnError
U moet ervoor zorgen dat uw formulier het extra veld submitOnError, met waarde "true". Dit zorgt ervoor dat de klant bij een fout wordt doorgestuurd naar uw website, zodat hij zijn gegevens kan wijzigen en de betaling opnieuw kan proberen.
jwt
Zie deze pagina om te leren hoe je het JWT opbouwt (JSON Web Token). In deze alternatieve workflow moet het JWT ook de pan, expirydate en securitycode velden, zoals in onderstaand voorbeeld:
{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":"1050",
"currencyiso3a":"GBP",
"sitereference":"test_site12345",
"requesttypedescriptions":["THREEDQUERY","AUTH"],
"pan":"4111111111111111",
"expirydate":"12/2031",
"securitycode":"123"
},
"iat":1559033849,
"iss":"jwt.user"
}
Formulier
Anders dan in de andere voorbeelden die we geven, hoeft het formulier in deze configuratie geen velden te bevatten waarin de kaartgegevens worden opgevraagd, omdat die al zijn opgenomen in het JWT.
Het formulier hoeft ook geen verzendknop te bevatten, want startOnLoad zal de inhoud van het formulier automatisch verzenden, inclusief het JWT.
<html>
<head>
</head>
<body>
<div id="st-notification-frame"></div>
<form id="st-form" action="https://www.example.com" method="POST">
</form>
<script src="<CDN_DOMAIN>"></script>
<script>
(function() {
var st = SecureTrading({
jwt:'INSERT YOUR JWT HERE',
submitOnError: true
});
st.Components({startOnLoad: true});
})();
</script>
</body>
</html>
Vervang <CDN_DOMAIN>
met een ondersteund domein. Klik hier voor een volledige lijst.
Overwegingen inzake registratie
Bij gebruik van de startOnLoad betalingsstroom, zal het antwoord van de gateway het verzoek JWT bevatten (in het veld "jwt") dat de ingediende gevoelige kaartgegevens bevat. Daarom moet u ervoor zorgen dat deze gevoelige betalingsvelden (zoals de pan, expirydate en securitycode) worden gemaskeerd of uitgesloten bij het inloggen op uw gegevens, om te voldoen aan de PCI-naleving.