Trong quá trình tích hợp Đặt chỗ với Google, bạn có thể chọn cho phép người bán nhận tiền thanh toán từ người dùng khi họ đặt trước, đặt lịch hẹn hoặc đặt chỗ. Google hợp tác với các công ty xử lý thanh toán để thiết lập hoạt động mã hoá. Sau đó, công ty xử lý thanh toán sẽ sử dụng các mã thông báo riêng biệt để thanh toán cho người bán một cách an toàn.
Đối với các lượt đặt phòng có bảo mật thanh toán, chúng tôi sẽ hiển thị một mô-đun Thông tin thanh toán trong quy trình thanh toán. Điều này cho phép người dùng nhập thông tin thẻ tín dụng của họ.
Hiện tại, chúng tôi đã cung cấp chức năng hỗ trợ cho 3DS1 và 3DS2, vui lòng tham khảo hướng dẫn này về cách triển khai.
Điều kiện sử dụng
Để người bán nhận được các khoản thanh toán thông qua tính năng Đặt chỗ bằng Google, bạn phải đáp ứng các yêu cầu sau:
- Sử dụng một công ty xử lý thanh toán được hỗ trợ. Bạn có thể xem danh sách mới nhất về các bộ xử lý được hỗ trợ trên trang web của Google Pay.
- Chấp nhận khoản thanh toán bằng mã thông báo theo quy trình của công ty xử lý.
- Không thể bật chế độ thanh toán cho các yêu cầu đặt phòng yêu cầu xác nhận không đồng bộ .
Các thay đổi đối với nguồn cấp dữ liệu và máy chủ đặt phòng để thanh toán
Các khoản thanh toán được thực hiện thông qua quy trình chọn tham gia ở cấp người bán. Bạn phải bật tính năng thanh toán cho bất kỳ người bán nào cần nhận tiền thanh toán cho bất kỳ dịch vụ nào của họ. Để bật chế độ thanh toán, các thay đổi phải được thực hiện đối với nguồn cấp dữ liệu và máy chủ đặt phòng.
Nguồn cấp dữ liệu
- Nguồn cấp dữ liệu người bán: Chỉ định thông tin thanh toán thông qua
tokenization_parameter
được đặt trong trườngtokenization_config
. Tập hợp này phụ thuộc vào công ty xử lý thanh toán đã chọn. Tập hợp này cũng là tập hợp củapaymentMethodTokenizationParameters.parameters
sẽ được chuyển đến Google Pay nếu bạn muốn tích hợp với nó. - Dịch vụ/Nguồn cấp dữ liệu về tình trạng còn hàng: Chỉ định các yêu cầu thanh toán dựa trên trường hợp sử dụng phù hợp của bạn. Để biết thêm thông tin, hãy xem phần Các trường hợp sử dụng dịch vụ thanh toán.
Máy chủ đặt phòng
- Tuỳ theo hình thức thanh toán mà người dùng thực hiện, hãy triển khai phương thức
CreateBooking
- Google sẽ gửi mã thông báo thanh toán trong trường
payment_processing_parameters.unparsed_payment_method_token
dưới dạng một phần củaCreateBookingRequest
. Đây cũng làpaymentData
mà lệnh gọi lại của bạn sẽ nhận được trong quá trình tích hợp Google Pay. - Trong
CreateBookingResponse
, hãy bao gồm một thông báo PaymentInformation để chỉ định loại thanh toán, trạng thái, mã giao dịch và cấu trúc giá / phí. - Đặt trường
payment_information.payment_processed_by
thànhPROCESSED_BY_PARTNER
trongCreateBookingResponse
.
Các trường hợp sử dụng dịch vụ thanh toán
Khi quyết định có nhận khoản thanh toán cho từng trường hợp sử dụng này hay không, vui lòng xem xét Chính sách thanh toán của chúng tôi và đảm bảo bạn có thể tuân thủ tất cả chính sách có liên quan.
Các trường hợp sử dụng thanh toán:
- Hoàn tất việc đặt trước
- Khoản đặt cọc bắt buộc để đặt phòng
- Phí không xuất hiện nếu người dùng không đến để đặt phòng
- Thẻ tín dụng bắt buộc để đặt trước
Để biết thêm thông tin về cách triển khai từng trường hợp sử dụng này, hãy xem hướng dẫn về cách Định cấu hình thanh toán.
Hoàn tất việc đặt trước
Hình 1 cho thấy luồng hoạt động giữa người dùng, bạn (đối tác lập lịch), Google và công ty xử lý thanh toán.
- Khoản thanh toán phải bằng 100% số tiền chi phí dịch vụ. Nói cách khác, các dịch vụ phải được thanh toán đầy đủ tại thời điểm đặt phòng.
-
Đặt trường
prepayment_type
thànhREQUIRED
cho dịch vụ đó. - Đặt trường
require_credit_card
thànhREQUIRE_CREDIT_CARD_CONDITIONAL
cho dịch vụ đó.
Tiền đặt cọc và phí không đến
Khoản tiền gửi và phí không đến được thiết lập theo cách tương tự. Hình 2 cho thấy luồng của những hoạt động này giữa người dùng, bạn (đối tác lập lịch), Google và công ty xử lý thanh toán.
Khách có thể sử dụng khoản tiền đặt cọc và phí không đến để đảm bảo người dùng có thể đặt phòng.
- Tiền đặt cọc có thể được tính vào thẻ tín dụng của người dùng ngay lập tức hoặc sau đó.
- Người dùng có thể tính phí không đến nếu không đến xem yêu cầu đặt phòng.
- Nếu cần, bạn có thể gửi cả tiền đặt cọc và phí không đến cùng nhau cho một lượt đặt phòng.
- Ngay cả khi không cần thanh toán trước, máy chủ đặt phòng phải phản hồi yêu cầu Create Booking bằng
PaymentInformation
chứapayment_transaction_id
. Đây phải là riêng biệt.payment_transaction_id
không cần phải do công ty xử lý thanh toán cung cấp, mà thay vào đó có thể do máy chủ đặt phòng tạo ra.
Bạn có thể chỉ định tiền đặt cọc và phí không đến hiển thị ở cấp Dịch vụ hoặc ở cấp Phạm vi cung cấp cho người bán. Nếu bạn chỉ định các dữ liệu này ở cấp vùng quảng cáo, thì sẽ thay thế các định nghĩa ở cấp dịch vụ.
- Để cho phép gửi tiền, hãy đặt trường
deposit
ở cấp độ vị trí dịch vụ hoặc phạm vi cung cấp. - Để bật phí không đến, hãy thiết lập trường
no_show_fee
ở cấp dịch vụ hoặc khung giờ rảnh. - Đặt trường
require_credit_card
thànhREQUIRE_CREDIT_CARD_CONDITIONAL
ở cấp vùng dịch vụ hoặc phạm vi cung cấp. - (không bắt buộc) Đặt
prepayment_type
thànhREQUIRED
hoặcOPTIONAL
.
Bạn cần có thẻ tín dụng
Một số trường hợp sử dụng khác có thể yêu cầu thẻ tín dụng tại thời điểm đặt phòng.
- Đặt trường
require_credit_card
thànhREQUIRE_CREDIT_CARD_ALWAYS
ở cấp Dịch vụ hoặc ở cấp độ Tình trạng còn hàng cho người bán.
Hủy và hoàn tiền
Thông tin về việc huỷ và hoàn tiền do đối tác (bạn) hoặc người dùng thực hiện thông qua tính năng Đặt chỗ bằng Google. Trong cả hai trường hợp, bạn phải tuân thủ
CancellationPolicy
được đặt ở Cấp dịch vụ
và thông báo cho người dùng khi thanh toán khi đặt phòng.
Nếu bạn không cung cấp CancellationPolicy
, thì hệ thống sẽ giả định rằng mọi yêu cầu hủy trong thời hạn hủy do min_advance_online_canceling
đặt ở Cấp dịch vụ đều được hoàn tiền.
Nếu min_advance_online_canceling
không được định nghĩa thì giá trị đó là 0 (có nghĩa là có thể huỷ bất cứ lúc nào).
Nếu bạn phải vô hiệu hóa tính năng huỷ đăng ký khỏi tính năng Đặt chỗ bằng Google, vui lòng thảo luận với đầu mối liên hệ của Google.
Thay đổi đối với RTU- Sau khi hoàn tiền cho người dùng, bạn phải gửi cập nhật RTU để thay đổi trạng thái thanh toán của yêu cầu đặt phòng. Đặt
update_mask
thànhstatus,payment_information.prepayment_status
và đặtpayment_information.prepayment_status = PREPAYMENT_REFUNDED
vàstatus = CANCELED
.- Sử dụng
BookingStatus = CANCELED
vàPrepaymentStatus = PREPAYMENT_REFUNDED
mới. Giá trị enumCANCELED_AUTOMATIC_REFUND
không được dùng nữa cho cả API Đặt chỗ trên Maps và mẫu gRPC.
- Sử dụng
- Khi tính năng Đặt chỗ bằng Google gửi
UpdateBookingRequest
và việc này sẽ kích hoạt việc hoàn tiền cho người dùng, đặtbooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
trongUpdateBookingResponse
.