Como parte da integração completa do Reservar com o Google, você pode permitir que seus comerciantes recebam pagamentos quando os usuários fizerem um agendamento, uma reserva ou um agendamento. O Google trabalha com processadores de pagamento para configurar a tokenização. Eles usam tokens exclusivos para pagar os comerciantes com segurança.
Para reservas com pagamento seguro, renderizamos um módulo de Informações de pagamento no fluxo de finalização da compra. Isso permite que o usuário insira as informações do cartão de crédito.
A compatibilidade com 3DS1 e 3DS2 está disponível. Consulte este tutorial sobre a implementação.
Qualificação
Para que seus comerciantes recebam pagamentos pelo Reservar com o Google, você precisa atender aos seguintes requisitos:
- Usar um processador de pagamento compatível. A lista mais recente de processadores compatíveis está disponível no site do Google Pay.
- Aceitar pagamentos tokenizados de acordo com o processador.
- Não é possível ativar o pagamento para reservas que exigem confirmação assíncrona .
Alterações nos feeds e no servidor de agendamento para pagamentos
Os pagamentos são feitos por meio de um processo de ativação no nível do comerciante. Você precisa ativar os pagamentos de qualquer comerciante que precise receber pagamento por qualquer um dos serviços dele. Para ativar os pagamentos, você precisa fazer alterações nos feeds e no servidor de agendamento.
Feeds
- Feed do comerciante: especifique as informações de pagamento usando o
tokenization_parameter
definido no campotokenization_config
. O conjunto depende do processador de pagamentos escolhido. O conjunto é o mesmo conjunto depaymentMethodTokenizationParameters.parameters
que seria transmitido ao Google Pay se você o integrasse a ele. - Feeds de serviços/disponibilidade:especifique os requisitos de pagamento com base no caso de uso apropriado. Para mais detalhes, consulte Casos de uso para pagamentos.
Servidor de agendamento
- Implemente o método
CreateBooking
com base no tipo de pagamento que os usuários fizerem. - O Google enviará tokens de pagamento no campo
payment_processing_parameters.unparsed_payment_method_token
como parte doCreateBookingRequest
. Esse é o mesmopaymentData
recebido pelo callback em uma integração do Google Pay. - Em
CreateBookingResponse
, inclua uma mensagem PaymentInformation que especifica o tipo de pagamento, o status, o ID da transação e a estrutura de preço / taxa. - Defina o campo
payment_information.payment_processed_by
comoPROCESSED_BY_PARTNER
noCreateBookingResponse
.
Casos de uso para pagamentos
Ao decidir se quer receber pagamentos para cada um desses casos de uso, consulte nossas Políticas de pagamentos e verifique se você está em conformidade com todas as políticas relevantes.
Existem casos de uso para pagamentos:
- Concluir agendamentos pré-pagos
- Depósitos necessários para o agendamento
- Taxas de não comparecimento se o usuário não honrar o agendamento
- Cartão de crédito obrigatório para o agendamento
Para mais informações sobre como implementar cada um desses casos de uso, consulte o tutorial sobre Como configurar pagamentos.
Concluir agendamentos pré-pagos
A Figura 1 mostra o fluxo de atividades entre usuários, você (o parceiro de programação), o Google e o processador de pagamentos.
- O pagamento precisa corresponder a 100% do valor do serviço. Em outras palavras, os serviços precisam ser pagos integralmente no momento da reserva.
-
Defina o campo
prepayment_type
comoREQUIRED
para esse serviço. - Defina o campo
require_credit_card
comoREQUIRE_CREDIT_CARD_CONDITIONAL
para esse serviço.
Depósitos e taxas de não comparecimento
Essas duas atividades são configuradas de maneira semelhante. A Figura 2 mostra o fluxo dessas atividades entre usuários, você (o parceiro de agendamento), o Google e o processador de pagamentos.
É possível usar depósitos e taxas de não comparecimento para garantir que um usuário compareça à reserva.
- Um depósito pode ser cobrado no cartão de crédito do usuário antecipadamente ou posteriormente.
- Uma taxa de não comparecimento pode ser cobrada do usuário se ele não comparecer ao agendamento.
- Se necessário, os depósitos e as taxas de não comparecimento podem ser aplicados juntos para uma reserva.
- Mesmo que não haja pagamento antecipado necessário, o servidor de agendamento precisa
responder à solicitação CreateBooking com um
PaymentInformation
contendo umpayment_transaction_id
, que precisa ser exclusivo. Opayment_transaction_id
não precisa ser fornecido pelo processador de pagamentos, mas pode ser gerado pelo servidor de agendamento.
Os depósitos e as taxas de não comparecimento podem ser especificados no nível do serviço ou do espaço de disponibilidade de um comerciante. Se você os especificar no nível do horário disponível, isso modificará as definições no nível do serviço.
- Para ativar os depósitos, defina o campo
deposit
no nível do serviço ou do horário disponível. - Para ativar as taxas de não comparecimento, defina o campo
no_show_fee
no nível do serviço ou do horário disponível. - Defina o campo
require_credit_card
comoREQUIRE_CREDIT_CARD_CONDITIONAL
no nível do serviço ou do slot de disponibilidade. - (opcional) Defina
prepayment_type
comoREQUIRED
ouOPTIONAL
.
Cartão de crédito obrigatório
Pode haver outros casos de uso que exigem um cartão de crédito no momento da reserva.
- Defina o campo
require_credit_card
comoREQUIRE_CREDIT_CARD_ALWAYS
no nível do serviço ou disponibilidade de um comerciante.
Cancelamentos e reembolsos
Os cancelamentos e reembolsos são iniciados pelo parceiro (você) ou pelo usuário pelo
Reservar com o Google. Em ambos os casos, você precisa respeitar o CancellationPolicy
que foi definido no Nível de serviço e comunicado ao usuário ao reservar a finalização da compra.
Se você não informar
CancellationPolicy
,
presume-se que qualquer cancelamento na janela de cancelamento definida por
min_advance_online_canceling
definido no
Nível de serviço
será reembolsável.
Se min_advance_online_canceling
não estiver definido, será 0 (ou seja, pode ser cancelado a qualquer momento).
Se você precisar desativar o cancelamento do Reservar com o Google, fale com seu contato de operações de parceiro do Google.
Mudanças nas RTUs- Depois de fornecer um reembolso ao usuário, é necessário enviar uma
RTU de atualização de reserva para mudar o status de pagamento da
reserva. Defina
update_mask
comostatus,payment_information.prepayment_status
epayment_information.prepayment_status = PREPAYMENT_REFUNDED
estatus = CANCELED
.- Use os novos
BookingStatus = CANCELED
ePrepaymentStatus = PREPAYMENT_REFUNDED
. O valor de enumeraçãoCANCELED_AUTOMATIC_REFUND
foi descontinuado para os modelos da API Maps Booking e do gRPC.
- Use os novos
- Quando o Reservar com o Google enviar um
UpdateBookingRequest
e acionar um reembolso para o usuário, definabooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
noUpdateBookingResponse
.