總覽
Google Standard Payments 支援以現金支付的 FOP (付款方式),例如便利商店購物 (例如 7-Eleven)。整體來說,想支付商品費用的使用者會透過付款整合商產生參考號碼。接著,使用者將這個參考號碼交給便利商店、資訊站或銀行,然後支付參考號碼。
![]() |
![]() |
![]() |
概念與術語
符號和會議
「必須」使用的重要詞彙是「必須」「絕對不要」「必要」「SHALL」、「"SHALL NOT,「應」"不應"「建議」「你好」:和「OPTIONAL」並依照 RFC 2119 中的說明解讀。
時間戳記
所有時間戳記都會以世界標準時間 (UTC) 自 Unix 紀元 (1970 年 1 月 1 日) 表示的毫秒數。
例如:
- 2019 年 4 月 23 日下午 8:23:25 (GMT = 1556051005000 毫秒)
- 2018 年 8 月 16 日中午 12:28:35 (格林威治標準時間) = 1534422515000 毫秒
金額
這個 API 中的貨幣值格式為「微量」。成為 Google 的一項標準微量是整數的固定精確度格式,如要表示金額 (以百萬分之一為單位),請將標準貨幣值乘以 1,000,000。
例如:
- $1.23 美元 = 1230,000 美元
- $0.01 美元 = 10,000 美元
冪等
這個 API 中的所有方法呼叫都必須具有冪等行為。Google 會偶爾重試要求,確保兩邊的交易狀態都相同。整合商不得嘗試重新處理已經成功處理的任何要求。請回報成功處理的回應。所有方法都有通用的 RequestHeader
,其中包含 requestId。此 requestId 是所有呼叫的冪等鍵。
任何非終端機回應 (非 HTTP 200 成功) 都不得冪等處理。因此,如果要求之前收到 400 (錯誤要求/失敗的先決條件),在第二次呼叫時,該請求不得冪等地傳回 400,所以必須重新評估。重新評估時,可能會傳回 400 或已成功處理。
如要進一步瞭解冪等性,請參閱這份詳細指南。
整合商
使用 Google 付款平台處理業務的公司。可以是 YouTube 或 AdWords 等內部 (1P) 公司,也可以是 YouTube 或 AdWords 等外部企業,且想將自家服務與 Google 生態系統整合。
付款方式
付款方式。這比樂器更為廣泛。Visa、MasterCard 和 PayPal 皆為 FOP。
樂器
特定客戶的特定付款方式實例。例如使用者的信用卡或 PayPal 帳戶。個別客戶的代碼化 FOP 也是一種付款方式,因為它對該客戶的付款方式而言會安全地儲存在我們的系統中。
權杖
代表特定使用者的付款方式,並在 Google 系統中代表。因為其中包含購物所需的一切資訊,因此權杖也是一種工具。這可能包括使用者向整合商提供的帳號等這類資訊。
重要流程
Google 會使用兩個主要流程來建立及支付以下參考編號:
- 產生參考號碼流程。
- 付款參考號碼流程。
之後購買交易產生的對帳和結算作業將由匯款流程處理。
下圖說明每個流程。
現金付款方式總覽
以下各節將詳細說明前兩個流程。如要進一步瞭解流程,請參閱匯款流程頁面。
產生參考號碼
產生參考編號流程的目的,是建立並交換 Google 和整合商所能用來識別購買交易的識別碼 (參考號碼)。方便使用者在便利商店、資訊站或銀行使用這個參考編號完成購買交易。這個 ID 是由整合商呼叫 generateReferenceNumber
方法,在 Google 的要求中產生。產生參考編號的要求會包含金額和交易說明。
下圖說明參考編號如何產生並傳送給客戶的指示。
產生參考號碼流程
以下清單列出物件及其代表的:
- 使用者:這是指想使用這種付款方式購物的人。
- Google 使用者介面:使用者購買交易的介面。可以是透過網路或應用程式。
- Google 伺服器:Google 的後端伺服器,要求產生參考號碼,為使用者建立付款指示。
- 付款整合商伺服器:付款整合商的後端伺服器,可追蹤付款資料並產生參考編號。
此流程會從想要使用此現金付款方式的使用者開始。
- 「使用者」存取 Google UI,傳送參考編號的要求。
- Google UI 傳送訊息給 Google 伺服器,要求提供參考編號 (
getReferenceNumber
)。 - Google 伺服器要求付款整合商伺服器產生參考編號 (
generateReferenceNumber
)。 - 「付款整合商伺服器」會產生參考編號,並傳送至 Google 伺服器。
- Google 伺服器會建立付款指示和參考號碼。接著,系統會將這些資訊傳送至 Google UI。
- Google UI 會將這些操作說明和參考編號傳送給「使用者」。
參考編號相關注意事項
參考號碼只能支付一次,且可以透過取消參考號碼流程取消。此外,參考號碼必須是英數字元,且必須支援多種顯示格式。
除了顯示參考編號外,Google 的使用者介面還可以選用代碼 128 格式 (條碼格式) 表示參考編號。其他條碼格式可應要求提供支援。
付款參考號碼
使用者會在便利商店、資訊站或銀行使用這個參考編號,識別使用者想付費的購買交易。整合商應讓使用者在付款前顯示消費金額、日期和交易說明,藉此確認付款交易。
使用者選擇付款後,必須付清全額費用,並且只付款一次。這個 API 不支援單筆或低於一次付款的參考號碼。我們也不支援多次支付單一參考號碼的款項。
使用者付款後,整合商必須立即通知 Google 已透過 referenceNumberPaidNotification
方法支付該參考編號。透過整合服務,在使用者實際付款後的幾秒內呼叫這個方法,就能讓使用者快速收到商品。(如果網路中斷,可將這項呼叫加入佇列)。
付款後,參考號碼和金額將列入 T+2 天寄出的匯款對帳單中。
以下是有關參考編號支付流程的序列圖。
付款參考號碼流程
圖中的物件代表以下項目:
- 使用者:這是指想使用這種付款方式購物的人。
- 便利商店:使用者根據參考號碼和指示 (例如便利商店) 付款的地點。
- 付款整合商伺服器:付款整合商的後端伺服器,用於追蹤付款詳情。
- Google 伺服器:Google 的後端伺服器,要求產生參考號碼,為使用者建立付款指示。
此流程會先由使用者前往便利商店,根據其指示付款。
- 「使用者」前往便利商店付款。
- 交易完成後,便利商店會通知付款整合商。
- 付款整合商伺服器將成功訊息傳送至便利商店。
- 「便利商店」表示交易成功,商品很快就會送到使用者手中。
- 付款整合商伺服器傳送訊息至 Google 伺服器,說明參考編號已支付 (
referenceNumberPaidNotification
)。這個步驟不得封鎖步驟 4。 - Google 伺服器會向付款整合商伺服器回覆成功,
取消參考號碼
Google 可取消參考號碼。如果 Google 取消參考號碼,就會呼叫 cancelReferenceNumber
方法。成功傳回此呼叫後,無法支付該參考號碼的款項,且整合商必須拒絕支付此號碼的款項。這項呼叫成功後,日後所有對 referenceNumberPaidNotification
的呼叫都會失敗。
如果付款程序已開始,例如使用者在資訊站中輸入參考號碼,但尚未付款,整合商應傳回 HTTP 423 回應代碼,且該回應代碼包含 USER_ACTION_IN_PROGRESS
。
下一步:匯款流程