Wie kann ich bei Google Pay die Adressdaten/ Rechnungsadresse erhalten?

Möchten Sie Google Pay im Web verwenden, müssen Sie ebenfalls den 3D Secure 2 Prozess via Server-Zu-Server implementieren, sofern Sie sich innerhalb der Europäischen Union befinden.

Das bedeutet insbesondere, dass Sie erforderliche Daten wie das billToCustomer- und billingAddress-JSON übergeben müssen, für welche Sie aber alle erforderlichen Werte direkt von Google Pay beziehen können.

Beispiel, um eine Rechnungsadresse in der Antwort von Google zu erhalten:

const BillingAddressParameters = { "format": "FULL" };

const baseCardPaymentMethod = {
type: 'CARD',
parameters: {
allowedAuthMethods: allowedCardAuthMethods,
allowedCardNetworks: allowedCardNetworks,
billingAddressRequired: true,
billingAddressParameters: BillingAddressParameters
},
};

Beispiel-Objekt, welches Sie von Google erhalten:

{
"apiVersion": 2,
"apiVersionMinor": 0,
"paymentMethodData": {
"description": "Mastercard •••• 8081",
"info": {
"billingAddress": {
"address1": "Teststraße 1",
"address2": "",
"address3": "",
"administrativeArea": "",
"countryCode": "DE",
"locality": "Bamberg",
"name": "Max Mustermann",
"postalCode": "96050",
"sortingCode": ""
},
"cardDetails": "8081",
"cardNetwork": "MASTERCARD"
},
"tokenizationData": {
"token": "examplePaymentMethodToken",
"type": "PAYMENT_GATEWAY"
},
"type": "CARD"
}
}

Das Mapping ist dann für das billingAddress-Objekt:

{
"city": paymentResponse.paymentMethodData.info.billingAddress.locality,
"country": {
"countryA3": convertToA3(paymentResponse.paymentMethodData.info.billingAddress.countryCode)
},
"addressLine1": {
"street": paymentResponse.paymentMethodData.info.billingAddress.address1
},
"postalCode": paymentResponse.paymentMethodData.info.billingAddress.postalCode
}

Und für billToCustomer:

{
"consumer": {
"firstName": getFirstName(paymentResponse.paymentMethodData.info.billingAddress.name),
"lastName": getLastName(paymentResponse.paymentMethodData.info.billingAddress.name),
},
"email": (Nicht im billingAddress enthalten)
}

Zu beachten ist dabei:

- Google gibt den CountryCode im Format A2 zurück, der 3DS-Server der Banken benötigt ihn aber in A3, daher ist eine Funktion zur Konvertierung erforderlich

- Auch Vor- und Nachnamen müssen bestmöglichst separiert werden, sofern Sie aus dem Google-Antwortobjekt bezogen werden sollen.

Es bietet sich daher an, Namen und Ländercodes aus dem Shop zu beziehen, wann immer möglich, um die Implementierung zu erleichtern und Fehler zu vermeiden.

War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich