設定不同的付款方式

Actions Center 平台支援多種設定 接受付款。 啟用付款指南會說明整合的各方面 所有付款整合項目通用,包括:

  1. 設定動態饋給來加入 tokenization_parameter 資訊
  2. 將預訂伺服器更新為接受「payment_method_token」 物品
  3. 使用者與 Actions Center 之間交換的資訊總覽 合作夥伴 / 商家和付款處理方。

本指南將進一步說明 設定動態饋給,指定不同類型的動態饋給 您的商家和服務都必須符合付款設定。

  1. 無須付款 / 抵達時付款
  2. 全額預付款
  3. 逾時未到費用 / 取消費
  4. 存款

付款的所有用途都是不付款 / 準時付費使用情境 (無須設定付款方式),因此這類 教學課程會先介紹該設定 視為擴充功能

各節也會涵蓋要追蹤的欄位 預訂伺服器,以便接受特定款項 此外還會從 0 自動調整資源配置 您完全不必調整資源調度設定

無須付款 / 抵達時付款

對於預約時無須付款的服務, 商家或服務不需要進行付款設定 第二,自訂角色只能 套用至專案或機構不過,價格仍為必填。

這是服務的基準設定,其中包含 名稱、說明和價格這可能是單一服務訊息 內 ServiceFeed:

JSON

{
    "merchant_id": "merchant-1",
    "service_id": "service-1-a",
    "name": "Men's haircut",
    "description": "One of our stylists will cut your hair",
    "price": {
        "price_micros": 15000000,
        "currency_code": "USD"
    }
}

除了標準實作外,不需額外設定 ,以便在抵達時支援付款功能。

預付款

這項設定可用來指定服務費用金額 必須在預訂時全額付清。

您可以透過 第 prepayment_type 個欄位是 Service。如要要求付費使用服務 應設為 REQUIRED,如以下範例所示。請注意, 指定價格的方式與支付到貨費用範例相同。在這裡 由於我們將預付類型設為必填,因此信用卡會是 ,且結帳時會以這個價格計費。

JSON

{
    "merchant_id": "merchant-1",
    "service_id": "service-2-b",
    "name": "Spa Treatment",
    "description": "A full spa treatment",
    "price": {
        "price_micros": "200000000",
        "currency_code": "USD"
    }
    "prepayment_type": "REQUIRED"
}

預訂伺服器

接受預付後,系統會將付款代碼傳送至你的預訂 呼叫 CreateBooking 透過欄位 payment_processing_parameters.unparsed_payment_method_token。 您必須收取透過 且須使用幣別 指定的動態饋給這些費用應該依照 的 啟用付款指南

傳回 CreateBookingResponse敬上 「booking.payment_information」欄位必須正確設定 反映已提供並處理的預付款。

PaymentInformation 規格包含 所有付款資訊選項的說明文件。這個簡單的模型 以下付款方式。 完全符合 請求。此外,如果動態饋給/要求中已指定稅率 必須一併加入

另請注意,您必須提供交易 ID。這個交易 ID 在該商家的所有交易中,皆必須至少與其他商家不重複。A 罩杯 適合交易 ID 的候選交易 ID 是指 付款處理方。

JSON

{
    "prepayment_status": "PREPAYMENT_PROVIDED",
    "payment_processed_by": "PROCESSED_BY_PARTNER",
    "payment_transaction_id": "[this-transaction-id]",
    "price": {
        "price_micros": "200000000",
        "currency_code": "USD"
    }
}

逾時未到費用

如果使用者未參加 或在取消預訂後取消 取消期限。如果未指定取消時限 預設為版位的開始時間。

如要指定逾時未到費用,請在服務動態饋給中加入 no_show_fee 欄位,如以下範例所示:

JSON

{
    "merchant_id": "merchant-1",
    "service_id": "service-2-b",
    "name": "Spa Treatment",
    "description": "A full spa treatment",
    "price": {
        "price_micros": 200000000,
        "currency_code": "USD"
    }
    "scheduling_rules": {
        "min_advance_online_canceling": 14400,
    }
    "no_show_fee": {
        "fee": {
            "price_micros": 25000000,
            "currency_code": "USD"
        }
        "fee_type": "FIXED_RATE_DEFAULT"
    }
}

就上述範例而言,合作夥伴或商家已獲得 按照 如果預約持有人是 no_show_fee.fee.price_micros 欄位 不會參加預約。如果使用者點數 會在預約時間的 4 小時 (14400 秒) 內取消,例如 指定於 scheduling_rules.min_advance_online_canceling ] 欄位。

