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 wordt gebruikt tijdens het 3D Secure . De MPI de kaartgegevens van de klant en neemt contact op met de kaartuitgever om na te gaan of de kaart is aangemeld bij een 3D Secure . Indien dit het geval is, MPI de MPI het adres MPI van de Access Control Server (ACS) van de kaartuitgever. De handelaar leidt de browser van de klant om naar de ACS om diens 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 om ervoor te zorgen dat uw systeem voldoet aan de 3D Secure en up-to-date blijft met alle wijzigingen die door Visa Mastercard worden doorgevoerd. U moet Trust Payments bovendien Trust Payments elk van 3D Secure hieronder vermelde 3D Secure geldige, ongewijzigde en geverifieerde waarden Trust Payments .

  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 gedeelte worden vermeld, mag u de betreffende veldenNIETindienen in verzoeken aan Trust Payments.

 

Behandeling van ingeschreven kaarten

Nadat is vastgesteld dat de kaart is aangesloten bij het 3D Secure en de klant met succes is geverifieerd, moet uw systeem een AUTH opstellen en verzenden om de betaling te voltooien.

De specificatie van het verzoek komt grotendeels overeen met die van eenstandaard AUTH, met aanvullende velden die vereist zijn voor 3D Secure, zoals te zien is 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
Conditioneel 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.

Conditioneel eci
XPath: /threedsecure/eci
Alfanumeriek (2)

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

Dien deze waarde altijd in als hij beschikbaar is.

Verplicht 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.
Verplicht 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.
Conditioneel threedversion
XPath: /threedsecure/version
Numeriek (6)

Versie van 3D Secure om de betaling te verifiëren. (bijv. „2.2.0”)

Dien deze waarde altijd in als hij beschikbaar is.

Conditioneel 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 online kaartbetalingen via 3D Secure moeten worden verwerkt. Als een kaart niet is geregistreerd, wordt aanbevolen de transactie te stoppen en de klant alternatieve betaalmethoden 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 komt grotendeels overeen met die van eenstandaard AUTH, met aanvullende velden die vereist zijn voor 3D Secure zoals te zien is 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 
Verplicht 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. 
Conditioneel threedversion
XPath: /threedsecure/version
Numeriek (6)

Versie van 3D Secure om de betaling te verifiëren. (bijv. „2.2.0”) 

Dien deze waarde altijd in als hij beschikbaar is.

Conditioneel 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