Nell'ambito dell'integrazione end-to-end per gli appuntamenti del Centro azioni, puoi consentire ai tuoi commercianti di ricevere il pagamento dagli utenti quando effettuano una prenotazione, un appuntamento o una prenotazione. Google collabora con gli elaboratori dei pagamenti per configurare la tokenizzazione. Gli elaboratori dei pagamenti utilizzano quindi token univoci per pagare i commercianti in modo sicuro.
Per le prenotazioni con pagamento sicuro, mostriamo un 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. Fai riferimento a questo tutorial sull'implementazione.
Idoneità
Affinché i tuoi commercianti possano ricevere i pagamenti tramite il Centro azioni, devi soddisfare i seguenti requisiti:
- Utilizza un elaboratore dei pagamenti supportato. L'elenco più recente dei processori supportati è disponibile sul sito web di Google Pay.
- Accettare i pagamenti tokenizzati in conformità con l'elaboratore.
- Completa la procedura di verifica dell'identità e dell'attività descritta qui.
- Il pagamento non può essere abilitato per le prenotazioni che richiedono una conferma asincrona .
Modifiche ai feed e al server di prenotazione per i pagamenti
I pagamenti vengono effettuati tramite una procedura di attivazione a livello di commerciante. Devi abilitare i pagamenti per i commercianti che devono riceverli per uno qualsiasi dei loro servizi. Per abilitare i pagamenti, è necessario apportare modifiche ai feed e al server di prenotazione.
Feed
- Feed commerciante: specifica i dati di pagamento tramite il
tokenization_parameter
impostato nel campotokenization_config
. L'insieme dipende dall'elaboratore dei pagamenti scelto. Si tratta dello stesso insieme dipaymentMethodTokenizationParameters.parameters
che verrebbe trasmesso a Google Pay se eseguissi l'integrazione con l'app. - 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 dellaCreateBookingRequest
. Si tratta degli stessipaymentData
che riceveresti dal callback in un' integrazione di Google Pay. - In
CreateBookingResponse
includi un messaggio PaymentInformation che specifica il tipo di pagamento, lo stato, l'ID transazione e la struttura prezzo / commissioni. - Imposta il campo
payment_information.payment_processed_by
suPROCESSED_BY_PARTNER
nellaCreateBookingResponse
.
Casi d'uso per i pagamenti
Per decidere se accettare pagamenti per ciascuno di questi casi d'uso, consulta le nostre norme relative ai pagamenti e assicurati di poter rispettare tutte le norme pertinenti.
Esistono casi d'uso per i pagamenti:
- Completare le prenotazioni prepagate
- Acconto richiesti per la prenotazione
- Tariffe di mancato arrivo nel caso in cui l'utente non si presenti al momento della prenotazione
- È richiesta una carta di credito per la prenotazione
Per ulteriori informazioni su come implementare ciascuno di questi casi d'uso, consulta il tutorial sulla configurazione dei pagamenti.
Completare le prenotazioni prepagate
La Figura 1 mostra il flusso di attività tra gli utenti, tu (il partner di pianificazione), Google e l'elaboratore dei pagamenti.
- Un pagamento deve corrispondere al 100% dell'importo del costo del servizio. In altre parole, i servizi devono essere pagati per intero 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.
Cauzioni e commissioni per mancato arrivo
I versamenti e le commissioni per il mancato arrivo vengono configurati in modi simili. La Figura 2 mostra il flusso di queste attività tra gli utenti, tu (il partner di pianificazione), Google e l'elaboratore dei pagamenti.
È possibile utilizzare cauzioni e commissioni per assenza per garantire la presenza di un utente al momento della prenotazione.
- È possibile addebitare un deposito sulla carta di credito dell'utente sia anticipatamente sia in un secondo momento.
- Potrebbe essere addebitata una tariffa per il mancato arrivo all'utente se non viene mostrato al momento della prenotazione.
- Se necessario, sia le cauzioni che le commissioni di assenza possono essere applicate insieme a 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. Ilpayment_transaction_id
non deve essere necessariamente fornito dall'elaboratore dei pagamenti, ma può essere generato dal server di prenotazione.
I cauzioni e le commissioni di mancato arrivo possono essere specificati a livello di Servizio o a livello di slot di Disponibilità per un commerciante. Se le specifichi a livello di slot di disponibilità, le definizioni del livello di servizio vengono sostituite.
- Per abilitare i versamenti, imposta il campo
deposit
a livello di slot di servizio o di disponibilità. - Per abilitare le tariffe di assenza, imposta il campo
no_show_fee
a livello di area di servizio o di disponibilità. - Imposta il campo
require_credit_card
suREQUIRE_CREDIT_CARD_CONDITIONAL
a livello di slot di servizio o di disponibilità. - (Facoltativo) Imposta
prepayment_type
suREQUIRED
oOPTIONAL
.
Carta di credito richiesta
Al momento della prenotazione, potrebbero esserci altri casi d'uso che richiedono una carta di credito.
- Imposta il campo
require_credit_card
suREQUIRE_CREDIT_CARD_ALWAYS
a livello di Servizio o di slot Disponibilità per un commerciante.
Cancellazione e rimborsi
Gli annullamenti e i rimborsi vengono avviati dal partner (tu) o dall'utente tramite il Centro azioni. In entrambi i casi, devi rispettare il CancellationPolicy
impostato al livello di servizio e comunicato all'utente al momento del pagamento della prenotazione.
Se non fornisci CancellationPolicy
, si presume che qualsiasi annullamento all'interno del periodo di annullamento definito da min_advance_online_canceling
impostato al livello di servizio sia rimborsabile.
Se min_advance_online_canceling
non viene definito è 0 (significa annullabile in qualsiasi momento).
Se devi disabilitare l'annullamento dal Centro azioni, contatta il tuo POC di Google.
Modifiche alle RTU- Dopo aver fornito un rimborso all'utente, devi inviare una RTU di prenotazione aggiornata per modificare lo stato di 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 sia per i modelli dell'API Maps Booking che per i modelli gRPC.
- Usa i nuovi
- Quando il Centro azioni invia un
UpdateBookingRequest
e attiva un rimborso per l'utente, impostabooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
inUpdateBookingResponse
.