Google Pay 是2018年1月9日藐俺,谷歌發(fā)布的新的支付平臺绣檬。Google Pay品牌將在移動應(yīng)用模狭、網(wǎng)站、和線下支付終端中陸續(xù)上線叫乌,而已有的Android Pay品牌則將下線霹疫。
注意:Google Pay 并不是常用的手機(jī)端應(yīng)用內(nèi)支付方式 Google Play!W劢妗丽蝎!
雖說是與 Apple Pay 對標(biāo)的產(chǎn)品,Google Pay 的知名度和普及度似乎很低膀藐,在網(wǎng)上搜索的對接資料相當(dāng)之少屠阻,以至于中間踩了很多坑,對接時長也遠(yuǎn)超預(yù)期额各,在此記錄分享国觉。
Google Pay 對接官方文檔,平臺分為web端和移動端虾啦,此文僅限web端麻诀。進(jìn)入頁面如下圖:
關(guān)注指南Tab點(diǎn)擊進(jìn)入,頁面如下圖
左側(cè)是主題列表傲醉,右側(cè)是主題內(nèi)目錄列表蝇闭,目前文檔沒有中文。
啟動準(zhǔn)備
在對接過程中硬毕,第一個坑是流程問題呻引,互聯(lián)網(wǎng)公司對任務(wù)的開發(fā)周期通常較短,在熟悉或者通用或者開發(fā)人員多的領(lǐng)域吐咳,從文檔閱讀開始逻悠,是可以拋開申請流程,前端頁面等要素直接編寫后端的API韭脊,以提高開發(fā)速度童谒。但 Google Pay 有一些不同,以至于沒有經(jīng)驗(yàn)沪羔,不按流程很難繼續(xù)饥伊。
在啟動準(zhǔn)備的設(shè)置部分,你需要關(guān)注兩點(diǎn):
- 你的網(wǎng)頁是不是支持HTTPS任内,這一點(diǎn)在生產(chǎn)環(huán)境是必須的撵渡,在開發(fā)環(huán)境并不是。
- 你需要一個添加有 VISA 或 MasterCard 或其他 Google Pay 支持的卡種的 Google 賬號
第二個坑是上面的第二點(diǎn)死嗦,先把它搞定趋距!
- 事實(shí)上,不進(jìn)行前端頁面開發(fā)越除,單純接入Google Pay 提供的 js SDK节腐,調(diào)通彈出支付窗口外盯,添加銀行卡或選擇已有銀行卡,成功支付等流程后翼雀,進(jìn)行生產(chǎn)環(huán)境申請饱苟,那么除了后續(xù)需要適配公司自己的支付系統(tǒng),到此為止是沒有任何后端開發(fā)的(這一點(diǎn)Google的文檔真的不清晰)
- 期間厚著臉皮借了別人的多幣種信用卡嘗試添加過狼渊,似乎國區(qū)有風(fēng)控箱熬,在 Google 賬號中心添加成功,但在Google Pay彈窗中始終無法應(yīng)用狈邑,即使是美國當(dāng)?shù)氐腗aster Card也有失敗的經(jīng)歷城须;
接入SDK
準(zhǔn)備好之后,進(jìn)入左側(cè)的引導(dǎo)Tutorial米苹,
這一部分實(shí)際上就是接入 JS SDK糕伐,照著樣例編寫即可。接完放在生產(chǎn)環(huán)境中蘸嘶,哪怕收到回調(diào)后直接彈一個消息良瞧,成功了,也就可以向Google申請生產(chǎn)環(huán)境許可训唱。
申請生產(chǎn)環(huán)境
申請時褥蚯,需要確認(rèn) gateway processor
,實(shí)際上就是一個支付公司雪情,合作名單列在文檔中遵岩。確認(rèn)前可以先聯(lián)系該公司你辣,實(shí)際上后續(xù)的對接都是和支付公司合作巡通。
千萬不要修改 Google Pay
按鈕或商標(biāo)的樣式,申請會被拒絕舍哄,因?yàn)橛袝r差宴凉,申請的時間成本很高。
成功后表悬,會拿到一個 MerchantId
和一個后臺地址弥锄,只有登錄著申請時填寫的開發(fā)者賬號才可以進(jìn)入,可以填寫 url
白名單蟆沫,生產(chǎn)環(huán)境中 JS SDK
調(diào)用 Google API
是會有限制的籽暇。
支付對接
從支付公司那里可以獲得一個公鑰(gatewayMerchantId
)和一個私鑰,gatewayMerchantId
+ MerchantId
在用戶授權(quán)付款后饭庞,會通過 JS SDK
從 Google
獲取到支付相關(guān)的 token_data
(沒有產(chǎn)生支付)戒悠。
拿到 token_data
后,傳給后端舟山,后端通過 token_data
和 gatewayMerchantId
向支付公司的 API
請求 token
(我對接的公司就是獲得15分鐘有效期的令牌)绸狐。
然后通過私鑰和令牌授權(quán)支付(可以設(shè)置直接請款卤恳,也可以通過 API
請款)。
總體來說寒矿,確認(rèn)自己是接 Gateway 形式突琳,和上面各個變量對應(yīng)的數(shù)據(jù)即可,對接時繞的我不要不要的符相,一度在想為什么 Google 和支付公司之間的關(guān)系怎么是割裂的以及雙方提供的鑰匙做什么用途拆融。
Direct應(yīng)該就是支付公司接 Google Pay 時要做的,需要自己有金融營業(yè)牌照啊终。
對接跨越了幾個月冠息,記錄又跨越了幾個月……當(dāng)初滿滿的郁悶,現(xiàn)在都沒寫的動力了