接入Google Pay之后挖胃,如何驗證訂單杂靶。
前言
長話短說,接入Google Pay之后酱鸭,付款成功了吗垮,還得驗證訂單。驗證訂單這一步凹髓,最好放在服務器烁登,有些黑科技可以直接在手機上虛擬一個Google Pay,如果服務器不做驗證蔚舀,很有可能就被刷單了饵沧。
在網(wǎng)上借鑒了很多文章锨络,真正有用的似乎很少。官方文檔很不友好狼牺,可能是國外人思維邏輯不同羡儿,導致文檔很難看懂,甚至文檔找了好久都找不到是钥,不是我菜失受,后端大佬也是找了好久,都快放棄了o(╥﹏╥)o咏瑟。借鑒看到的一句話:當前文檔不足以支撐開發(fā)者接入Google Pay拂到。
步驟
一、進入Google Play Console码泞,新建Auth客戶端兄旬。不要去Google Developers Console中創(chuàng)建,點“創(chuàng)建AUTH客戶端”就行余寥。
二领铐、點擊“在Google Developers Console中查看”,下載對應的json格式的配置文件宋舷。
三绪撵、使用我提供的Java項目進行半自動化操作。
https://github.com/gg051202/GoogleCheck
1.必須在本項目中創(chuàng)建配置文件: src/main/local.properties祝蝠,文件內(nèi)容如下(package_name和json_file_value此刻應該填寫完畢音诈,code和refreshToken在后續(xù)步驟中會拿到)
#填寫你的包名
package_name=
#填寫你的json文件中的內(nèi)容
json_file_value=
#填寫你訪問authUrl后,授權(quán)得到的code
code=
#請求授權(quán)接口后绎狭,獲取到的refreshToken
refreshToken=
2.按照下圖步驟進行操作即可细溅。
終
如何測試?真實支付一筆訂單后儡嘶,用purchaseToken在本地測試喇聊,確認無誤。最終提供給你們的后臺開發(fā)人員就3個值:client_id蹦狂、client_secret誓篱、refresh_token。他們需要做的是:
隨筆·坑
- 如果支付發(fā)現(xiàn)提示Error checking for billing v3 support這種凯楔,不要慌窜骄,大概率不是你使用的sdk版本有問題。請檢查:切換各個國家的IP嘗試啼辣、登陸的google商店賬號對不對(賬號資料里的地區(qū)啊研,可能要選美國)、商店可能同時保存多個賬號,把其他的刪除党远、登陸商店的賬號的地區(qū),只保留一個賬號削解,簡而言之,大概率是賬號問題沟娱。
- 有可能氛驮,拉起google支付就掛了,看看是不是小米手機济似,應用的詳情信息界面矫废,看看有沒有一個“權(quán)限管理->后臺彈出界面”的選項,勾上它砰蠢。
- 怎么測試支付蓖扑?商品id傳 android.test.purchased ,就是測試台舱,有可能無法支付律杠,如果你加入了“Google Play 應用簽名計劃”,那么必須要加入發(fā)布到測試版后(每一個測試版本都要審核竞惋,所以這個計劃對于開發(fā)階段來說不太友好)柜去,才能支付,想清楚了再加入這個計劃(好像是不加入這個計劃拆宛,無法上傳bundle包)嗓奢。
- 怎么發(fā)布內(nèi)測版?在市場提交包后浑厚,任何一個內(nèi)測渠道發(fā)包股耽,都需要審核,審核過后才會有一個測試地址瞻颂,沒有顯示地址豺谈,就一直等郑象。
- 在Google市場下載包贡这,一直在轉(zhuǎn)圈怎么辦?可以嘗試:切換到美國IP厂榛,清空"Google商店"APP的所有數(shù)據(jù)盖矫。
- 審核被拒』髂蹋“商店發(fā)布->應用內(nèi)容”下有選項辈双,目標群體改成18歲以上,應用內(nèi)容勾上“會無意間吸引兒童”柜砾。
- 無法付款怎么半湃望?Google Pay會對賬號的地址進行驗證,而且還得有信用卡,今年3月份起貌似信用卡都被封了证芭,可憐的我后來向澳大利亞的朋友求助瞳浦,后來發(fā)現(xiàn)可以去某寶買充值卡,美滋滋废士,想測就測(就是這樣叫潦,無數(shù)次付款失敗后,你會發(fā)現(xiàn)能測試真是個讓人感動的事)官硝。