Im Rahmen der End-to-End-Integration von Reservierungen im Actions Center kannst du festlegen, dass deine Händler Zahlungen von Nutzern erhalten, wenn sie Buchungen oder Reservierungen vornehmen oder einen Termin vereinbaren. Google arbeitet mit Zahlungsabwicklern zusammen, um die Tokenisierung einzurichten. Die Zahlungsabwickler verwenden dann eindeutige Tokens, um Händler sicher zu bezahlen.
Bei Buchungen, die durch Zahlungen gesichert sind, rendern wir im Bezahlablauf das Modul Zahlungsinformationen. Dort kann der Nutzer seine Kreditkartendaten eingeben.
Unterstützung für 3DS1 und 3DS2 ist verfügbar. Informationen zur Implementierung findest du hier.
Voraussetzungen
Damit deine Händler Zahlungen über das Actions Center erhalten können, musst du die folgenden Anforderungen erfüllen:
- Du musst einen unterstützten Zahlungsabwickler verwenden. Eine aktuelle Liste der unterstützten Abwickler findest du auf der Google Pay-Website.
- Tokenisierte Zahlungen müssen gemäß den Nutzungsbedingungen deines Zahlungsabwicklers akzeptiert werden.
- Gehen Sie wie hier beschrieben vor, um Ihre Identität und Ihr Unternehmen zu bestätigen.
- Die Zahlung kann nicht für Buchungen aktiviert werden, für die eine asynchrone Bestätigung erforderlich ist.
Änderungen an Feeds und Buchungsserver für Zahlungen
Zahlungen werden über ein Opt-in-Verfahren auf Händlerebene ausgeführt. Du musst sie für jeden Händler aktivieren, der für eine seiner Dienstleistungen bezahlt werden muss. Um Zahlungen zu aktivieren, müssen Änderungen an den Feeds und am Buchungsserver vorgenommen werden.
Feeds
- Händler-Feed:Gib die Zahlungsinformationen über den
tokenization_parameter
im Feldtokenization_config
an. Die Parameter hängen vom ausgewählten Zahlungsabwickler ab. Sie sind mit denen vonpaymentMethodTokenizationParameters.parameters
identisch, die an Google Pay übergeben würden, wenn du es integrierst. - Dienstleistungs-/Verfügbarkeitsfeeds:Leg die Zahlungsanforderungen für den jeweiligen Anwendungsfall fest. Weitere Informationen finden Sie unter Anwendungsfälle für Zahlungen.
Buchungsserver
- Implementiere je nach Art der Zahlungen die Methode
CreateBooking
. - Google sendet Zahlungstoken im Feld
payment_processing_parameters.unparsed_payment_method_token
vonCreateBookingRequest
. Das sind dieselbenpaymentData
, die bei einer Google Pay-Integration bei einem Callback eingehen würden. - Füge eine „PaymentInformation“-Nachricht in die
CreateBookingResponse
ein, in der Zahlungsart, Status, Transaktions-ID und Preis-/Gebührenstruktur angegeben werden. - Setzen Sie das Feld
payment_information.payment_processed_by
in derCreateBookingResponse
aufPROCESSED_BY_PARTNER
.
Anwendungsfälle für Zahlungen
Wenn du entscheiden musst, ob für jeden dieser Anwendungsfälle Zahlungen entgegengenommen werden sollen, lies dir unsere Zahlungsrichtlinien durch und stelle sicher, dass du alle einhalten kannst.
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 findest du in der Anleitung zum Konfigurieren von Zahlungen.
Komplett vorausbezahlte Buchungen
Abbildung 1 zeigt den Ablauf zwischen den Nutzern, dir (dem Planungspartner), Google und dem Zahlungsabwickler.
- Die Kosten für die Dienstleistung sind zu 100 % zu begleichen. Das heißt, Dienstleistungen müssen zum Zeitpunkt der Buchung vollständig bezahlt werden.
-
Setze das Feld
prepayment_type
für diese Dienstleistung aufREQUIRED
. - Setze das Feld
require_credit_card
für diese Dienstleistung 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 Ablauf zwischen den Nutzern, dir (dem Planungspartner), Google und dem Zahlungsabwickler.
Mit Anzahlungen und Gebühren bei Nichterscheinen lässt sich sicherstellen, dass Nutzer eine Buchung oder Reservierung auch wirklich wahrnehmen.
- Die Kreditkarte des Nutzers kann vorab oder zu einem späteren Zeitpunkt mit einer Anzahlung belastet werden.
- Erscheint der Nutzer nicht wie vereinbart, kann ihm eine entsprechenden Gebühr berechnet werden.
- Bei Bedarf ist es möglich, Anzahlungen und Gebühren bei Nichterscheinen auf einzelne Buchungen anzuwenden.
- Auch wenn im Voraus keine Zahlung erforderlich ist, muss der Buchungsserver auf die „CreateBooking“-Anfrage mit einer
PaymentInformation
einschließlich einerpayment_transaction_id
antworten, die eindeutig sein muss. Diepayment_transaction_id
muss nicht vom Zahlungsabwickler bereitgestellt werden, sondern kann vom Buchungsserver generiert werden.
Anzahlungen und Gebühren bei Nichterscheinen können im Dienstleistungsfeed oder Verfügbarkeitsfeed eines Händlers festgelegt werden. Wenn du sie im Verfügbarkeitsfeed festlegst, werden dadurch die entsprechenden Angaben im Dienstleistungsfeed überschrieben.
- Um Anzahlungen zu aktivieren, konfigurierst du das Feld
deposit
im Dienstleistungs- oder Verfügbarkeitsfeed. - Um Gebühren bei Nichterscheinen zu aktivieren, konfigurierst du das Feld
no_show_fee
im Dienstleistungs- oder Verfügbarkeitsfeed. - Setze das Feld
require_credit_card
im Dienstleistungs- oder Verfügbarkeitsfeed aufREQUIRE_CREDIT_CARD_CONDITIONAL
. - Optional: Legen Sie
prepayment_type
aufREQUIRED
oderOPTIONAL
fest.
Kreditkarte erforderlich
Bei einigen Anwendungsfällen ist zum Zeitpunkt der Buchung eine Kreditkarte erforderlich.
- Setze das Feld
require_credit_card
im Dienstleistungsfeed oder Verfügbarkeitsfeed eines Händlers aufREQUIRE_CREDIT_CARD_ALWAYS
.
Stornierungen und Erstattungen
Stornierungen und Erstattungen werden entweder vom Partner (Ihnen) oder vom Nutzer über das Aktionscenter veranlasst. In beiden Fällen müssen Sie die CancellationPolicy
einhalten, die auf Dienstebene festgelegt und dem Nutzer beim Bezahlvorgang mitgeteilt wurden.
Wenn Sie CancellationPolicy
nicht angeben, wird davon ausgegangen, dass alle Kündigungen innerhalb des durch min_advance_online_canceling
definierten Kündigungszeitraums, der auf Dienstebene festgelegt wurde, rückzahlbar sind.
Wenn min_advance_online_canceling
nicht definiert ist, ist der Wert 0, was bedeutet, dass die Bestellung jederzeit storniert werden kann.
Wenn Sie die Stornierung über das Actions Center deaktivieren müssen, wenden Sie sich bitte an Ihren Google-POC.
Änderungen an RTUs- Nachdem du dem Nutzer eine Erstattung gewährt hast, musst du eine Buchungsaktualisierungs-RTU 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 neuen Status
BookingStatus = CANCELED
undPrepaymentStatus = PREPAYMENT_REFUNDED
. Der WertCANCELED_AUTOMATIC_REFUND
wird sowohl für die Maps Booking API als auch für gRPC-Vorlagen eingestellt.
- Verwende die neuen Status
- Wenn das Actions Center eine
UpdateBookingRequest
sendet und dadurch eine Erstattung für den Nutzer ausgelöst wird, setzebooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
inUpdateBookingResponse
.