如要瞭解如何在供應情形層級定義逾時未到費用,請參閱: 本節

預訂伺服器

處理包含未支付費的要求時,付款權杖 會在呼叫 CreateBooking 透過欄位 payment_processing_parameters.unparsed_payment_method_token。 此 Token 的傳遞方式與預付方式相同 確認是否屬於此情況不過,因為權杖授權的時間只有一小段時間 您必須呼叫付款處理方的相關 API, 將這個權杖升級至可持續使用的版本 我們稍後會確認詳情請參閱《啟用付款指南》一節 為 未顯示費用權杖流程

傳回 CreateBookingResponse敬上 booking.payment_information 欄位必須正確設定 回應逾時未到費用的狀態,如以下範例所示。

JSON

{
    "prepayment_status": "PREPAYMENT_PROVIDED",
    "payment_processed_by": "PROCESSED_BY_PARTNER",
    "payment_transaction_id": "[this-transaction-id]",
    "price": {
        "price_micros": "200000000",
        "currency_code": "USD"
    }
    "no_show_fee": {
        "fee": {
            "price_micros": 25000000,
            "currency_code": "USD"
        }
        "fee_type": "FIXED_RATE_DEFAULT"
    }
}

請注意,no_show_fee 會設為反映價格, 可能收費時採用的結構另請注意,與 預付範例,請在這則訊息中加入 transaction_id

另請注意,在booking_id CreateBookingResponse 是必填欄位,充電時必須傳送的即時更新資訊 逾時未到費用這個 ID 通常會與資訊一起儲存 關於預訂的資訊。

即時更新

使用者並未抵達原定的預訂行程或取消預訂 在取消期限過後 (例如直接與您聯絡),您將 可選擇使用付款資訊收取指定的逾時未到費用 也就是您在預訂時所儲存的收取逾時未到的費用時,必須 即時更新:指明未收取節目費用。

適用於由以下服務建立的預訂: CreateBooking,更新應傳送至 notification.partners.bookings.patch。這項要求的主體應該是 已更新的預訂,且狀態設為 NO_SHOW_PENALIZED。這個狀態會通知 Google 某筆費用 執行。

例如,要求可能傳送至:

PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/12345678/bookings/123123123?updateMask=status

包含要求主體:

JSON

{
    "name": "partners/12345678/bookings/123123123"
    "merchantId": "merchant-1"
    "serviceId": "service-2-b"
    "status": "NO_SHOW_PENALIZED"
}

存款

存款會用於收取第一筆費用 預訂。可在預約時或稍後收取訂金 讓應用程式從可以最快做出回應的位置 回應使用者要求您可能需要在哪些條款之下定義可以退回押金的條款。 以及 可以線上取消預訂的情況

如要指定存款,請在服務動態饋給中加入 deposit 欄位,如以下範例所示:

JSON

{
    "merchant_id": "merchant-1",
    "service_id": "service-2-b",
    "name": "Spa Treatment",
    "description": "A full spa treatment",
    "price": {
        "price_micros": 200000000,
        "currency_code": "USD"
    }
    "scheduling_rules": {
        "min_advance_online_canceling": 86400,
    }
    "deposit": {
        "deposit": {
            "price_micros": 25000000,
            "currency_code": USD,
            "min_advance_cancellation_sec": 14400,
        }
        "deposit_type": "FIXED_RATE_DEFAULT"
    }
}

在這個範例中, min_advance_online_canceling 會定義取消期限,以及 deposit.min_advance_cancellation_sec。 定義該筆存款可退款的時間。請注意,在上述範例中,存款可以指定 取消時間與退款條款分開。在這種情況下,使用者可以自行取消 長達 24 小時 (86400 秒)這能確保商家 並在取消期限前直接收到通知不過,該使用者 最晚 4 小時內符合退款資格 (14400 秒) 這項資訊會顯示在結帳時的條款和確認電子郵件中。

如要瞭解如何在供應情形層級定義存款方式,請參閱: 本節

預訂伺服器

處理包含存款的要求時,付款權杖會 透過 CreateBooking 透過欄位 payment_processing_parameters.unparsed_payment_method_token。 此權杖的傳遞方式與預付情況相同。如果發生以下情況: 收取這筆金額,或是在預約時扣除保留款。 。

