Verwerk uw eerste transactie met JavaScript Library

Verwerk testbetaling

Zodra u uw betalingsformulier hebt bijgewerkt en de bibliotheek hebt geconfigureerd, kunt u een testbetaling per kaart uitvoeren via onze sandbox. Gebruik het formulier dat u eerder hebt geconfigureerd, vul het formulier in met de volgende testbetalingsgegevens en klik op "Betalen" om een testtransactie uit te voeren.

Bij het testen kunt u de volgende testkaartgegevens gebruiken om een "Succesvol" antwoord te simuleren:

  • Visa kaart "4111 1111 1111 1111" of Mastercard "5100 0000 0000 0511".
  • Stel de vervaldatum in op elke geldige datum in de toekomst
  • Gebruik veiligheidscode "123".

Nadat het formulier is ingediend, opent de "st.js" de overlay in de browser voor de authenticatie. De resultaten van de uitgevoerde authenticatie en de daaropvolgende betaling worden aan het formulier toegevoegd (met id=“st-form”), die dan rechtstreeks naar de server wordt gestuurd die is opgegeven in de action attribuut van het formulier, in het formaat van een application/x-www-form-urlencoded POST.

 

JWT-antwoord decoderen

Het resultaat van het verwerkte verzoek wordt teruggestuurd in de vorm van een nieuw JWT. Het volgende is een voorbeeld van een door Trust Payments geretourneerd antwoord:

(Gedecodeerd teken)

{
'jwt': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ3ZWJzZXJ2aWNlc0BtZXJjaGFudC5jb20iLCJpYXQiOjE2MDU3OTUyMTYsInBheWxvYWQiOnsiY3VycmVuY3lpc28zYSI6Ik9NUiIsImJhc2VhbW91bnQiOiIxMDAwIiwicGFyZW50dHJhbnNhY3Rpb25yZWZlcmVuY2UiOiI0Mi03MC0xMTMiLCJzaXRlcmVmZXJlbmNlIjoibGl2ZTIiLCJyZXF1ZXN0dHlwZWRlc2NyaXB0aW9ucyI6W10sImFjY291bnR0eXBlZGVzY3JpcHRpb24iOiJFQ09NIn19.uGc6ePF31K2QNmIWOh7XzvRQjk_tRPK4gOZv5-hfHDM',
'requestreference': 'W12-3456abc',
'response': [{
'accounttypedescription': 'ECOM',
'chargedescription': 'Descriptor',
'dccenabled': '0',
'enrolled': 'N',
'errorcode': '0',
'errormessage': 'Ok',
'issuercountryiso2a': 'ZZ',
'livestatus': '0',
'maskedpan': '400000######1026',
'merchantcategorycode': '0000',
'merchantcity': 'Bangor',
'merchantcountryiso2a': 'GB',
'merchantname': 'Test merchant',
'merchantnumber': '00000000',
'merchantzipcode': 'TR45 6ST',
'operatorname': 'webservices@example.com',
'parenttransactionreference': '12-34-567',
'paymenttypedescription': 'VISA',
'requesttypedescription': 'THREEDQUERY',
'settleduedate': '2020-11-19',
'settlestatus': '0',
'threedversion': '1.0.2',
'transactionreference': '12-34-567',
'transactionstartedtimestamp': '2020-11-19 14:13:36',
'xid': 'bUZHNFVUQ2dSNk11WUFkdUx0d1o='
}, {
'accounttypedescription': 'ECOM',
'acquirerresponsecode': '00',
'acquirerresponsemessage': 'Approved or completed Successfully',
'authcode': '000004',
'baseamount': '1050',
'chargedescription': 'Descriptor',
'currencyiso3a': 'GBP',
'customeroutput': 'RESULT',
'dccenabled': '0',
'enrolled': 'N',
'errorcode': '0',
'errormessage': 'Ok',
'issuercountryiso2a': 'ZZ',
'livestatus': '0',
'maskedpan': '400000######1026',
'merchantcategorycode': '0000',
'merchantcity': 'Manchester',
'merchantcountryiso2a': 'GB',
'merchantname': 'Test merchant',
'merchantnumber': '00000000',
'merchantzipcode': 'TR45 6ST',
'operatorname': 'webservices@example.com',
'transactionreference': '12-34-567',
'paymenttypedescription': 'VISA',
'requesttypedescription': 'AUTH',
'retrievalreferencenumber': '032414420113',
'securityresponseaddress': '0',
'securityresponsepostcode': '0',
'securityresponsesecuritycode': '2',
'settleduedate': '2020-11-19',
'settlestatus': '0',
'splitfinalnumber': '1',
'stan': '420113',
'threedversion': '1.0.2',
'transactionreference': '12-34-568',
'transactionstartedtimestamp': '2020-11-19 14:13:36'
}],
'secrand': 'ce3Z',
'version': '1.00'
}

  Als er een fout is opgetreden, kunnen wij het antwoord mogelijk niet coderen, waardoor het antwoord mogelijk slechts een errorcode en errormessage.

In dit scenario raden wij aan de klant te vragen de betaling opnieuw te proberen.
bijv. errorcode 50000, errormessage "Time-out".

Om het volledige antwoord te bekijken, moet u het teruggestuurde JWT decoderen.

We raden aan de bibliotheken te gebruiken die te vinden zijn op https://jwt.io om de JWT te decoderen.

Het antwoord JWT bestaat uit drie delen, gescheiden door punten ("."), in het volgende formaat:

Header.Payload.Signature

  Voordat u het antwoord kunt vertrouwen, moet u de signature geretourneerde waarde overeenkomt met de verwachte waarde. Zo niet, dan kan deze door een onbevoegde partij zijn gewijzigd.

