Google Pay directe AUTH integratie

  Laatst bijgewerkt: 

De volgende inhoud gaat ervan uit dat u de noodzakelijke PCI-certificering hebt verkregen om gevoelige kaarthoudergegevens te verwerken en in te dienen in het verzoek aan onze Webservices API.
Lees dit artikel voor meer informatie.

  Alle bedrijven binnen de EER (Europese Economische Ruimte) zijn verplicht om 3-D Secure te gebruiken bij het verwerken van e-commercetransacties, als onderdeel van het PSD2 -mandaat.

Handelaren die e-commercetransacties verwerken MOETEN 3DS-verificatie ondersteunen. Klik hier voor meer informatie.

De volgende inhoud mag alleen worden gebruikt door merchants die Mail Order Telephone Order (MOTO) betalingen verwerken of andere workflows die zijn vrijgesteld van het PSD2 mandaat.

Voor de PAN_ONLY authmethod hieronder beschreven vereist 3DS-authenticatie.

 

In dit document wordt ervan uitgegaan dat je een directe integratie met Google Pay hebt geconfigureerd en de richtlijnen van Google hebt gevolgd voor het gebruik van het Google Pay betalingstoken payload (link naar externe site) en dat je de TRU Connect gateway wilt gebruiken om de betaling te verwerken.

 

Over verificatiemethoden

Elke Google Pay transactie kan op twee verschillende manieren worden geverifieerd:

  • PAN_ONLY - Een kaart die is opgeslagen op het Google-account van de klant.
  • CRYPTOGRAM_3DS - Een apparaattoken opgeslagen op een Android-gevoed apparaat dat is geverifieerd met een 3-D Secure cryptogram.

 

Als je Google Pay integratie is geconfigureerd om zowel PAN_ONLY als CRYPTOGRAM_3DS authenticatiemethoden te ondersteunen , moet je voor elke transactie vaststellen welke van deze twee authenticatiemethoden is uitgevoerd. Dit is belangrijk omdat de authenticatiemethode die wordt geretourneerd door de Google Pay API de volgende stappen dicteert die je systeem moet uitvoeren om de betaling te voltooien.

Om de authenticatiemethode te controleren die is gebruikt voor een bepaalde transactie, moet je de versleuteldeBoodschap ontsleutelen die is teruggestuurd in het betalingstoken van de Google Pay API. Specifiek moet u kijken naar het veld paymentMethodDetails > authMethod en controleren of de waarde PAN _ONLY of CRYPTOGRAM_3DS is.

 

1️⃣ PAN_ONLY 2️⃣ CRYPTOGRAM_3DS

Als PAN_ONLY wordt geretourneerd in de authMethodmoet u de transactie eerst verifiëren met 3-D Secure. Als de kaart is geregistreerd en met succes is geverifieerd, beschikt u over de onderstaande velden, die vereist zijn in het AUTH verzoek:

Resultaatgegevens van 3-D Secure provider:

  • cavv
  • eci
  • ingeschreven
  • status
  • threedversion
  • threeddirectorytransactionreference

Velden moeten worden ingediend in AUTH indien beschikbaar.

Betalingsgegevens van het antwoord op Google Pay :

  • pan
    Afgebeeld van:
    encryptedMessage ≫ paymentMethodDetails ≫ pan
  • expirydate
    Afgedrukt van:
    encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear
  • walletdisplayname
    Afgebeeld van:
    paymentMethodData ≫ info

Als je van plan bent om de factuur- en aflevergegevens van de klant van hun Google Wallet vast te leggen, moet je ook de respons van de Google API voor deze velden analyseren en ze toewijzen aan de juiste velden in het daaropvolgende AUTH verzoek.

