Het genereren van site security hash

  Laatst bijgewerkt: 

 

Om uw betalingen te beschermen tegen ongeoorloofde wijzigingen, moet u de stappen op deze pagina volgen om een site security hash te berekenen, die in een veld met de naam sitesecurity op uw server-side betalingsformulier. De hash wordt gegenereerd uit een selectie van aangewezen velden, inclusief een wachtwoord dat wordt overeengekomen met ons Support Team. Bij het samenstellen van de hash moet u ervoor zorgen dat u de waarden gebruikt die in uw eigen serversessie aanwezig zijn en niet de geposte waarden.

  Heb ik het nodig?


De configuratie op deze pagina is geschikt voor het volgende gebruik:

  • Nieuwe integraties met Payment Pages

Dit voorkomt dat de klant belangrijke aspecten van de transactie (bv. het bedrag en Munt) wijzigt voordat het autorisatie verzoek bij ons is ingediend.

  Hoe het werkt


Wij lezen de velden in uw verzoek vóór de verwerking van een autorisatie en genereren de hash opnieuw op onze servers. Voor geldige verzoeken moet de site security hash die wij genereren overeenkomen met de waarde die in uw verzoek is opgegeven. Dit geeft aan dat het verzoek niet is gewijzigd door de klant of een derde partij.

CO10-NL.png


Als iemand probeert de waarde van een van de aangewezen velden te wijzigen, zal de hash die wij op onze servers berekenen niet overeenkomen met de hash die in het verzoek werd ingediend. In dat geval wordt de betaling niet voltooid en krijgt de klant een foutmelding.

CO11-NL.png

Alvorens verder te gaan, neem contact op met ons Support Team

  • Ons Support Team zal de site beveiliging op uw site referentie inschakelen en u adviseren over hoe u uw account het beste kunt configureren.
  • Als onderdeel van dit proces moet u overeenstemming bereiken over de aangewezen velden die in de gegenereerde hash moeten worden opgenomen (de lijst met standaardvelden staat in de onderstaande tabel).
  • U moet ook een wachtwoord afspreken met ons Support Team, dat ook wordt meegenomen bij het genereren van de hash. Als u dit wachtwoord moet wijzigen, moet u contact opnemen met Support.

  Deel uw beveiligingswachtwoord van uw site nooit met derden. Bewaar geen papieren kopieën van dit wachtwoord.

Wanneer sitebeveiliging is ingeschakeld, zijn de standaardvelden die worden gebruikt bij het genereren van de hash de volgende:

Opmerking: We geven een voorbeeld van het genereren van de hash onder deze tabel.

 

Bestel Naam van het veld Type Lengte Beschrijving
1 currencyiso3a Alpha 3

De Munt waarin de transactie zal worden verwerkt.

Klik hier voor een volledige lijst van beschikbare munteenheden.

2 mainamount Numeriek 14 Het bedrag van de transactie in hoofdeenheden, waarbij een decimale punt wordt gebruikt om decimale waarden aan te geven, zodat €10 wordt teruggegeven als 10.00.

Zorg ervoor dat u dit veld niet verwart met baseamount, die we veelvuldig gebruiken in onze API-documentatie, die in plaats daarvan is geformatteerd in basiseenheden, zonder decimale punt.

3 sitereference Alfanumeriek met inbegrip van
underscore
50 De unieke Trust Payments site referentie die betrekking heeft op uw individuele account bij ons. Als u uw site referentie niet kent, neem dan contact op met ons Support Team.
4 settlestatus Numeriek 3

Een numerieke waarde die wordt gebruikt om de instructie afwikkeling te definiëren. Als u hier geen waarde opgeeft, wordt de settlestatus staat standaard op "0".

Klik hier voor een volledige lijst van settlestatus waarden.

5 settleduedate Datum JJJJ-MM-DD 10 U kunt dit veld in het verzoek opnemen om de datum te specificeren waarop u uw transactie wilt laten afwikkelen. Deze moet binnen 7 dagen van de datum autorisatie liggen. Deze datum wordt teruggestuurd in het antwoord.
6 authmethod Alpha 5

Ofwel:

7 paypaladdressoverride Numeriek 1 Alleen van toepassing op Payment Pages integraties: Geef aan hoe het afleveradres wordt ingevoerd bij het verwerken van betalingen met PayPal.
8 strequiredfields Alfanumeriek Niet gedefinieerd

Geef aan welke velden de klant moet invoeren. Meerdere velden worden ondersteund.

Als de klant niet in alle verplichte velden informatie verstrekt of ongeldige informatie invoert, wordt de betaling niet voltooid.

9 version Numeriek 1 Alleen van toepassing op Payment Pages integraties: Deze waarde wordt ingesteld op 2.
10 stprofile Alfanumeriek Niet gedefinieerd Alleen van toepassing op Payment Pages integraties: Wordt gebruikt om de styling te specificeren die wordt gebruikt om de Payment Pages weer te geven. Wanneer het standaard uiterlijk wordt gebruikt, wordt dit ingesteld op "default" (klik hier voor meer informatie over profielen).
11 ruleidentifier Alfanumeriek, inclusief koppeltekens Niet gedefinieerd

