Nell'ambito dell'integrazione end-to-end di Prenota con Google, puoi attivare i commercianti per ricevere pagamenti dagli utenti quando effettuano una prenotazione, un appuntamento o una prenotazione. Google collabora con gli elaboratori dei pagamenti per impostare la tokenizzazione. Gli elaboratori dei pagamenti utilizzano quindi token univoci per pagare in sicurezza i commercianti.
Per le prenotazioni sicure, mostriamo il modulo Informazioni di pagamento nel flusso di pagamento. Consente all'utente di inserire i dati della carta di credito.
È disponibile il supporto per 3DS1 e 3DS2. Consulta questo tutorial sull'implementazione.
Idoneità
Affinché i tuoi commercianti possano ricevere i pagamenti tramite Prenota con Google, devi soddisfare i seguenti requisiti:
- Utilizzare un elaboratore dei pagamenti supportato. L'ultimo elenco dei processori supportati è disponibile sul sito web di Google Pay.
- Accetta pagamenti con token in conformità con il tuo responsabile.
- Il pagamento non può essere abilitato per le prenotazioni che richiedono conferma asincrona .
Modifiche ai feed e al server di prenotazione per i pagamenti
I pagamenti vengono effettuati mediante una procedura di attivazione a livello di commerciante. Devi abilitare i pagamenti per qualsiasi commerciante che deve ricevere i pagamenti per i propri servizi. Per abilitare i pagamenti, le modifiche devono essere apportate ai feed e al server di prenotazione.
Feed
- Feed del commerciante: specifica i dati di pagamento tramite il valore
tokenization_parameter
impostato nel campotokenization_config
. L'insieme dipende dal processore di pagamento scelto. L'insieme è lo stesso insieme dipaymentMethodTokenizationParameters.parameters
che verrebbe trasmesso a Google Pay se dovessi integrarlo. - Feed di servizi/disponibilità: specifica i requisiti di pagamento in base al caso d'uso appropriato. Per maggiori dettagli, consulta Casi d'uso per i pagamenti.
Server di prenotazione
- In base al tipo di pagamenti effettuati dagli utenti, implementa il metodo
CreateBooking
. - Google invierà i token di pagamento nel campo
payment_processing_parameters.unparsed_payment_method_token
nell'ambito diCreateBookingRequest
. Si tratta dello stessopaymentData
che verrebbe ricevuto dal tuo callback in un'integrazione con Google Pay. - In
CreateBookingResponse
includi un messaggio PaymentInformation che specifichi il tipo di pagamento, lo stato, l'ID transazione e la struttura di prezzo/commissione. - Imposta il campo
payment_information.payment_processed_by
suPROCESSED_BY_PARTNER
inCreateBookingResponse
.
Casi d'uso per i pagamenti
Quando decidi se effettuare pagamenti per ognuno di questi casi d'uso, rivedi le nostre norme relative ai pagamenti e assicurati di rispettare tutte le norme pertinenti.
Ci sono casi d'uso per i pagamenti:
- Completa le prenotazioni prepagate
- Depositi obbligatori per la prenotazione
- Tariffe per il mancato arrivo qualora l'utente non venga mostrato per la prenotazione
- Carta di credito richiesta per la prenotazione
Per saperne di più su come implementare ognuno di questi casi d'uso, guarda il tutorial sulla configurazione dei pagamenti.
Completa le prenotazioni prepagate
La figura 1 mostra il flusso di attività tra gli utenti, tu (il partner per la pianificazione), Google e l'elaboratore dei pagamenti.
- Il pagamento deve corrispondere al 100% dell'importo del costo del servizio. In altre parole, i servizi devono essere interamente pagati al momento della prenotazione.
-
Imposta il campo
prepayment_type
suREQUIRED
per quel servizio. - Imposta il campo
require_credit_card
suREQUIRE_CREDIT_CARD_CONDITIONAL
per quel servizio.
Depositi e commissioni per mancato arrivo
I versamenti e le commissioni per il mancato arrivo vengono impostati in modo simile. La figura 2 mostra il flusso di queste attività tra gli utenti, tu (il partner per la pianificazione), Google e l'elaboratore dei pagamenti.
È possibile utilizzare depositi e commissioni per mancato arrivo per garantire che un utente venga visualizzato per la prenotazione.
- Un deposito può essere addebitato sulla carta di credito dell'utente in anticipo o in un secondo momento.
- La commissione per il mancato arrivo può essere addebitata all'utente se non viene visualizzato nella prenotazione.
- Se necessario, sia i versamenti che le commissioni per il mancato arrivo possono essere applicati contemporaneamente per una prenotazione.
- Anche se non è richiesto alcun pagamento anticipato, il server di prenotazione deve
rispondere alla richiesta CreateBooking con un
PaymentInformation
contenente unpayment_transaction_id
, che deve essere univoco. Non è necessario chepayment_transaction_id
fornisca il processore di pagamento, ma può essere generato dal server di prenotazione.
I depositi e le commissioni per il mancato arrivo possono essere specificati a livello di servizio o di disponibilità per un commerciante. Se li specifichi a livello di slot di disponibilità, verranno sostituite le definizioni del livello di servizio.
- Per abilitare i versamenti, imposta il campo
deposit
a livello di slot di servizio o disponibilità. - Per abilitare le commissioni per il mancato arrivo, imposta il campo
no_show_fee
a livello di slot di servizio o disponibilità. - Imposta il campo
require_credit_card
suREQUIRE_CREDIT_CARD_CONDITIONAL
a livello di slot di servizio o disponibilità. - (facoltativo) Imposta
prepayment_type
suREQUIRED
oOPTIONAL
.
È necessaria la carta di credito
Potrebbero esserci altri casi d'uso che richiedono una carta di credito al momento della prenotazione.
- Imposta il campo
require_credit_card
suREQUIRE_CREDIT_CARD_ALWAYS
a livello di servizio o di disponibilità per un commerciante.
Annullamento e rimborsi
Annullamenti e rimborsi vengono avviati dal partner (tu) o dall'utente tramite Prenota con Google. In entrambi i casi, devi rispettare
CancellationPolicy
impostato al livello di servizio
e comunicato all'utente al momento del pagamento.
Se non fornisci
CancellationPolicy
,
si presume che qualsiasi annullamento nella finestra di annullamento definita da
min_advance_online_canceling
impostato al
livello di servizio
sia rimborsabile.
Se min_advance_online_canceling
non è definito, è 0 (ossia annullabile in qualsiasi momento).
Se devi disattivare l'annullamento dal lato di Prenota con Google, discuti con il tuo POC di Google.
Modifiche alle RTU- Dopo aver fornito un rimborso all'utente, devi inviare un aggiornamento della prenotazione RTU per modificare lo stato del pagamento della prenotazione. Imposta
update_mask
sustatus,payment_information.prepayment_status
e impostapayment_information.prepayment_status = PREPAYMENT_REFUNDED
estatus = CANCELED
.- Usa i nuovi
BookingStatus = CANCELED
ePrepaymentStatus = PREPAYMENT_REFUNDED
. Il valore enumCANCELED_AUTOMATIC_REFUND
è deprecato per i modelli di prenotazione e API gRPC di Maps.
- Usa i nuovi
- Quando Prenota con Google invia un
UpdateBookingRequest
e questo attiva un rimborso per l'utente, impostabooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
inUpdateBookingResponse
.