As part of Reserve with Google, you can opt in your merchants to receive payment from users when they make a booking / appointment reservation. Google works with payment processors to set up tokenization. Payment processors then use unique tokens to securely pay merchants.
For your merchants to receive payments through Reserve with Google, you must meet these requirements:
Additionally, you must ensure opted in merchants are able to receive payments from you.
You can enable payments for some or all of your merchants. To set up payments you take 2 separate steps, as outlined below.
1. System configuration
To enable payments for any merchant, you must first ensure your system can accommodate the workflow for receiving payments via tokens. The diagram below shows the flow of activities between users, you (the scheduling partner), Google, and the payment processor.
2. Merchant-level opt-in
For each merchant you'd like to receive payments, you take the following steps in your merchants feed:
- Send Google their unique public / publishable key in the PaymentProcessorConfig message. Google passes this key to payment processors so they can identify which merchant they should pay.
- Populate the
- A payment must be for 100% of the service cost amount. In other words, services must be paid in full at the time of the booking.
- Reserve with Google generates tokens that are one-time use only.
- Merchants are responsible for handling cancellations and refunds initiated by the user.
- For a booking that involves payment, Reserve with Google sends a
payment_method_tokenas part of the CreateBookingRequest. It also sets the
- You must send changes to a payment status (e.g. the merchant refunds a
payment) to Reserve with Google via the Maps Booking API
booking.payment_information.prepayment_status. Currently, only partner initiated refunds are supported (i.e. an update with
PrepaymentStatus = PREPAYMENT_REFUNDED).
- The enum value
CANCELED_AUTOMATIC_REFUNDis deprecated for both Maps Booking API and gRPC templates. A cancellation where the refund should be processed is now denoted as
BookingStatus = CANCELED,
PrepaymentStatus = PREPAYMENT_REFUNDED.
Be sure to check out our FAQs.