U kunt unieke identificatiecodes opgeven voor regels die op dit verzoek moeten worden toegepast (bv. STR-1).

Klik hier voor meer informatie.

12 stdefaultprofile Alfanumeriek Niet gedefinieerd

Alleen van toepassing op Payment Pages integraties: Wij bieden een aantal standaardprofielen die op elke sessie kunnen worden toegepast.

Klik hier voor meer informatie.

13 successfulurlredirect URL Niet gedefinieerd Alleen van toepassing op Payment Pages integraties: Dit is de URL waarnaar de browser van de klant wordt omgeleid na een succesvolle transactie, wanneer STR-6 is ingeschakeld.
14 declinedurlredirect URL Niet gedefinieerd Alleen van toepassing op Payment Pages integraties: Dit is de URL waarnaar de browser van de klant wordt omgeleid na een geweigerde transactie, wanneer STR-7 is ingeschakeld.
15 successfulurlnotification URL Niet gedefinieerd Dit is de URL waarnaar de melding wordt gestuurd na een geslaagde transactie, wanneer STR-8 is ingeschakeld.
16 declinedurlnotification URL Niet gedefinieerd Dit is de URL waarnaar de melding wordt gestuurd na een geweigerde transactie, wanneer STR-9 is ingeschakeld.
17 merchantemail E-mailadres 255 Dit is het e-mailadres waarnaar de meldingen per e-mail van de handelaar worden gestuurd wanneer STR-4 en/of STR-5 zijn ingeschakeld.

Maximale lengte van 255 (maximaal 64 tekens vóór het "@"-symbool).

18 allurlnotification URL Niet gedefinieerd Dit is de URL waarnaar de melding wordt gestuurd na een verzoek, wanneer STR-10 is ingeschakeld.
19 stextraurlnotifyfields Alfanumeriek Niet gedefinieerd Dit wordt gebruikt om extra velden op te nemen in URL-kennisgevingen.
20 stextraurlredirectfields Alfanumeriek Niet gedefinieerd Dit wordt gebruikt om extra velden op te nemen in URL-omleidingen.
21 credentialsonfile Numeriek 1 Dit is vereist voor Visa en Mastercard transacties waarbij de merchant gebruik maakt van de Gevevens in Bestand (CoF) functie. Als de transactie niet in aanmerking komt voor CoF, of als u de referenties niet wilt gebruiken voor toekomstige transacties, kunt u dit veld weglaten.

De toegestane waarden voor dit veld zijn 0, 1 & 2.

0 - Komt niet in aanmerking voor CoF, of is niet van plan de referenties op een later tijdstip opnieuw te gebruiken.

1 - Transactiegegevens gemarkeerd als beschikbaar voor toekomstig gebruik.

2 - Betaling met behulp van eerder opgeslagen referenties.

Het bovenstaande geldt voor winkeliers met een Trust Payments acquiring account. Als u een andere acquiring bank gebruikt, moet u contact opnemen met ons Support Team om te controleren of deze functie wordt ondersteund voordat u verder gaat.

22

requesttypedescriptions

Lijst   Lijst van requesttypedescriptions ingediend in het verzoek.

Alleen van toepassing bij gebruik van Geavanceerd Bericht.

23 sitesecuritytimestamp Datum JJJJ-MM-DD hh:mm:ss   (Vereist in de hash - Moet ook worden ingediend in het verzoek) Zo nauwkeurig mogelijk de tijdstempel die weergeeft wanneer de betalingssessie van de klant werd gestart. De klant heeft 3 uur vanaf het opgegeven tijdstip om de betaling te voltooien.

Extra overwegingen:

  • De tijdstempelwaarde moet in UTC zijn.
  • De tijdstempelwaarde mag NIET in de toekomst liggen.
24 password Alfanumeriek, inclusief symbolen 255 (Vereist in de hash - Moet NIET worden ingediend in de aanvraag) Dit is het beveiligingswachtwoord van de site, zoals overeengekomen met ons Support Team.

Geldige tekens:

  • Hoofdletters en kleine letters
  • Cijfers 0-9
  • Ruimtes
  • ~ ! # $ % ^ & * ( ) _ { } [ ] < > , ?

 

Om velden toe te voegen of te verwijderen uit deze lijst kunt u contact opnemen met ons Support Team. Door een veld op te nemen in uw gegenereerde hash, kan dit veld niet worden gewijzigd door de klant of een onbevoegde derde partij. Wij raden u aan zoveel mogelijk unieke velden op te nemen. Wij ondersteunen de opname van aangepaste velden in uw lijst van aangewezen velden.

  U mag geen velden opnemen die de klant mag wijzigen nadat de post is ingediend, bijvoorbeeld in de meeste gevallen hun naam, factuur- en leveringsgegevens. Dit kan verhinderen dat legitieme transacties worden verwerkt.

