瞭解感應式刷卡機如何要求票證- Google Pay

文章推薦指數: 80 %
投票人數:10人

感應式刷卡機使用賣家ID 來識別自己的身分。

賣家ID 會對應到Google 後端的票證兌換機構ID。

票證開發人員會透過Google Pay API for Passes 與Google 後端進行互動。

Google Pay 總覽 付款 Android 網頁 票證 登機證 活動票券 會員卡 禮物卡 優惠 大眾運輸票證 印度 Android 網頁 全通路 PSPAPI 大眾運輸 封閉式迴路 開放式迴路 QR圖碼 視覺化票證 SpotPlatform Language English BahasaIndonesia Deutsch Español Français Polski Português–Brasil Русский 中文–简体 中文–繁體 日本語 한국어 登入 GooglePay票證功能 首頁 指南 參考資料 範本 支援 Google Pay 總覽 付款 More 票證 More 首頁 指南 參考資料 範本 支援 印度 More 大眾運輸 More SpotPlatform 簡介 GooglePayAPIforPasses 類別和物件的運作方式 一般API流程 如何儲存及查看票證 基本設定 取得RESTAPI的存取權 取得AndroidSDK的存取權 透過程式建立核發機構帳戶 實作API 將票證儲存至GooglePay 透過GooglePay兌換票證 透過GooglePay與使用者互動 為儲存和刪除項目使用回呼 票證類別 應用實例 程式碼片段 票證範本 測試檢查清單 API指南 成效改善提示 品牌規範 按鈕規範 服務條款 智慧感應功能 總覽 瞭解收取作業ID 瞭解感應式刷卡機提出票證要求的方式 設定商家感應式刷卡機 使用API設定智慧感應功能 Android 網頁 登機證 活動票券 會員卡 禮物卡 優惠 大眾運輸票證 Android 網頁 全通路 PSPAPI 封閉式迴路 開放式迴路 QR圖碼 視覺化票證 首頁 產品 GooglePay GooglePay票證功能 指南 提供意見 瞭解感應式刷卡機如何要求票證 商家的感應式刷卡機可以透過數種方式來要求特定的票證。

感應式刷卡機和GooglePay應用程式之間的通訊 感應式刷卡機使用賣家ID來識別自己的身分。

賣家ID會對應到Google後端的票證兌換機構ID。

票證開發人員會透過GooglePayAPIforPasses與Google後端進行互動。

智慧感應功能發揮作用時,感應式刷卡機會將其賣家ID傳輸至GooglePay應用程式。

接著,GooglePay應用程式會檢驗各張票證的票證兌換機構、擷取賣家ID,並將資訊相符的特定票證傳輸至感應式刷卡機。

如要設定這項功能,請參閱設定商家感應式刷卡機一文。

以下是這項程序的流程圖: 設定步驟1:在上圖中,Issuer_id:2018含有一個類別和一個物件。

這個核發機構帳戶是由票證開發人員使用。

Class_id:abc類別有一個redemptionIssuers['1990']物件。

根據定義,Issuer_id:'1990'是代表fooPizza這個商家的票證兌換機構ID。

感應式刷卡機的賣家ID為「12345678」,這組ID對應至為票證兌換機構1990設定的賣家ID。

Class_id:abc的所有物件都會傳輸至具備「12345678」這組賣家ID的感應式刷卡機。

設定步驟1.1:在上方範例中,fooPizza和yumPie都能兌換相同的票證object_id:123。

一個類別可以同時包含多個票證兌換機構。

與核發機構相對應的票證兌換機構帳戶在自家的感應式刷卡機中,會有自己的專屬賣家ID。

設定步驟2:上圖顯示該類別如何將自己的核發機構帳戶設為票證兌換機構。

Issuer_id:2018含有一個類別和一個物件。

Class_id:abc類別中包含一個稱為Issuer_id:2018的票證兌換機構物件。

根據定義,Issuer_id:2018是代表fooPizza這個商家的票證兌換機構ID。

感應式刷卡機的賣家ID為「12345678」,這組ID對應至為Issuer_id:2018這組核發機構ID設定的賣家ID,該核發機構ID也包含Class_id:abc。

Class_id:abc的所有物件都會傳輸至含有「12345678」這組賣家ID的感應式刷卡機。

GooglePay應用程式的使用者選擇機制 視使用者在裝置上看見的內容而定,系統向GooglePay應用程式傳輸何種資訊的行為可能不同。

