Nell'ambito dell'integrazione end-to-end delle prenotazioni di Actions Center, puoi attivare la ricezione dei pagamenti da parte degli utenti da parte dei tuoi commercianti quando effettuano una prenotazione, un appuntamento o una prenotazione. Google collabora con gli elaboratori dei pagamenti per configurare la tokenizzazione. I sistemi di elaborazione dei pagamenti utilizzano quindi token univoci per pagare i commercianti in tutta sicurezza.
Per le prenotazioni con pagamento sicuro, mostriamo un modulo Dati di pagamento nel flusso di pagamento. In questo modo, l'utente può inserire i dati della sua carta di credito.
È disponibile il supporto per 3DS1 e 3DS2. Consulta questo tutorial sull'implementazione.
Idoneità
Affinché i tuoi commercianti ricevano i pagamenti tramite il Centro azioni, devi soddisfare i seguenti requisiti:
- Utilizza un elaboratore dei pagamenti supportato. L'elenco più recente degli elaboratori supportati è disponibile sul sito web di Google Pay.
- Accetta i pagamenti con token in conformità con l'elaboratore.
- Completa la procedura di verifica dell'identità e dell'attività descritta qui.
- Il pagamento non può essere attivato 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 attivare i pagamenti per tutti i commercianti che devono ricevere pagamenti per i propri servizi. Per attivare i pagamenti, è necessario apportare modifiche ai feed e al server di prenotazione.
Feed
- Feed dei commercianti: specifica i dati di pagamento tramite il valore
tokenization_parameter
impostato nel campotokenization_config
. Il set dipende dall'elaboratore dei pagamenti scelto. L'insieme è lo stesso insieme dipaymentMethodTokenizationParameters.parameters
che verrebbe passato a Google Pay se esegui l'integrazione. - Feed di servizi/disponibilità: specifica i requisiti di pagamento in base al tuo caso d'uso appropriato. Per ulteriori 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 delCreateBookingRequest
. Si tratta dello stessopaymentData
che verrebbe ricevuto dal tuo 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 di prezzo / commissioni. - Imposta il campo
payment_information.payment_processed_by
suPROCESSED_BY_PARTNER
inCreateBookingResponse
.
Casi d'uso per i pagamenti
Quando decidi 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 i seguenti casi d'uso per i pagamenti:
- Completare le prenotazioni prepagate
- Depositi richiesti per la prenotazione
- Commissioni per mancata presentazione nel caso in cui l'utente non si presenti per la prenotazione
- Carta di credito obbligatoria per la prenotazione
Per ulteriori informazioni su come implementare ciascuno di questi casi d'uso, consulta il tutorial sulla configurazione dei pagamenti.
Prenotazioni prepagate completate
La Figura 1 mostra il flusso di attività tra gli utenti, te (il partner di pianificazione), Google e l'agente di elaborazione 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 il servizio in questione.
Depositi e commissioni per mancata presentazione
I depositi e le commissioni per mancata presentazione vengono configurati in modo simile. La Figura 2 mostra il flusso di queste attività tra gli utenti, te (il partner di pianificazione), Google e l'agente di pagamento.
I depositi e le commissioni per mancato arrivo possono essere utilizzati per garantire che un utente si presenti per la sua prenotazione.
- Un deposito può essere addebitato sulla carta di credito dell'utente in anticipo o in un secondo momento.
- Se l'utente non si presenta alla prenotazione, può essere addebitata una commissione per mancata presentazione.
- Se necessario, sia i depositi sia le commissioni per 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.payment_transaction_id
non deve essere fornito dall'elaboratore dei pagamenti, ma può essere generato dal server di prenotazione.
I depositi e le commissioni per mancata presentazione possono essere specificati a livello di servizio o di disponibilità per un commerciante. Se le specifichi a livello di slot di disponibilità, queste sostituiscono le definizioni a livello di servizio.
- Per attivare i depositi, imposta il campo
deposit
a livello di servizio o di slot di disponibilità. - Per attivare le commissioni per mancata presentazione, imposta il campo
no_show_fee
a livello di servizio o di spazio di disponibilità. - Imposta il campo
require_credit_card
suREQUIRE_CREDIT_CARD_CONDITIONAL
a livello di servizio o di area di disponibilità. - (Facoltativo) Imposta
prepayment_type
suREQUIRED
oOPTIONAL
.
È necessaria una 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 a livello di Disponibilità per un commerciante.
Annullamenti 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 valore CancellationPolicy
impostato a livello di servizio e comunicato all'utente al momento del pagamento della prenotazione.
Se non fornisci CancellationPolicy
, si presume che qualsiasi annullamento entro il periodo di annullamento definito da min_advance_online_canceling
impostato a livello di livello di servizio sia rimborsabile.
Se min_advance_online_canceling
non è definito, è 0 (ovvero annullabile in qualsiasi momento).
Se devi disattivare l'annullamento dal Centro azioni, rivolgiti al tuo POC di Google.
Modifiche alle unità di raffreddamento a terra- Dopo aver fornito un rimborso all'utente, devi inviare un
RTU di aggiornamento della prenotazione 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
.- Utilizza i nuovi
BookingStatus = CANCELED
ePrepaymentStatus = PREPAYMENT_REFUNDED
. Il valore enumeratoCANCELED_AUTOMATIC_REFUND
è deprecato sia per l'API Maps Booking sia per i modelli gRPC.
- Utilizza i nuovi
- Quando il Centro azioni invia un messaggio
UpdateBookingRequest
e questo attiva un rimborso per l'utente, impostabooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
inUpdateBookingResponse
.