原生結帳總覽

如要讓使用者結帳,請實作原生結帳整合。這包括建立標準 REST API,讓 Google 能以程式輔助方式,透過伺服器管理結帳程序。這種方法可為使用者提供最流暢的體驗。Google 一開始會為買家顯示使用者介面,日後則計畫支援更多代理程式體驗。

結帳程序

如要進行原生整合,您必須建構 RESTful API,供 Google 呼叫以建立及管理結帳工作階段。

整體流程如下:

  1. 建立結帳工作階段:使用者和 (選擇性) 服務專員會進入迴圈,將項目新增至工作階段。
  2. 移交給 Google UI:使用者決定結帳後,代理程式 (如果已參與互動) 會將控制權移交給 Google UI (並傳遞結帳工作階段資料)。
  3. 手動結帳:使用者現在只需與 Google UI 互動,即可填寫敏感的訂單履行和付款詳細資料,並提交訂單。代理程式不會參與這部分,確保確定性。
  4. 完成及退貨:Google 使用者介面會顯示「感謝你」頁面,確認訂單。使用者也可以選擇重新導向至服務專員,服務專員可能已收到購買完成通知。

結帳工作階段狀態生命週期

在使用者完成結帳流程的各個步驟時,您必須更新結帳工作階段 status,反映目前的狀態。工作階段會經歷下列生命週期:

  • incomplete工作階段建立時的初始狀態。這表示缺少必要資訊 (例如運送方式、稅金或使用者詳細資料),或是未計算相關費用。
  • ready_for_payment使用者更新運送地址後,您計算運送選項和總計金額時,但付款方式尚未確定前,請使用這個狀態。
  • ready_for_complete在完整結帳物件補水期間使用的狀態,一旦選取付款方式並驗證所有訂單詳細資料,就會使用這個狀態。
  • completed成功處理付款並下單後,系統傳回的最終狀態。
  • canceled如果結帳工作階段已中止,系統會傳回這個狀態。
  • error如果發生無法復原的商業邏輯錯誤,導致無法結帳,系統會傳回這個狀態。這項狀態適用於 UCP 2026-04-08 以上版本。

多項商品結帳程序:

Google 現在支援在單一結帳階段中加入多個不同的明細項目。 一般流程如下:

  1. 使用者從啟用 UCP 的介面啟動結帳程序 (例如點選產品上的「立即購買」)。
  2. 系統會發出 POST /checkout-sessions 呼叫,其中包含 line_items 陣列中的所有相異項目。line_items 陣列會包含每個結帳項目的個別物件。
  3. 使用者可以透過 PUT /checkout-sessions/{id} 呼叫更新付款方式、履行詳細資料或套用折扣。
  4. 使用者點選「使用 GPay 付款」按鈕時,系統會發出 POST /checkout-sessions/{id}/complete 呼叫。

驗證

如要進一步瞭解如何保護 Native Checkout API 端點,包括支援的驗證方法 (例如 API 金鑰和 OAuth 2.0),請參閱「驗證與安全性」指南。

開發人員工具

為協助您導入 Native Checkout API,通用商務通訊協定 GitHub 存放區提供下列資源:

  • UCP GitHub 存放區:瀏覽主要存放區,取得完整說明文件、規格和社群資源。
  • SDK:使用軟體開發套件加快整合速度。 我們提供各種語言專屬的 SDK,包括:
  • 一致性測試:使用一致性測試套件,根據 UCP 規格驗證 API 端點。

    確保導入作業符合必要標準和行為。

強烈建議使用這些工具,簡化開發和測試程序。

服務等級目標

下列服務等級目標 (SLO) 適用於 Native Checkout REST API 端點。與 Google 整合的商家應達到這些 API 效能和可用性目標。

端點 可用性 延遲時間 (第 50 個百分位數) 延遲時間 (第 95 個百分位數)
POST /checkout-sessions (建立) >= 95% <= 1 秒 <= 4 秒
PUT /checkout-sessions/{id} (更新) >= 95% <= 1 秒 <= 5 秒
POST /checkout-sessions/{id}/complete (已完成) >= 95% <= 6 秒 <= 10 秒

第 50 個百分位數的延遲時間表示,至少有 50% 的要求預計會在該時間內完成。第 95 個百分位數的延遲時間表示至少有 95% 的要求預計會在該時間內完成。

後續步驟

查看結帳 API 酬載,以及 UCP 版本的技術實作詳細資料: