启用付款

在“通过 Google 预订”端到端集成中,您可以选择让您的商家在用户进行预订、预约或预订时收到付款。Google 与付款处理方合作来设置令牌化处理。然后,付款处理方会使用唯一的令牌安全地向商家付款。

对于付款安全的预订,我们会在结账流程中呈现付款信息模块。这样即可允许用户输入信用卡信息。

现已支持 3DS1 和 3DS2,请参阅此教程了解实现方式。

资格条件

商家必须满足以下要求,才能通过“通过 Google 预订”接收付款:

  1. 使用受支持的付款处理方。如需查看受支持处理方的最新列表,请访问 Google Pay 网站
  2. 根据您的处理方接受令牌化付款。
  3. 无法为需要异步确认的预订启用付款功能。

对 Feed 和预订服务器进行更改以启用付款功能

通过在商家级别选择启用,您即可启用付款功能。您必须为需要为其任何服务接收付款的商家启用付款功能。如需启用付款功能,必须对 Feed 和预订服务器进行更改。

Feed

  • 商家 Feed:通过 tokenization_config 字段中设置的 tokenization_parameter 指定付款信息。付款集取决于所选付款处理方。该集合就是您在与 Google Pay 集成时向其传递的同一组 paymentMethodTokenizationParameters.parameters
  • 服务/可用性 Feed:根据相应的用例指定付款要求。如需了解详情,请参阅付款用例

预订服务器

付款用例

在决定是否针对每种使用情形进行付款时,请参阅我们的付款政策并确保您遵守所有相关政策。

以下是付款的用例:

如需详细了解如何实现上述每个用例,请参阅有关配置付款的教程。

全额预付费预订

图 1 显示了用户、您(时间安排合作伙伴)、Google 和付款处理方之间的活动流程。

图 1:预付费预订序列图
图 1:预付费预订流程图
  • 付款金额必须为服务费用的 100%。换言之,在预订时,服务必须全额支付。
服务 Feed 的变化

押金和违约金

押金和违约金的设置方式相同。图 2 显示了用户、您(时间安排合作伙伴)、Google 和付款处理方之间的这些活动流程。

图 2:存款或违约金预订流程图
图 2:押金或违约金的预订序列图

押金和违约金可用于确保用户出现在预订列表中。

  • 可提前或日后从用户的信用卡中扣除押金。
  • 如果用户未按预订时间入住,则可能需要支付违约金。
  • 如有必要,可针对预订同时收取押金和违约金。
  • 即使没有预付款要求,预订服务器也必须使用包含 payment_transaction_idPaymentInformation(必须是唯一的)响应 CreateBooking 请求。付款处理方无需提供 payment_transaction_id,但可由预订服务器生成。
服务 Feed 或可用性 Feed 的变化

可以在服务级别或可用性空档级别为商家指定押金和违约金。如果您在可用性槽级别指定这些配置,则系统将替换服务级别的定义。

  • 如需启用存款功能,请在服务或可用性空档级别设置 deposit 字段。
  • 如需启用违约金,请在服务或可用性空档级别设置 no_show_fee 字段。
  • 在服务或可用性空档级别将 require_credit_card 字段设置为 REQUIRE_CREDIT_CARD_CONDITIONAL
  • (可选)将 prepayment_type 设置为 REQUIREDOPTIONAL

需要提供信用卡

还有一些其他用例需要在预订时提供信用卡。

  • require_credit_card 字段设置为商家的服务级别或可用性槽位级别的 REQUIRE_CREDIT_CARD_ALWAYS

取消和退款

取消操作和退款由合作伙伴(您)或用户通过“通过 Google 预订”发起。在这两种情况下,您都必须遵循在服务级别设置的 CancellationPolicy,并在结账时通知用户。

如果您未提供 CancellationPolicy,系统会假定通过 min_advance_online_canceling 定义的在服务级别设置的取消期限内可取消的任何交易均可退款。 如果未定义 min_advance_online_canceling,则为 0(表示可以随时取消)。

如果您必须停用“通过 Google 预订”功能取消服务,请与您的 Google 联系人讨论。

对 RTU 的更改
  • 为用户提供退款后,您必须发送更新预订 RTU 才能更改预订的付款状态。将 update_mask 设置为 status,payment_information.prepayment_status,并设置 payment_information.prepayment_status = PREPAYMENT_REFUNDEDstatus = CANCELED
    • 使用新的 BookingStatus = CANCELEDPrepaymentStatus = PREPAYMENT_REFUNDED。Maps Booking API 和 gRPC 模板的枚举值 CANCELED_AUTOMATIC_REFUND 已废弃。
更改预订服务器