PANALLEEN - AUTH Aanvraag - Specificatie

  Voordat u de AUTH!


  Niet ingeschreven kaarten

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 je rekening hebt gehouden met de juridische implicaties die hierboven zijn beschreven en als je door mag gaan, moet je systeem een AUTH -verzoek opstellen en handmatig indienen om de betaling te voltooien met een niet-ingeschreven kaart. Klik hier voor de volledige specificatie.


  Niet-geauthenticeerde kaarten

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.

 

AUTH Voorbeeld aanvragen

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 = {
"accounttypedescription":"ECOM",
  "baseamount":"2000",
  "currencyiso3a":"GBP",
  "expirydate":"07/2026",
 "pan":"5100000000000511",
  "requesttypedescriptions": ["AUTH"],
 "sitereference": "test_site12345",
  "cavv":"Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=",
  "eci":"05",
  "enrolled":"Y",
  "status":"Y",
  "threedversion":"2.2.0",
  "threeddirectorytransactionreference":"f00e1111-0011-00a6-ab00-a00000a00000",
  "walletdisplayname":"MasterCard 0511",
"orderreference":"My_Order_123",
"walletsource":"GOOGLEPAY"

}

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

 

AUTH Specificatie verzoekveld

  Veld Mapping naar velden van Google paymentData Formaat Beschrijving
  Verplicht accounttypedescription
XPath: /operation/accounttypedescription
N/A Alpha (20) Submit "ECOM" voor een e-commerce transactie.
  Verplicht baseamount
XPath: /billing/amount
N/A Numeriek (13)

Het bedrag van de transactie in basiseenheden, zonder komma's of decimalen, dus £10 wordt weergegeven als 1000. Deze waarde moet groter zijn dan nul.

  Verplicht currencyiso3a
XPath: /billing/amount/@currencycode
N/A Alpha (3) De Munt van de transactie. Klik hier voor een volledige lijst van beschikbare valuta.
  Verplicht ingeschreven
XPath: /threedsecure/enrolled
N/A Char (1)

Vul 'J' in om aan te geven dat de kaart is geregistreerd.

  Verplicht expirydate
XPath: /billing/payment/expirydate

encryptedMessage ≫ paymentMethodDetails ≫ expirationMonth/expirationYear

Datum MM/JJJJ

De op de kaart gedrukte vervaldatum.

Je moet de velden expirationMonth (vervaldatum) en expirationYear (vervaldatum) van Google combineren en dit in de indeling "MM/JJJJ" indienen in het verzoek AUTH .

  Verplicht pan
XPath: /billing/payment/pan

encryptedMessage ≫ paymentMethodDetails ≫ pan

Numeriek (12-19) Dit is het lange nummer dat op de voorzijde van de kaart van de klant is gedrukt.
  Verplicht requesttypedescriptions
XPath: /@type
N/A Alpha (20)

Ondersteunde Verzoektype combinaties:

  • [“AUTH”]
  • [“AUTH”, “RISKDEC”]
  • [“AUTH”, “SUBSCRIPTION”]
  • [“ACCOUNTCHECK”, “AUTH”]
  • [“ACCOUNTCHECK”, “SUBSCRIPTION”]
  • [“RISKDEC”, “AUTH”]
  • [“RISKDEC”, “AUTH”, “SUBSCRIPTION”]
  • [“RISKDEC”, “ACCOUNTCHECK”, “AUTH”]
  • [“RISKDEC”, “ACCOUNTCHECK”, “AUTH”, “SUBSCRIPTION”]

Klik hier voor meer informatie over verzoektypes.

  Verplicht sitereference
XPath: /operation/sitereference
N/A Alfanumeriek
& underscore (50)
Identificeert uw site op het Trust Payments systeem.
  Verplicht status
XPath: /threedsecure/status
N/A 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.
  Verplicht walletdisplayname
XPath:/billing/payment/wallet/displayname

paymentMethodData ≫ info

Numeriek (4)

Dit is door de kaartuitgever verstrekte informatie die aan de klant kan worden getoond om de betalingsmethode te identificeren. Dit omvat doorgaans de laatste 4 cijfers van hun kaartnummer.