如果使用者先在GooglePay中看見票證,然後才使用智慧感應功能,則只要該張票證的賣家ID與要求這項資訊的感應式刷卡機關聯賣家ID相符,系統就會傳輸這張票證。

票證的效力以類別或物件中設定的屬性集為準。

不過在上述情況下,無論票證是否有效,系統都會傳輸票證。

在某些情況下,使用者可能無法看見票證,例如使用者位於GooglePay的首頁分頁,或者票證是在裝置的解鎖畫面中顯示。

如果使用者並未看見票證,但賣家ID比對完成後只有一張有效票證可供兌換,則系統還是會傳輸票證。

賣家ID比對完成後,如果使用者同時擁有多張有效票證可供兌換,GooglePay會執行下列其中一項工作: 向該名使用者顯示可供選取的輪轉內容,使用者輕觸所需項目即可進行傳輸。

如果只有一張有效票證,GooglePay就會傳輸票證。

票證的效期會因票證類別有所不同,因此請務必檢查與狀態和使用日期相關的屬性,例如object.state或object.validTimeInterval。

智慧感應功能收取作業範例 請參閱以下虛構的核發機構和會員方案設定範例: iLuvCoffeeEat-fooBacon-R-us 核發機構ID123456789 賣家ID1114444444477777777 會員級別基本級會員獎勵我的會員獎勵無 會員級別黃金級會員獎勵無無 在建立票證時,iLuvCoffee設有兩種不同的會員級別:「基本級會員獎勵方案」和「黃金級會員獎勵方案」。

同時,Eat-foo也有自己的「我的會員獎勵」方案,Bacon-R-us則沒有任何會員方案。

現在,假設您想進行以下設定: 「基本級會員獎勵」可在Eat-foo和Bacon-R-us兌換。

「我的會員獎勵」可在Eat-foo兌換。

「黃金級會員獎勵」無法透過任何智慧感應功能兌換。

如要進行上述設定,請使用下列票證兌換機構ID來設定會員級別: 「基本級會員獎勵」票證兌換機構ID:456和789。

「我的會員獎勵」票證兌換機構ID:456。

「黃金級會員獎勵」票證兌換機構ID:無。

設定完成後,系統就會為這些會員級別項目設定以下賣家ID: 「基本級會員獎勵」賣家ID:44444444和77777777。

「我的會員獎勵」賣家ID:44444444。

「黃金級會員獎勵」賣方ID:無。

智慧感應功能發揮作用時的賣家驗證機制 每個核發機構帳戶都可以連結至任意數量的公開安全金鑰。

接著,系統就會同步處理這些公開金鑰,並將其儲存至GooglePay應用程式。

這樣一來,如果使用者將裝置貼近標榜具備其中一組關聯賣家ID的感應式刷卡機,就能順利透過GooglePay進行交易。

繼續以我們的範例來說明,假設核發機構也設定了以下金鑰: iLuvCoffeeEat-fooBacon-R-us 核發機構ID123456789 賣家ID111111114444444477777777 會員級別基本級會員獎勵我的會員獎勵無 公開金鑰aaabbb無 使用者的GooglePay帳戶中有iLuvCoffee的「基本級會員獎勵」會員卡和Eat-foo的「我的會員獎勵」會員卡,而使用者嘗試在不同的感應式刷卡機上進行感應。

以下是這兩個會員卡類別的票證兌換機構ID組合: 「基本級會員獎勵」票證兌換機構ID:456和789。

「我的會員獎勵」票證兌換機構ID:456。

接下來可能會發生三種情況: iLuvCoffee感應式刷卡機:理論上,GooglePay應用程式應該可以驗證並確認該部感應式刷卡機確實屬於iLuvCoffee。

不過,iLuvCoffee並未設定為可兌換自家會員級別「基本級會員獎勵」的核發機構,因此在這個情況下,系統不會傳輸任何內容。

Eat-foo感應式刷卡機:GooglePay應用程式會驗證使用「bbb」公開金鑰的Eat-foo感應式刷卡機。

假設使用者無法查看「基本級會員獎勵」或「我的會員獎勵」票證的詳細資料畫面(例如使用者目前位於首頁分頁),那麼應用程式就會在本身擁有的票證中搜尋Eat-foo兌換的票證。

應用程式找到「基本級會員獎勵」會員卡和「我的會員獎勵」會員卡後會顯示輪轉介面,讓使用者選擇要感應哪種會員卡來傳輸資訊。

或者,如果使用者是在看見「基本級會員獎勵」後使用智慧感應功能,則系統僅會傳輸「基本級會員獎勵」。