De signature is gehashed met SHA-256, en kan dus niet gedecodeerd worden. Dit betekent dat om de signature correct is, moet uw systeem het opnieuw berekenen met behulp van de header en payload teruggestuurd.
Mits u dezelfde secret tijdens dit proces, de herberekende signature moet overeenkomen met die in het antwoord JWT. Samengevat:

  1. Base64URL decoderen JWT header
  2. Base64URL decoderen JWT payload
  3. De handtekening opnieuw genereren door de header, de payload en ze ondertekenen met uw secret.
    (zoals hierboven uitgelegd)

 

Antwoordvelden

Nadat u het antwoord hebt ontvangen, raden wij u aan de onderstaande informatie door te nemen wanneer u de betalingssessie van de klant behandelt:

 

Transactiereferentie

De transactionreference is een unieke identificatiecode voor de transactie. U moet deze referentie vastleggen om op een later tijdstip query's of andere acties op deze transactie uit te voeren.

 

Verzoektype

U moet de requesttypedescription teruggestuurd in het antwoord. Alleen waarden van "AUTH" geven de autorisatie van een betaling aan. Klik hier voor een volledige lijst van verschillende verzoektypes die door Trust Payments worden ondersteund.

 

Referentie bestelling

De orderreference is een aangepaste identificatiecode voor de transactie die we aanbevelen in de JWT payload van elke transactie. Als uw systeem is geconfigureerd om orderreference waarden aan uw transacties, die u kunt gebruiken om ervoor te zorgen dat u het juiste antwoord controleert na een betaling.

 

Foutcode

U moet de errorcode teruggestuurd in het antwoord op AUTH om het resultaat van de transactie te bepalen:

Foutcode Beschrijving Vereiste acties
0 Succesvolle transactie. Geen enkele.
30000 Geeft aan dat er ongeldige gegevens zijn ingediend binnen de payload van het JWT. Controleer de velden die in de payload van het JWT voldoen aan onze specificatie.
60010
60034
99999
Dit kan het gevolg zijn van een communicatieprobleem met een bank of een derde partij. Wij raden u aan de klant te informeren over het probleem en contact met u op te nemen om het probleem op te vragen. U moet contact opnemen met ons Support Team en een kopie verstrekken van het gehele ingediende verzoek en het teruggestuurde antwoord, en wij zullen contact opnemen met de relevante partijen om de status van het verzoek vast te stellen. Zorg er in het belang van de veiligheid voor dat u gevoelige veldwaarden, zoals kaartgegevens, weglaat of maskeert.
60022 De klant werd om authenticatie gevraagd, maar slaagde niet in dit deel van het proces, wat betekent dat de transactie niet werd geautoriseerd. Geef de klant een alternatief betalingsmiddel en laat hem opnieuw proberen.
70000 autorisatie voor de betaling werd geprobeerd, maar werd geweigerd door de uitgevende bank.
Andere Klik hier voor een volledige lijst van errorcode waarden die kunnen worden teruggegeven. Hangt af van de errorcode teruggestuurd.

 

Status betaling (settlestatus)

U moet de settlestatus in het antwoord:

Status betaling (settlestatus) Beschrijving Vereiste acties
0 In afwachting van automatische afwikkeling. Geen enkele.
1 In afwachting van handmatige afwikkeling (overschrijft fraude / dubbele controles, indien ingeschakeld).
2 Betaling geautoriseerd maar opgeschort op Trust Payments's systeem. Onderzoek de transactie handmatig om de reden te bepalen waarom de betaling is opgeschort. Als je verder kunt gaan, kun je de transactie bijwerken om afwikkeling toe te staan.
3 Betaling geannuleerd. Kijk naar de errorcode om de reden vast te stellen waarom de betaling niet werd voltooid.

 

3-D ingeschreven

De enrolled veld informeert u of de kaart van de klant is ingeschreven op 3-D Secure:

3-D ingeschreven Beschrijving Vereiste acties
Y De kaart van de klant is geregistreerd. Behandeld door de JavaScript Library.
N De kaart van de klant is niet geregistreerd.
U Kan niet bepalen of de kaart geregistreerd is.
B Merchant authentication rule wordt geactiveerd om de authenticatie in dit use case te omzeilen.

 

3-D status

De status veld laat u weten of de klant met succes is geauthenticeerd tijdens het 3-D Secure proces:

3-D status Beschrijving Vereiste acties
Y De klant is succesvol geverifieerd. Geen. De JavaScript Library handelt dit geval automatisch af.
A Authenticatie geprobeerd maar niet voltooid. Geen. De JavaScript Library handelt dit geval automatisch af.
U Authenticatie kon niet worden uitgevoerd. Geen. De JavaScript Library handelt dit geval automatisch af.
C Uitdaging vereist voor authenticatie. Geen. De JavaScript Library handelt dit geval automatisch af.
N De klant was niet geverifieerd. De betaling zal niet worden verwerkt.
  • We raden ten zeerste af om verdere betalingen met deze kaart uit te voeren, omdat de klant de verificatie niet heeft doorstaan, wat wijst op een verhoogd frauderisico.
  • In plaats daarvan adviseren wij de klant een foutmelding te geven dat de betaling niet is voltooid, en alternatieve betaalmethoden aan te bieden.
R Authenticatie werd geweigerd. De betaling zal niet worden verwerkt.

 

3-D versie

De version veld specificeert de versie van 3-D Secure die voor de betaling wordt gebruikt. De waarde begint met "1.x.x" voor 3-D Secure v1, of "2.x.x" voor 3-D Secure v2.

 

Was dit artikel nuttig?
0 van de 0 vonden dit nuttig
Hebt u meer vragen? Dien een verzoek in