Het info-object bevat twee eigenschappen die je moet meesturen in het veld walletdisplayname . Je moet de cardNetwork & cardDetails en ze combineren, bijvoorbeeld
"VISA 1111".

  Verplicht walletsource
XPath: /billing/payment/wallet/source
N/A Alfa (8) Moet worden ingediend met waarde "GOOGLEPAY".
  Conditioneel billingfirstname
XPath: /billing/name/first
billingAddress ≫ name Alfanumeriek, inclusief
symbolen (127)

De klant Voornaam facturatie.

Vereist voor handelaren in kansspelen.

  Conditioneel billinglastname
XPath: /billing/name/last
billingAddress ≫ name Alfanumeriek, inclusief
symbolen (127)

De klant Achternaam facturatie.

Vereist voor handelaren in kansspelen.

  Conditioneel cavv
XPath: /threedsecure/cavv
N/A  Alfanumeriek (56)

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

Dien deze waarde altijd in als hij beschikbaar is.

 

  Conditioneel customerpostcode
XPath: /customer/postcode
shippingAddress ≫ postalCode Alfanumeriek (25)

De afleverpostcode of postcode van de klant. Dit moet een geldige postcode zijn voor de customercountryiso2a ingediend.

Vereist indien Klant Categorie Code (MCC) 6012 is en Betalingstype VISA is.

  Conditioneel customerlastname
XPath: /customer/name/last
shippingAddress ≫ naam Alfanumeriek, inclusief
symbolen (127)

De achternaam op het afleveradres van de klant.

Vereist indien Klant Categorie Code (MCC) 6012 is en Betalingstype VISA is.

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

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

Dien deze waarde altijd in als hij beschikbaar is.

Klik hier voor meer informatie over mogelijke ECI waarden.

  Conditioneel threedversion
XPath: /threedsecure/versie
 N/A 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.

 

  Conditioneel

threeddirectorytransactionreference

XPath: /threedsecure/directorytransactionreference

 N/A Alfanumeriek (48)

Unieke DSTransactionId teruggestuurd door uw MPI provider.

Dien deze waarde altijd in als hij beschikbaar is.

 

  Optioneel billingcountryiso2a
XPath: /billing/country
billingAddress ≫ countryCode Alpha (2)

Het land op het factuuradres van de klant. Dit moet in ISO2A-formaat zijn.

Klik hier voor een volledige lijst van landcodes.

  Optioneel billingemail
XPath: /billing/email
N/A E-mail (255) Het E-mailadres facturatie adres van de klant. Maximale lengte van 255 (maximaal 64 tekens vóór het "@"-teken).
  Optioneel billingpostcode
XPath: /billing/postcode
billingAddress ≫ postalCode Alfanumeriek (25)

De Postcode facturatie of postcode. Dit moet een geldige postcode/ZIP-code zijn voor de billingcountryiso2a ingediend.

  Optioneel billingpremise
XPath: /billing/premise
billingAddress ≫ address1 Alfanumeriek, inclusief
symbolen (25)
De huisnaam/het huisnummer op het factuuradres van de klant.
  Optioneel billingtelephone
XPath: /billing/telephone
billingAddress ≫ phoneNumber Alfanumeriek, inclusief
symbolen (20)
Het telefoonnummer van de klant voor facturering. Geldige tekens:
  • Cijfers 0-9
  • Ruimtes
  • Speciale tekens: + - ( )
  Optioneel billingtown
XPath: /billing/town
billingAddress ≫ plaats Alfanumeriek, inclusief
symbolen (127)
De ingevoerde stad voor het factuuradres van de klant.
  Optioneel customercountryiso2a
XPath: /customer/country
shippingAddress ≫ countryCode Alpha (2)

Het land op het afleveradres van de klant. Dit moet in ISO2A-formaat zijn.

Klik hier voor een volledige lijst van landcodes.

  Optioneel customeremail