如果您日後有興趣收取這筆存款, 而是發出短時間授權,您必須呼叫 付款處理方的相關 API,以便將這個權杖升級為 以便日後持續使用這是 ,

傳回 CreateBookingResponsebooking.payment_information 欄位必須 正確回應存款狀態,如下例所示。

JSON

{
    "prepayment_status": "PREPAYMENT_PROVIDED",
    "payment_processed_by": "PROCESSED_BY_PARTNER",
    "payment_transaction_id": "[this-transaction-id]",
    "price": {
        "price_micros": "200000000",
        "currency_code": "USD"
    }
    "deposit": {
        "deposit": {
            "price_micros": 25000000,
            "currency_code": USD,
            "min_advance_cancellation_sec": 28800,
        }
        "deposit_type": "FIXED_RATE_DEFAULT"
    }
}

請注意,存款設定是以 可能收取或保留的存款。另請注意,與 預付範例,請在這則訊息中加入 transaction_id

即時更新

如果使用者在取消訂金期限前取消預訂,您 必須將您支付給使用者信用卡的所有保證金退還給您。時間 退款時,您必須 即時更新:指明這筆存款是否已退還。

適用於由以下服務建立的預訂: CreateBooking,更新應傳送至 notification.partners.bookings.patch。在本內文中 要求必須是更新後的預訂,且狀態會設為 CANCELEDpaymentInformation.prepaymentStatus欄位已設為 PREPAYMENT_REFUNDED。讓 Google 知道該筆存款 已退款。

例如,要求可能傳送至:

PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/12345678/bookings/123123123?updateMask=status

包含要求主體:

JSON

{
    "name": "partners/12345678/bookings/123123123"
    "merchantId": "merchant-1"
    "serviceId": "service-2-b"
    "status": "CANCELED"
    "paymentInformation": {
      "prepaymentStatus": "PREPAYMENT_REFUNDED"
    }
    
}

需要信用卡

服務可能需要信用卡做為額外的 用於驗證身分不過,請勿使用 預付款、訂金或逾時未到費用。如果這些用途 但應按照這些步驟明確設定 。同時請注意,要求信用卡通常會導致 這項服務的預訂量大幅下滑。

如要要求在結帳時提供信用卡,請設定 「require_credit_card」欄位改為 REQUIRE_CREDIT_CARD_ALWAYS

JSON

{
    "merchant_id": "merchant-1",
    "service_id": "service-1-a",
    "name": "Men's haircut",
    "description": "One of our stylists will cut your hair",
    "price": {
        "price_micros": 15000000,
        "currency_code": "USD"
    },
    "require_credit_card": "REQUIRE_CREDIT_CARD_ALWAYS"
}

預訂伺服器

處理包含信用卡規定的要求時, 權杖會在呼叫 CreateBooking 透過欄位 payment_processing_parameters.unparsed_payment_method_token。 此 Token 的傳遞方式與預付方式相同 確認是否屬於此情況不過,因為權杖授權的時間只有一小段時間 您必須呼叫付款處理方的相關 API, 將這個權杖升級至可持續使用的版本 我們稍後會確認

預訂伺服器回應不需要其他資訊 而非付費使用案例中的情況

在供應情形層級覆寫價格

以上所有範例皆已指定價格 / 費用結構 提供代管服務在多數情況下,這個服務等級的價格應設為 然而,在某些情況下,更改付款結構是合理的做法 特定的供應情形時段舉例來說,在下列情況中 可透過在供應情形層級覆寫價格 / 費用來處理:

  • 週二降價,每週六調漲。
  • 下午 5:00 到 7:00 之間,服務時段不需支付演出費用。

下表列出每種付款 / 收費方式及應輸入的欄位 使用在供應情形動態饋給中,即可覆寫服務層級定義。

付款方式 費用 / 價格定義 是否可覆寫?
抵達時付款 Service.price 價格可覆寫,期限為 參照 Availability.payment_option_id Merchant.payment_option
預付款 Service.price 價格可覆寫為 參照 Availability.payment_option_id Merchant.payment_option
逾時未到費用 Service.no_show_fee Availability.no_show_fee
存款 Service.deposit Availability.deposit
需要信用卡 Service.require_credit_card Availability.require_credit_card

請注意,如要覆寫供應情形等級的價格,您必須先定義 並設定商家層級的付款選項。此外,也會說明如何 可供預訂的取消期,請參閱指南 如何新增取消期間