Het IP-adres van de klant kan tijdens de verwerking van een transactie veranderen, vooral bij het browsen vanaf mobiele apparaten. Daarom raden wij u af dit veld als een van uw aangewezen velden op te nemen.

 

Doorloopvoorbeeld

Klik op de kopjes hieronder om elke stap uit te breiden.

Stap 1: Bereid het touw voor

Voeg de waarden van de aangewezen velden toe in de bovenstaande volgorde. Neem bijvoorbeeld een verzoek met de volgende velden:

currencyiso3a = GBP
mainamount = 100.00
sitereference = test_site12345
sitesecuritytimestamp = 2019-05-28 14:22:37
password = PASSWORD

In dit voorbeeld wordt de volgende string gegenereerd:

GBP100.00test_site123452019-05-28 14:22:37PASSWORD

(Eventuele lege velden worden uit de hash weggelaten)

  Zorg er bij het toevoegen van de veldwaarden voor dat aanwezige spaties niet uit de string worden weggelaten.

  Tijdstempel beveiliging website

Deze timestamp moet zo nauwkeurig mogelijk het tijdstip weergeven waarop de klant zijn betaalsessie begint. (Deze tijdstempelwaarde mag NIET in de toekomst liggen)

De waarde in dit veld moet worden opgegeven in het formaat JJJJ-MM-DD hh:mm:ss.
Het tijdstempel moet in de UTC-tijdzone staan. (bijv. "2019-05-28 14:22:37")

De klant heeft 3 uur vanaf het opgegeven tijdstip om de transactie te voltooien, anders verwerpen wij de aanvraag.

  Volgorde van de velden

Bij het genereren van de hash moeten de velden in dezelfde volgorde staan als hierboven vermeld. Als de velden niet in de juiste volgorde staan, mislukt het verzoek.

De volgorde waarin de velden worden gehasht kan desgewenst worden gewijzigd. Neem hiervoor contact op met het Support Team.

De sitesecuritytimestamp en password velden moet zijn altijd de laatste twee velden in de string die wordt gebruikt om de hash te genereren. Ze kunnen niet tussen de andere velden worden geplaatst of helemaal worden verwijderd.

  Velden met meerdere waarden

Indien een veld in de hash meerdere waarden heeft, worden deze waarden aan elkaar gekoppeld in de volgorde zoals opgegeven in de POST.

Denk aan de volgende extra velden:
ruleidentifier=STR-7&ruleidentifier=STR-6

In de hierboven gegenereerde string wordt het:
GBP100.00test_site12345STR-7STR-62019-05-28 14:22:37PASSWORD

Stap 2: Hash de string

U moet uw systeem zo instellen dat de hash wordt gegenereerd met het SHA-256-algoritme. Bij het genereren van de hash worden alleen de veldwaarden gebruikt.

Voorbeeld string:

GBP100.00test_site123452019-05-28 14:22:37PASSWORD

Hashing met SHA-256 levert de volgende hash op:

d08761660c77014d2a41d7dee54c2160863e2e560388601b71bae059d7f456ca

U kunt de volgende codevoorbeelden gebruiken als referentie bij het genereren van uw hash:

Python PHP Java Perl
#!/usr/bin/python

import hashlib
stringToHash= "GBP100.00test_site123452019-05-28 14:22:37PASSWORD"
print hashlib.sha256(stringToHash).hexdigest()

  Zorg ervoor dat uw systeem de hash indient in kleine letters

Als dat niet gebeurt, kan de hash ongeldig worden gemaakt en kunnen legitieme transacties worden stopgezet.

Stap 3: hash vooraf laten gaan door h

Voorbeeld:

hd08761660c77014d2a41d7dee54c2160863e2e560388601b71bae059d7f456ca

Dit is de uiteindelijke waarde die moet worden ingediend in de sitesecurity veld voor deze transactie.

  Het is belangrijk dat de gegenereerde hash voorafgegaan wordt door de letter "h".

Dit is om ervoor te zorgen dat de laatste versie van de beveiligingsfunctie van de site wordt gebruikt.
Als u dit niet doet, kan de hash ongeldig worden gemaakt en kunnen legitieme transacties worden tegengehouden.

  U moet ervoor zorgen dat u nooit het onbewerkte (niet gehashte) beveiligingswachtwoord van de site POST, aangezien dit een gedeeld geheim is tussen u en Trust Payments.

 

Advies voor probleemoplossing voor gehoste Payment Pages

CO12-NL.png

Wanneer u de beveiligingsimplementatie van uw site test en de Payment Pages geeft de foutmelding "Er was een probleem met uw betaling - Ongeldige gegevens", dan betekent dit dat er een mismatch is tussen de door uw systeem gegenereerde hash en de door Trust Payments verwachte waarde. Zorg ervoor dat u alle bovenstaande instructies hebt gevolgd. Als u nog steeds problemen ondervindt, neem dan contact op met ons Support Team voor assistentie.

Was dit artikel nuttig?
0 van de 0 vonden dit nuttig