XPath: /customer/email
N/A E-mail (255) E-mailadres voor levering van de klant. Maximale lengte 255 (maximaal 64 tekens voor het "@"-symbool).
  Optioneel customerfirstname
XPath: /customer/name/first
shippingAddress ≫ naam Alfanumeriek, inclusief
symbolen (127)

De eerste naam op het afleveradres van de klant.

  Optioneel customerpremise
XPath: /customer/premise
shippingAddress ≫ address1 Alfanumeriek, inclusief
symbolen (25)
De huisnaam/het huisnummer op het afleveradres van de klant.
  Optioneel customertelephone
XPath: /customer/telephone
shippingAddress ≫ phoneNumber Alfanumeriek, inclusief
symbolen (20)
Telefoonnummer voor bezorging van de klant. Geldige tekens:
  • Cijfers 0-9
  • Ruimtes
  • Speciale tekens: + - ( )
  Optioneel customertown
XPath: /customer/town
shippingAddress ≫ plaats Alfanumeriek, inclusief
symbolen (127)
De stad op het afleveradres van de klant.
  Optioneel orderreference
XPath: /merchant/orderreference
N/A Alfanumeriek, inclusief
symbolen (25)

Uw unieke bestelreferentie die in het Trust Payments systeem kan worden opgeslagen.

  Optioneel paymenttypedescription
XPath: /billing/payment/@type
N/A Alpha (20) Betalingsmethode (bijv. "VISA" of "MASTERCARD").
PAN_ONLY - AUTH antwoord - Specificatie

AUTH Voorbeeld antwoord

Na het indienen van het AUTH verzoek, krijg je een AUTH antwoord terug:

Python PHP Ruwe JSON Ruwe XML
{
u 'requestreference': u 'A0bxh87wt',
u 'version': u '1.00',
u 'responses': [{
u 'accounttypedescription': u 'ECOM',
u 'acquirerresponsecode': u '00',
u 'authcode': u 'TEST09',
u 'authmethod': u 'FINAL',
u 'baseamount': u '2000',
u 'cavv': u 'Q0FWVkNBVlZDQVZWQ0FWVkNBVlY=',
u 'currencyiso3a': u 'GBP',
u 'customeroutput': u 'RESULT',
u 'debtrepayment': u '0',
u 'eci': u '05',
u 'enrolled': u 'Y',
u 'errorcode': u '0',
u 'errormessage': u 'Ok',
u 'issuercountryiso2a': u 'JP',
u 'livestatus': u '0',
u 'maskedpan': u '510000######0511',
u 'merchantcategorycode': u '1234',
u 'merchantcountryiso2a': u 'GB',
u 'merchantname': u 'Test Merchant',
u 'merchantnumber': u '00000000',
u 'orderreference': u 'My_Order_123',
u 'operatorname': u 'webservices@example.com',
u 'paymenttypedescription': u 'MASTERCARD',
u 'requesttypedescription': u 'AUTH',
u 'securityresponseaddress': u '0',
u 'securityresponsepostcode': u '0',
u 'securityresponsesecuritycode': u '0',
u 'settleduedate': u '2023-03-22',
u 'settlestatus': u '0',
u 'splitfinalnumber': u '1',
u 'status': u 'Y',
u 'threedversion': u '2.2.0',
u 'tid': u '27882788',
u 'transactionreference': u '36-9-286248',
u 'transactionstartedtimestamp': u '2023-03-22 09:34:31',
u 'walletdisplayname': u 'MasterCard 0511',
u 'walletsource': u 'GOOGLEPAY'
}]
}

 

AUTH Specificatie van antwoordvelden

  Veld Formaat Beschrijving
  Geretourneerd accounttypedescription
XPath: /operation/accounttypedescription
Alpha (20) "ECOM" wordt teruggestuurd in het antwoord om een e-commercetransactie weer te geven.
  Geretourneerd authmethod
XPath: /operation/authmethod
Alpha (11)

