Wat is er veranderd in versie 3 en waarom?
Versie 3 is een update van onze JavaScript Library waarvan de uitvoering minimaal ontwikkelingswerk vergt. Het belangrijkste doel van de update is het verbeteren van de afhandeling van gegevens in verzoeken aan Trust Payments, door ervoor te zorgen dat de betalingsveldgegevens die aan de gateway worden verstrekt, worden gedefinieerd binnen de JWT payload.
Wat gebeurt er met versie 2?
Versie 2 van onze JavaScript Library is nu verouderd en wordt niet langer onderhouden. In het belang van de veiligheid is het noodzakelijk dat je migreert naar versie 3 voordat versie 2 na 1 oktober 2024 volledig buiten gebruik wordt gesteld.
Configuratie
Eindpunt-URL wijzigen
Het script waarnaar wordt verwezen in uw betalingsformulier moet worden gewijzigd in:
<CDN_DOMAIN>
Vervang DOMAIN placeholder door een ondersteund domein. Klik hier voor een volledige lijst.
Wanneer u overgaat op het gebruik van de Content Delivery Network (CDN) in plaats van webservices om te verwijzen naar de st.js library, wees u er dan van bewust dat de CDN verzoeken van uw localhost/127.0.0.1 omgeving zal blokkeren. Om uw applicatie lokaal te testen met CDN, moet u uw testapplicatie draaien met uw IPv4 adres in plaats van localhost. Na het uitvoeren van een lookup van uw IPv4-adres, moet u localhost in uw browser vervangen door het opgehaalde IP-adres.
Verzoektypes specificeren in het JWT payload
Bij gebruik van versie 3 is het verplicht om in elk verzoek aan Trust Payments de te verwerken soorten verzoeken te specificeren. Dit gebeurt nu in het JWT payload, in plaats van binnen st.Components methode.
3-D Secure geauthenticeerde betalingen
Onder versie 2 zou de JS Library altijd automatisch de verzoeken THREEDQUERY en AUTH verwerken (voor respectievelijk 3-D Secure authenticatie en vervolgens autorisatie zoeken voor betaling). Om dit gedrag te repliceren onder versie 3 moet de lijst requesttypedescriptions moet worden opgenomen in de JWT payload, met waarde [“THREEDQUERY”,”AUTH”].
Formulier voorbeeld:
<html>
<head>
</head>
<body>
<div id="st-notification-frame"></div>
<form id="st-form" action="https://www.example.com" method="POST">
<div id="st-card-number"></div>
<div id="st-expiration-date"></div>
<div id="st-security-code"></div>
<button type="submit">Pay securely</button>
</form>
<script src="<WEBSERVCIES_DOMAIN>/js/v2/st.js"></script>
<script>
(function() {
var st = SecureTrading({
jwt: 'INSERT YOUR JWT HERE'
});
st.Components();
})();
</script>
</body>
</html>
<html>
<head>
</head>
<body>
<div id="st-notification-frame"></div>
<form id="st-form" action="https://www.example.com" method="POST">
<div id="st-card-number"></div>
<div id="st-expiration-date"></div>
<div id="st-security-code"></div>
<button type="submit">Pay securely</button>
</form>
<script src="<CDN_DOMAIN>"></script>
<script>
(function() {
var st = SecureTrading({
jwt: 'INSERT YOUR JWT HERE'
});
st.Components();
})();
</script>
</body>
</html>
Vervang DOMAIN placeholder door een ondersteund domein. Klik hier voor een volledige lijst.
Payload voorbeeld:
{"payload":{"accounttypedescription":"ECOM","baseamount":"1050","currencyiso3a":"GBP","sitereference":"test_site12345"},"iat":1559033849,"iss":"jwt.user"}
{"payload":{"accounttypedescription":"ECOM","baseamount":"1050","currencyiso3a":"GBP","sitereference":"test_site12345","requesttypedescriptions":["THREEDQUERY","AUTH"]},"iat":1559033849,"iss":"jwt.user"}
Andere Verzoektype combinaties
Als u al aangepaste Verzoektype combinaties opgeeft, moet dit worden verwijderd uit de st.Components methode en in plaats daarvan opgenomen in de lijst requesttypedescriptions moet worden opgenomen in de JWT payload. Het volgende voorbeeld toont hoe een aanvraagreeks ACCOUNTCHECK, THREEDQUERY, AUTH te migreren:
Formulier voorbeeld:
<html>
<head>
</head>
<body>
<div id="st-notification-frame"></div>
<form id="st-form" action="https://www.example.com" method="POST">
<div id="st-card-number"></div>
<div id="st-expiration-date"></div>
<div id="st-security-code"></div>
<button type="submit">Pay securely</button>
</form>
<script src="<WEBSERVCIES_DOMAIN>/js/v2/st.js"></script>
<script>
(function() {
var st = SecureTrading({
jwt: 'INSERT YOUR JWT HERE'
});
st.Components({"requestTypes":["ACCOUNTCHECK","THREEDQUERY","AUTH"]});
})();
</script>
</body>
</html>
<html>
<head>
</head>
<body>
<div id="st-notification-frame"></div>
<form id="st-form" action="https://www.example.com" method="POST">
<div id="st-card-number"></div>
<div id="st-expiration-date"></div>
<div id="st-security-code"></div>
<button type="submit">Pay securely</button>
</form>
<script src="<CDN_DOMAIN>"></script>
<script>
(function() {
var st = SecureTrading({
jwt: 'INSERT YOUR JWT HERE'
});
st.Components();
})();
</script>
</body>
</html>
Vervang DOMAIN placeholder door een ondersteund domein. Klik hier voor een volledige lijst.
Payload voorbeeld:
{"payload":{"accounttypedescription":"ECOM","baseamount":"1050","currencyiso3a":"GBP","sitereference":"test_site12345"},"iat":1559033849,"iss":"jwt.user"}
{"payload":{"accounttypedescription":"ECOM","baseamount":"1050","currencyiso3a":"GBP","sitereference":"test_site12345","requesttypedescriptions":["ACCOUNTCHECK","THREEDQUERY","AUTH"]},"iat":1559033849,"iss":"jwt.user"}
Het omzeilen van 3-D Secure voor bepaalde betalingswijzen
Als u aangeeft dat betaalmethoden niet onderworpen zijn aan 3-D Secure authenticatie, moet u het volgende verwijderen bypassCards van de ST-configuratie. In plaats daarvan wordt het veld threedbypasspaymenttypes moet worden verwezen in de JWT payload.
Om ervoor te zorgen dat uw oplossing voldoet aan de Payment Services Directive (PSD2), moet u ervoor zorgen dat alle transacties worden uitgevoerd met behulp van 3-D Secure.
Formulier voorbeeld:
<html>
<head>
</head>
<body>
<div id="st-notification-frame"></div>
<form id="st-form" action="https://www.example.com" method="POST">
<div id="st-card-number"></div>
<div id="st-expiration-date"></div>
<div id="st-security-code"></div>
<button type="submit">Pay securely</button>
</form>
<script src="<WEBSERVCIES_DOMAIN>/js/v2/st.js"></script>
<script>
(function() {
var st = SecureTrading({
jwt: 'INSERT YOUR JWT HERE',
bypassCards: ['DISCOVER']
});
st.Components();
})();
</script>
</body>
</html>
<html>
<head>
</head>
<body>
<div id="st-notification-frame"></div>
<form id="st-form" action="https://www.example.com" method="POST">
<div id="st-card-number"></div>
<div id="st-expiration-date"></div>
<div id="st-security-code"></div>
<button type="submit">Pay securely</button>
</form>
<script src="<CDN_DOMAIN>"></script>
<script>
(function() {
var st = SecureTrading({
jwt: 'INSERT YOUR JWT HERE'
});
st.Components();
})();
</script>
</body>
</html>
Vervang DOMAIN placeholder door een ondersteund domein. Klik hier voor een volledige lijst.
Payload voorbeeld:
{"payload":{"accounttypedescription":"ECOM","baseamount":"1050","currencyiso3a":"GBP","sitereference":"test_site12345"},"iat":1559033849,"iss":"jwt.user"}
{"payload":{"accounttypedescription":"ECOM","baseamount":"1050","currencyiso3a":"GBP","sitereference":"test_site12345","threedbypasspaymenttypes":["DISCOVER"],"requesttypedescriptions":["THREEDQUERY","AUTH"]},"iat":1559033849,"iss":"jwt.user"}