Met behulp van uw eigen MPI

  Laatst bijgewerkt: 

 

  Visa en Mastercard moeten verkopers in landen met een PSD2-mandaat opnieuw authenticatie proberen met de indicator voor gedwongen uitdaging (mandaat) "04" wanneer een zachte afwijzing antwoord (errorcode=71000) wordt ontvangen.

 

De merchant plug-in (MPI) is een softwaremodule die tijdens het 3-D Secure proces wordt gebruikt. De MPI identificeert de kaartgegevens van de klant en neemt contact op met de kaartuitgever om te bepalen of de kaart is ingeschreven in een 3-D Secure systeem. Indien dit het geval is, stuurt de MPI het adres van de Access Control Server (ACS) van de kaartuitgever terug. De handelaar stuurt de browser van de klant door naar de ACS om zijn identiteit te verifiëren.

Trust Payments biedt u toegang tot een MPI implementatie die automatisch wordt gebruikt door onze JavaScript library tijdens het standaard betalingsproces, waardoor u bespaart dat uw servers extra gevoelige gegevens moeten verwerken. Als u echter al uw eigen MPI hebt geconfigureerd als onderdeel van uw oplossing, volg dan het alternatieve proces dat hieronder wordt beschreven:

 

Vereisten

Belangrijk: Als u uw eigen MPI gebruikt, is het uw verantwoordelijkheid ervoor te zorgen dat uw systeem de specificatie 3-D Secure volgt en op de hoogte blijft van alle wijzigingen die door Visa en Mastercard worden uitgegeven. U moet ook Trust Payments voorzien van geldige, ongewijzigde en geverifieerde waarden voor elk hieronder gespecificeerd 3-D Secure veld.

  Het niet volgen van de onderstaande specificatie kan leiden tot het verlies van elke aansprakelijkheidsverschuiving.

Als u geen waarden hebt voor specifieke velden die in dit deel worden vermeld, moet u NIET de betreffende velden indienen in verzoeken aan Trust Payments.

 

Behandeling van ingeschreven kaarten

Nadat is vastgesteld dat de kaart is ingeschreven in het 3-D Secure systeem en de klant met succes is geverifieerd, moet uw systeem een AUTH verzoek opstellen en indienen om de betaling te voltooien.

De specificatie van het verzoek volgt grotendeels die van een standaard AUTH, met extra velden voor 3-D Secure, zoals in het onderstaande voorbeeld.

 

Voorbeelden

  Het volgende voorbeeld gaat ervan uit dat u de noodzakelijke PCI-certificering om gevoelige kaarthoudergegevens in het verzoek te verwerken en in te dienen. Als alternatief kunt u de cachetoken waarde in het verzoek.

Python PHP cURL Ruwe JSON Ruwe XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

auth = {
"sitereference": "test_site12345",
"requesttypedescriptions": ["AUTH"],
"accounttypedescription": "ECOM",
"currencyiso3a": "GBP",
"baseamount": "1050",
"orderreference": "My_Order_123",
"pan": "4111111111111111",
"expirydate": "12/2020",
"securitycode": "123",
"cavv":"Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
"eci":"05",
"enrolled":"Y",
"status":"Y",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000"
}

strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response

 

Specificatie veld

  Veld Formaat Beschrijving
X2-EN.png cavv
XPath: /threedsecure/cavv
Alfanumeriek (56)

De unieke Cardholder Authentication Verification Value (CAVV) geassocieerd met de transactie.

Dien deze waarde altijd in als hij beschikbaar is.

X2-EN.png eci
XPath: /threedsecure/eci
Alfanumeriek (2)

Het beveiligingsniveau ECI (E-Commerce Indicator) van de transactie.

Dien deze waarde altijd in als hij beschikbaar is.

X1-EN.png enrolled
XPath: /threedsecure/enrolled
Char (1) Vul "Y" in om aan te geven dat de kaart geregistreerd is. Zie hieronder voor informatie over het omgaan met niet-ingeschreven kaarten.
X1-EN.png status
XPath: /threedsecure/status
Char (1) Geeft aan of de klant al dan niet op de ACS van de kaartuitgever werd geauthenticeerd:
  • "Y" - Klant geauthenticeerd.
  • A" - Authenticatie geprobeerd maar kon niet worden voltooid.
  • U' - Kan geen verificatie uitvoeren.
  • C' - Uitdaging vereist voor authenticatie.
X2-EN.png threedversion
XPath: /threedsecure/version
Numeriek (6)

Versie van 3-D Secure die wordt gebruikt om de betaling te verifiëren. (bijv. "2.2.0")

Dien deze waarde altijd in als hij beschikbaar is.

X2-EN.png threeddirectorytransactionreference
XPath: /threedsecure/directorytransactionreference
Alfanumeriek (48)

Unieke DSTransactionId teruggestuurd door uw MPI provider.

Dien deze waarde altijd in als hij beschikbaar is.

  Wij raden ten zeerste af de transactie door te zetten indien de status is "N" of "R":

  • Als status "N" is, betekent dit dat de klant niet is geauthenticeerd.
  • Als status "R" is, betekent dit dat de authenticatie is geweigerd.

 

Behandeling van niet-ingeschreven kaarten (of indien inschrijving "U" - Onbekend)

  Als zowel uw bedrijf als de bank van de kaarthouder gevestigd zijn binnen de Europese Economische Ruimte (EER) of het Verenigd Koninkrijk, moet uw implementatie voldoen aan de Payment Services Directive (PSD2).

PSD2 vereist dat online kaartbetalingen worden verwerkt met 3-D Secure. Als een kaart niet is geregistreerd, is de aanbevolen aanpak om de transactie te stoppen en de klant een alternatief betaalmiddel aan te bieden.

Als u de bovenstaande juridische implicaties in overweging hebt genomen en toestemming krijgt om door te gaan, moet uw systeem een AUTH verzoek opstellen en handmatig indienen om de betaling te voltooien met een niet-ingeschreven kaart.

De specificatie van het verzoek volgt grotendeels die van een standaard AUTH, met extra velden voor 3-D Secure (zoals in het onderstaande voorbeeld).

 

Voorbeeld

Het volgende voorbeeld gaat ervan uit dat u de noodzakelijke PCI-certificering om gevoelige kaarthoudergegevens in het verzoek te verwerken en in te dienen. Als alternatief kunt u de cachetoken waarde in het verzoek.

Python PHP cURL Ruwe JSON Ruwe XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

auth = {
"sitereference": "test_site12345",
"requesttypedescriptions": ["AUTH"],
"accounttypedescription": "ECOM",
"currencyiso3a": "GBP",
"baseamount": "1050",
"orderreference": "My_Order_123",
"pan": "4111111111111111",
"expirydate": "12/2020",
"securitycode": "123",
"enrolled":"N",
"threedversion":"2.2.0",
"threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000"
}

strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response

 

Specificatie veld

  Veld Formaat Beschrijving
X1-EN.png enrolled
XPath: /threedsecure/enrolled
Char (1) Vul "N" in om aan te geven dat de kaart niet is geregistreerd, of "U" om aan te geven dat registratie onbekend is.
X2-EN.png threedversion
XPath: /threedsecure/version
Numeriek (6)

Versie van 3-D Secure die wordt gebruikt om de betaling te verifiëren. (bijv. "2.2.0")

Dien deze waarde altijd in als hij beschikbaar is.

X2-EN.png threeddirectorytransactionreference
XPath: /threedsecure/directorytransactionreference
Alfanumeriek (48)

Unieke DSTransactionId teruggestuurd door uw MPI provider.

Dien deze waarde altijd in als hij beschikbaar is.

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