De authmethod specificeert hoe een transactie moet worden verwerkt door de kaartuitgever. Je zou moeten verwachten dat een van de volgende waarden wordt geretourneerd om de authmethod in dienst. Klik op de volgende links voor meer informatie:

  • PRE - Pre-autorisatie
  • FINAL - Finale autorisatie

Dit veld wordt teruggestuurd indien het in het verzoek is ingediend.

  Geretourneerd baseamount
XPath: /billing/amount
Numeriek (13) Het bedrag van de transactie in basiseenheden, zonder komma's of decimalen, dus £10 wordt weergegeven als 1000. Deze waarde moet groter zijn dan nul.
  Geretourneerd currencyiso3a
XPath: /billing/amount/@currencycode
Alpha (3)

De Munt van de transactie.

Klik hier voor een volledige lijst van beschikbare munteenheden.

  Geretourneerd dccenabled
XPath: /billing/dcc/@enabled
Numeriek (1) Omdat Google Pay DCC niet ondersteunt, wordt "0" teruggestuurd om aan te geven dat DCC is uitgeschakeld voor deze transactie.
  Geretourneerd debtrepayment
XPath: /merchant/debtrepayment
Numeriek (1)

Geeft aan of een transactie is gemarkeerd als schuldaflossing. Klik hier voor meer informatie.

  Geretourneerd eci
XPath: /threedsecure/eci
Alfanumeriek (2) Het beveiligingsniveau ECI (E-Commerce Indicator) van de transactie. Klik hier voor meer informatie over mogelijke ECI waarden.
  Geretourneerd errorcode
XPath: /error/code
Numeriek (1-5) De foutcode (errorcode) moet worden gebruikt om te bepalen of het verzoek succesvol was of niet.
  • Als de foutcode "0" is, is de transactie geslaagd.
  • Als de foutcode niet "0" is, is de transactie niet geslaagd.

Klik hier voor een volledige lijst van errorcode en bericht waarden.

  Geretourneerd errormessage
XPath: /error/message
Alfanumeriek (255) Dit geeft een korte uitleg over de oorzaak van de fout.

Voor succesvolle transacties wordt dit geretourneerd als "Ok".

Klik hier voor een volledige lijst van errorcode en bericht waarden.

  Geretourneerd issuercountryiso2a
XPath: /billing/payment/issuercountry
Alpha (2)

Het land van de kaartuitgever van de klant.
Dit is in ISO2A-formaat.

Klik hier voor een volledige lijst van landcodes.

  Geretourneerd livestatus
XPath: /live
Numeriek (1)
  • 0 - Transactie verwerkt met een testrekening.
  • 1 - Transactie verwerkt met een live rekening.
  Geretourneerd maskedpan
XPath: /billing/payment/pan
Alfanumeriek, inclusief "#" (12-19) De maskedpan veld staat voor het kaartnummer van de klant. De waarde van maskedpan veld wordt in het antwoord gemaskeerd. Het grootste deel van het nummer wordt opzettelijk verborgen door "#" tekens, bijv. 411111######0211.
  Geretourneerd operatorname
XPath: /merchant/operatorname
Alfanumeriek (255) De waarde van dit veld bevat de naam van de gebruiker die het verzoek heeft verwerkt.
  Geretourneerd paymenttypedescription
XPath: /billing/payment/@type
Alpha (20) Betalingsmethode (bijv. "VISA" of "MASTERCARD").
  Geretourneerd requesttypedescription
XPath: /@type
Alpha (20) "AUTH" wordt in het antwoord teruggezonden.
  Geretourneerd securityresponseaddress
XPath: /security/address
Numeriek (1) Het resultaat van AVS en beveiligingscodecontroles.

Klik hier voor meer informatie.

  Geretourneerd securityresponsepostcode
XPath: /security/postcode
Numeriek (1)
  Geretourneerd securityresponsesecuritycode
XPath: /security/securitycode
Numeriek (1)
  Geretourneerd settleduedate
