進行 Actions Center 的預訂端對端整合時,您可以選擇讓商家啟用付費功能,向預訂或預約的消費者收取費用。Google 會與付款處理方合作進行代碼化相關設定,設定完畢後,付款處理方就能使用不重複代碼安全地付費給商家。
針對有安全付款機制的預訂,我們會在結帳流程中顯示「付款資訊」模組,讓使用者輸入信用卡資訊。
付費功能可支援 3DS1 和 3DS2,導入方式請見這篇教學文章。
資格條件
您必須符合下列條件,才能讓合作商家透過 Actions Center 收款:
- 與受支援的付款處理方合作。如要查看最新的受支援付款處理方名單,請前往 Google Pay 網站。
- 能夠根據付款處理方的指示收取透過代碼化技術支付的款項。
- 完成 這裡所述的身分和商家驗證程序。
- 對於需要 非同步確認 的預訂,無法啟用付款功能。
變更動態饋給和預訂伺服器以啟用付費功能
在商家層級完成啟用程序後,才能使用付費功能。您必須為所有需要收取服務費用的商家啟用付款功能。為此,您得對動態饋給和預訂伺服器進行變更。
動態饋給
- 商家動態饋給:請透過
tokenization_config
欄位中的tokenization_parameter
組合指定付款資訊,該參數組合取決於您選用的付款處理方。這個組合會與您傳送給 Google Pay (如果您整合了這項服務) 的paymentMethodTokenizationParameters.parameters
組合相同。 - 服務/預訂情形動態饋給:請根據您適用的使用案例指定付款規定,詳情請參閱「付費功能使用案例」。
預訂伺服器
- 請根據消費者的付款類型導入
CreateBooking
方法 - Google 會將 [
payment_processing_parameters.unparsed_payment_method_token
] 欄位包含在CreateBookingRequest
內,並透過該欄位傳送付款代碼,這項paymentData
與您在 Google Pay 整合中的回呼所收到的相同。 - 在
CreateBookingResponse
中加入 PaymentInformation 訊息,指定付款方式、狀態、交易 ID 和價格 / 費用結構。 - 將
CreateBookingResponse
中的payment_information.payment_processed_by
欄位設為PROCESSED_BY_PARTNER
。
付費功能使用案例
決定是否要針對各個使用案例收取款項時,請參閱付費政策,並確認您能夠遵守所有的相關政策規定。
付款功能的用途如下:
如要進一步瞭解如何導入這些使用案例,請參閱這裡的付費功能設定教學。
預收預訂的全額費用
圖 1 呈現了消費者、您 (排程服務合作夥伴)、Google 和付款處理方之間的活動流程。
- 付款金額必須是服務費用金額的 100%,換句話說,消費者必須在預訂時付清服務費用。
-
將該服務的
prepayment_type
欄位設為REQUIRED
。 - 將該服務的
require_credit_card
欄位設為REQUIRE_CREDIT_CARD_CONDITIONAL
。
訂金和逾時未到費用
訂金和逾時未到費用的設定方式相似。圖 2 顯示了消費者、您 (排程服務合作夥伴)、Google 和付款處理方之間的活動流程。
訂金和逾時未到費用可用來確保消費者依約出現。
- 可在預訂當時或之後向消費者的信用卡收取訂金。
- 可向未依約出現的消費者收取逾時未到費用。
- 如有必要,可以為同一筆預訂收取訂金和逾時未到費用。
- 即使不需要預收款項,預訂伺服器仍然必須以包含
payment_transaction_id
(必須是不重複值) 的PaymentInformation
回應 CreateBooking 要求。payment_transaction_id
不需要由付款處理方提供,但可以由預訂伺服器產生。
您可以在商家的服務層級或可預訂時段層級指定訂金和逾時未到費用;如果在可預訂時段層級指定這些費用,您的設定會覆寫服務層級的定義。
- 如要啟用訂金,請在服務或可預訂時段層級設定 [
deposit
] 欄位。 - 如要啟用逾時未到費用,請在服務或可預訂時段層級設定 [
no_show_fee
] 欄位。 - 請在服務或可預訂時段層級,將
require_credit_card
欄位設為REQUIRE_CREDIT_CARD_CONDITIONAL
。 - (選用) 將
prepayment_type
設為REQUIRED
或OPTIONAL
。
必須提供信用卡資訊
有些使用案例可能需要消費者在預訂時提供信用卡資訊。
取消和退款
取消和退款必須由合作夥伴 (即您) 或使用者透過「行動中心」辦理。無論是哪種情況,您都必須遵守在服務層級設定的 CancellationPolicy
,並在預訂結帳時向使用者說明。
如果您未提供 CancellationPolicy
,系統會假設在 服務層級設定的 min_advance_online_canceling
所定義的取消時段內,所有取消訂單皆可退款。如果未定義 min_advance_online_canceling
,則為 0 (表示可隨時取消)。
如果必須從 Actions Center 停用取消功能,請與 Google POC 討論。
RTU 異動- 向消費者退款後,您必須傳送 更新預訂 RTU 來變更預訂的付款狀態。將
update_mask
設為status,payment_information.prepayment_status
,並設定payment_information.prepayment_status = PREPAYMENT_REFUNDED
和status = CANCELED
。- 使用新的
BookingStatus = CANCELED
和PrepaymentStatus = PREPAYMENT_REFUNDED
。Maps Booking API 和 gRPC 範本都已經淘汰CANCELED_AUTOMATIC_REFUND
這個列舉值。
- 使用新的
- 當 Actions Center 傳送
UpdateBookingRequest
並觸發使用者退款時,請在UpdateBookingResponse
中設定booking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
。