Bacon-R-us感應式刷卡機:這個平台沒有任何Bacon-R-us公開金鑰,因此即使您將Bacon-R-us設為可兌換「基本級會員獎勵」卡的核發機構,系統也無法驗證感應式刷卡機,所以不會傳輸任何內容。

驗證限制 系統將票證同步處理至GooglePay應用程式之後,就會透過Google後端查詢該票證的所有票證兌換機構。

如果系統為票證找到了對應至各個票證兌換機構的賣家ID、公開金鑰和金鑰版本,就會將這些資訊儲存在使用者的GooglePay應用程式中。

一組賣家ID可以同時包含許多公開金鑰和金鑰版本,一張票證可以具備多組票證兌換機構ID,但一組票證兌換機構ID只能與一組賣家ID相互對應。

如果GooglePay應用程式中沒有任何可在該感應式刷卡機兌換的票證,應用程式就不會驗證該感應式刷卡機。

這項資訊可以透過賣家ID和所要求的金鑰版本識別。

如要更新票證的公開金鑰,裝置就必須連上網際網路,這樣系統才能從Google後端擷取新的公開金鑰。

一張票證可以同時與多組公開金鑰相關聯。

請參閱為商家啟用智慧感應功能一節,瞭解如何為同一張票證設定多組公開金鑰。

注意:感應式刷卡機供應商或相關的金鑰管理廠商會判斷一張票證是否能同時與多組金鑰相關聯,並將公開金鑰資訊提供給票證開發人員。

從票證傳出的值 無論物件所屬的票證類別為何,您都必須為物件設定object.smartTapRedemptionValue這項字串屬性。

注意:如要傳輸資料,物件應一律設定object.smartTapRedemptionValue。

與物件相對應的類別啟用智慧感應功能後,系統就會將這個值傳送至感應式刷卡機。

如果貴商家已與銷售點(POS)相互整合,您就能使用這個值來識別使用者的票證,並在票證成功與商家的感應式刷卡機感應後執行以下動作: 透過銷售點(POS)更新使用者的餘額或狀態。

根據銷售點(POS)進行的交易更新自己的後端系統。

發布物件更新,在GooglePay票證中反映現況。

感應式刷卡機和GooglePay應用程式會將透過NFC傳輸的所有資料加密,感應式刷卡機則會在智慧感應功能發揮作用後將資料解密。

資料中會包含用於代表各張已傳輸票證的服務物件NDEF記錄,服務物件的ServicenumberNDEFRecord有一個酬載,其中含有在票證object.smartTapRedemptionValue中設定的值。

這表示票證開發人員不須加密任何資料。

如果票證開發人員想要進行額外的加密作業來進一步提升安全性,請設定這個值,僅允許銷售點(POS)系統將資料解密。

此加密程序須由票證開發人員和銷售點(POS)聯絡人負責處理。

提供意見 Exceptasotherwisenoted,thecontentofthispageislicensedundertheCreativeCommonsAttribution4.0License,andcodesamplesarelicensedundertheApache2.0License.Fordetails,seetheGoogleDevelopersSitePolicies.JavaisaregisteredtrademarkofOracleand/oritsaffiliates. Lastupdated2021-02-05UTC. [{ "type":"thumb-down", "id":"missingTheInformationINeed", "label":"缺少我需要的資訊" },{ "type":"thumb-down", "id":"tooComplicatedTooManySteps", "label":"過於複雜/步驟過多" },{ "type":"thumb-down", "id":"outOfDate", "label":"過時" },{ "type":"thumb-down", "id":"translationIssue", "label":"翻譯問題" },{ "type":"thumb-down", "id":"samplesCodeIssue", "label":"Samples/codeissue" },{ "type":"thumb-down", "id":"otherDown", "label":"其他" }] [{ "type":"thumb-up", "id":"easyToUnderstand", "label":"容易理解" },{ "type":"thumb-up", "id":"solvedMyProblem", "label":"確實解決了我的問題" },{ "type":"thumb-up", "id":"otherUp", "label":"其他" }] 想進一步說明嗎? 產品資訊 服務條款 支援 註冊GooglePayAPIforPasses 相關連結 GitHub上的GooglePay範例 Android Chrome Firebase GoogleCloudPlatform 所有產品 條款 隱私權 訂閱GoogleDevelopers電子報 訂閱 Language English BahasaIndonesia Deutsch Español Français Polski Português–Brasil Русский 中文–简体 中文–繁體 日本語 한국어



請為這篇文章評分?