XPath: /settlement/settleduedate
Datum JJJJ-MM-DD De datum waarop de transactie zal worden afgewikkeld.
  Geretourneerd settlestatus
XPath: /settlement/settlestatus
Numeriek (3)

Een numerieke waarde die wordt gebruikt om de voortgang van afwikkeling met betrekking tot deze transactie aan te geven.

Klik hier voor een volledige lijst van settlestatus waarden.

  Geretourneerd splitfinalnumber
XPath: /operation/splitfinalnumber
Numeriek (2) Omdat Google Pay Split Shipment niet ondersteunt, wordt "1" teruggestuurd om aan te geven dat het geld in één keer wordt overgemaakt.
  Geretourneerd tid
XPath: /merchant/tid
Alfanumeriek (255) De terminal ID die gebruikt wordt om de transactie te verwerken. Dit wordt gekoppeld aan uw handelaarsnummer wanneer wij uw rekening in onze systemen instellen.
  Geretourneerd transactionreference
XPath: /transactionreference
Alfanumeriek, inclusief
koppeltekens (25)
Een unieke referentie voor de transactie toegewezen door Trust Payments. U hebt deze referentie nodig om een terugbetaling uit te voeren of de transactie bij te werken.
  Geretourneerd transactionstartedtimestamp
XPath: /timestamp
Datum tijd JJJJ-MM-DD hh:mm:ss Het tijdstip waarop de transactie werd verwerkt.
  Geretourneerd walletdisplayname
XPath: /billing/payment/wallet/displayname
Alfanumeriek (255) Het door de klant gebruikte kaarttype en de laatste vier cijfers van zijn kaartnummer (bijv. "Visa 1111").
  Geretourneerd walletsource
XPath: /billing/payment/wallet/source
Alfanumeriek (20) Wordt gebruikt om het type portemonnee te identificeren dat wordt gebruikt voor deze betaling (in dit geval "GOOGLEPAY").
  Conditioneel acquirerresponsecode
XPath: /acquirerresponsecode
Alfanumeriek (255)

Gebruikt door uw verwerver om het resultaat van het verzoek aan te geven.

Dit varieert afhankelijk van uw wervende bank. Neem contact op met uw bank voor meer informatie.

  Conditioneel authcode
XPath: /authcode
Alfanumeriek (255)

De autorisatie code verstrekt door de uitgevende bank. Deze zal verschillen afhankelijk van de bank die u gebruikt.

Wordt alleen geretourneerd als de transactie is toegestaan.

  Conditioneel errordata
XPath: /error/data
Alfanumeriek (255)

Aanvullende informatie om te helpen bij het oplossen van de fout.

Wordt alleen geretourneerd als er een fout is opgetreden.

  Conditioneel merchantcategorycode
XPath: /merchant/merchantcategorycode
Alfanumeriek (255)

Dit zijn gegevens die gekoppeld zijn aan de rekening die gebruikt wordt om de transactie te verwerken. Om deze velden te wijzigen, kunt u contact opnemen met ons Support Team.

De geretourneerde waarden zijn afhankelijk van je accountconfiguratie.

  Conditioneel merchantcity
XPath: /merchant/merchantcity
Alfanumeriek (127)
  Conditioneel merchantcountryiso2a
XPath: /merchant/merchantcountryiso2a
Alpha (2)
  Conditioneel merchantname
XPath: /merchant/merchantname
Alfanumeriek (255)
  Conditioneel merchantstatecode
XPath: /merchant/merchantstatecode
Alfanumeriek (127)
  Conditioneel merchantzipcode
XPath: /merchant/merchantzipcode
Alfanumeriek (10)
  Conditioneel orderreference
XPath: /merchant/orderreference
Alfanumeriek, inclusief
symbolen (25)

Uw unieke bestelreferentie die in het Trust Payments systeem kan worden opgeslagen.

Dit veld wordt teruggestuurd indien het in het verzoek is ingediend.

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