Im Rahmen der Ende-zu-Ende-Integration von „Mit Google reservieren“ kannst du deine Händler dafür aktivieren, Zahlungen von Nutzern zu erhalten, wenn sie eine Buchung, einen Termin oder eine Reservierung vornehmen. Google arbeitet mit Zahlungsabwicklern zusammen, um die Tokenisierung einzurichten. Die Zahlungsabwickler verwenden dann eindeutige Tokens, um Händler sicher zu bezahlen.
Bei zahlungssicheren Buchungen rendern wir an der Kasse ein Modul Zahlungsinformationen. So können Nutzer ihre Kreditkarteninformationen eingeben.
Unterstützung für 3DS1 und 3DS2 ist in dieser Anleitung zur Implementierung verfügbar.
Voraussetzungen
Damit deine Händler Zahlungen über „Mit Google reservieren“ erhalten können, müssen die folgenden Voraussetzungen erfüllt sein:
- Du musst einen unterstützten Zahlungsabwickler verwenden. Eine aktuelle Liste der unterstützten Prozessoren finden Sie auf der Google Pay-Website.
- Tokenisierte Zahlungen müssen gemäß den Nutzungsbedingungen deines Zahlungsabwicklers akzeptiert werden.
- Für Buchungen, die eine asynchrone Bestätigung erfordern, kann die Zahlung nicht aktiviert werden.
Änderungen an Feeds und Buchungsserver für Zahlungen
Zahlungen werden über ein Opt-in-Verfahren auf Händlerebene ausgeführt. Sie müssen Zahlungen für alle Händler aktivieren, die für ihre Dienstleistungen bezahlt werden müssen. Um Zahlungen zu aktivieren, müssen Änderungen an den Feeds und am Buchungsserver vorgenommen werden.
Feeds
- Händlerfeed: Gib Zahlungsinformationen über
tokenization_parameter
an, die im Feldtokenization_config
festgelegt sind. Die Menge hängt vom Zahlungsabwickler ab. Die Gruppe ist die gleiche Gruppe vonpaymentMethodTokenizationParameters.parameters
, die bei einer Integration an Google Pay übergeben wird. - Dienstleistungs-/Verfügbarkeitsfeeds: Lege Zahlungsanforderungen auf der Grundlage des jeweiligen Anwendungsfalls fest. Weitere Informationen findest du unter Anwendungsfälle für Zahlungen.
Buchungsserver
- Implementiere je nach Art der Zahlungen die Methode
CreateBooking
. - Google sendet als Teil von
CreateBookingRequest
Zahlungstokens im Feldpayment_processing_parameters.unparsed_payment_method_token
. Dies ist dieselbepaymentData
, die beim Callback in einer Google Pay-Integration eingegangen ist. - Füge in der
CreateBookingResponse
eine PaymentInformation-Nachricht ein, die die Zahlungsart, den Status, die Transaktions-ID und die Preis-/Gebührenstruktur angibt. - Setze das Feld
payment_information.payment_processed_by
imCreateBookingResponse
aufPROCESSED_BY_PARTNER
.
Anwendungsfälle für Zahlungen
Wenn Sie entscheiden, ob Sie für jeden dieser Anwendungsfälle Zahlungen vornehmen möchten, lesen Sie bitte unsere Zahlungsrichtlinien und sorgen Sie dafür, dass Sie alle relevanten Richtlinien einhalten können.
Es gibt folgende Anwendungsfälle für Zahlungen:
- Komplett vorausbezahlte Buchungen
- Buchungen, für die eine Anzahlung erforderlich ist
- Gebühren bei Nichterscheinen
- Buchungen, für die eine Kreditkarte erforderlich ist
Weitere Informationen zur Implementierung der einzelnen Anwendungsfälle finden Sie in der Anleitung zum Konfigurieren von Zahlungen.
Komplett vorausbezahlte Buchungen
Abbildung 1 zeigt den Aktivitätsfluss zwischen Nutzern, Ihnen (dem Planungspartner), Google und dem Zahlungsabwickler.
- Die Kosten für die Dienstleistung sind zu 100 % zu begleichen. Mit anderen Worten: Dienstleistungen müssen zum Zeitpunkt der Buchung vollständig bezahlt werden.
-
Setze das Feld
prepayment_type
für diesen Dienst aufREQUIRED
. - Setze das Feld
require_credit_card
für diesen Dienst aufREQUIRE_CREDIT_CARD_CONDITIONAL
.
Anzahlungen und Gebühren bei Nichterscheinen
Anzahlungen und Gebühren bei Nichterscheinen werden auf ähnliche Weise eingerichtet. Abbildung 2 zeigt den Fluss dieser Aktivitäten zwischen Nutzern, Ihnen (dem Planungspartner), Google und dem Zahlungsabwickler.
Mit Anzahlungen und Gebühren bei Nichterscheinen kann ein Nutzer bei der Buchung angezeigt werden.
- Die Kreditkarte des Nutzers kann im Voraus oder zu einem späteren Zeitpunkt belastet werden.
- Wenn der Nutzer bei Nichterscheinen nicht erscheint, kann ihm eine Gebühr in Rechnung gestellt werden.
- Bei Bedarf können die Anzahlungen und die Gebühren bei Nichterscheinen auf eine Buchung angerechnet werden.
- Auch wenn keine Vorabzahlung erforderlich ist, muss der Buchungsserver auf die CreateBooking-Anfrage mit einem
PaymentInformation
antworten, der einenpayment_transaction_id
enthält. Dieser muss eindeutig sein. Diepayment_transaction_id
muss nicht vom Zahlungsabwickler bereitgestellt werden, sondern kann vom Buchungsserver generiert werden.
Anzahlungen und Gebühren bei Nichterscheinen können für Händler auf Serviceebene oder Verfügbarkeitsebene angegeben werden. Wenn Sie sie auf der Ebene der verfügbaren Slots angeben, werden dadurch die Definitionen der Serviceebene überschrieben.
- Wenn Sie Guthaben aktivieren möchten, legen Sie das Feld
deposit
auf der Ebene des Dienstes oder der verfügbaren Slots fest. - Wenn Sie Gebühren bei Nichterscheinen aktivieren möchten, legen Sie das Feld
no_show_fee
auf der Ebene des Dienstes oder der verfügbaren Slots fest. - Setzen Sie das Feld
require_credit_card
auf der Ebene des Dienstes oder der Verfügbarkeit aufREQUIRE_CREDIT_CARD_CONDITIONAL
. - (Optional) Legen Sie
prepayment_type
aufREQUIRED
oderOPTIONAL
fest.
Kreditkarte erforderlich
In anderen Anwendungsfällen ist bei der Buchung eine Kreditkarte erforderlich.
- Setze das Feld
require_credit_card
für einen Händler auf Serviceebene oder Verfügbarkeitsebene aufREQUIRE_CREDIT_CARD_ALWAYS
.
Stornierungen und Erstattungen
Stornierungen und Erstattungen werden entweder vom Partner (du) oder vom Nutzer über „Mit Google reservieren“ veranlasst. In beiden Fällen müssen Sie die CancellationPolicy
berücksichtigen, die auf Serviceebene festgelegt und dem Nutzer bei der Buchung mitgeteilt wurde.
Wenn Sie CancellationPolicy
nicht angeben, wird davon ausgegangen, dass eine Stornierung innerhalb des von min_advance_online_canceling
festgelegten Stornierungsfensters, das auf Serviceebene festgelegt wurde, erstattungsfähig ist.
Wenn min_advance_online_canceling
nicht definiert ist, ist es 0 (das jederzeit möglich).
Wenn du die Kündigung von „Mit Google reservieren“ deaktivieren musst, sprich mit deinem Ansprechpartner bei Google darüber.
Änderungen an Echtzeitaktualisierungen- Nachdem du dem Nutzer eine Erstattung gewährt hast, musst du eine aktualisierte Echtzeitaktualisierung senden, um den Zahlungsstatus der Buchung zu ändern. Legen Sie
update_mask
aufstatus,payment_information.prepayment_status
undpayment_information.prepayment_status = PREPAYMENT_REFUNDED
undstatus = CANCELED
fest.- Verwende die neue Version
BookingStatus = CANCELED
undPrepaymentStatus = PREPAYMENT_REFUNDED
. Der Enum-WertCANCELED_AUTOMATIC_REFUND
wurde sowohl für die Maps Booking API als auch für gRPC-Vorlagen eingestellt.
- Verwende die neue Version
- Wenn „Mit Google reservieren“ eine
UpdateBookingRequest
sendet und dies für den Nutzer eine Erstattung auslöst, legebooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
in derUpdateBookingResponse
fest.