干货-Google支付后台验证操作流程【业务后台-GP后台流程】
????????整個(gè)開(kāi)發(fā)背景是前端在調(diào)用完google play支付流程后,需要后臺(tái)驗(yàn)證支付結(jié)果以及在自己的服務(wù)生成訂單相關(guān)信息。
由此著手對(duì)google后臺(tái)驗(yàn)證的調(diào)研,首先官方流程:
點(diǎn)我查看官方流程
整個(gè)操作流程如下:
1、在開(kāi)發(fā)者后臺(tái)中啟用Google Play Android Developer項(xiàng)目
2、在Google APIS中選擇Google Play Android Developer項(xiàng)目–【憑據(jù)】–【OAuth同意屏幕】
注:只要填入信息即可,無(wú)需驗(yàn)證,但一定要添加【域名(已獲授權(quán)的網(wǎng)域)】
例如:使用這個(gè)地址比較好,請(qǐng)求成功率高
http://localhost:8080
3、創(chuàng)建OAuth客戶端憑據(jù)
4、創(chuàng)建好Oauth客戶端ID后管理者用項(xiàng)目最高權(quán)限的GP賬號(hào)登錄,訪問(wèn):
https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=http://localhost:8080&client_id=123122121復(fù)制鏈接后將下面的兩個(gè)參數(shù)value修改成分配的正確值即可
redirect_uri=已授權(quán)的重定向URI(建議使用:http://localhost:8080) client_id=google分配的客戶端ID以上鏈接登錄成功后,會(huì)在瀏覽器的地址欄中顯示code,只要拿出code的值即可:
注:有鏈接會(huì)被轉(zhuǎn)義,比如/會(huì)被轉(zhuǎn)成%2F,就如以上參數(shù)值,copy下來(lái)后手動(dòng)改一下:
Code=4/bAEGOfkpDnG5hhtv8E7FSkKPp-oFVQpTPeg8l_jWjKQd5BaOviZLyimEywJR9ptEoFtRqb95sZh4yXfRLI81BbM
Tip:文中所提到的模擬數(shù)字含義:
123122121=client_id=客戶端 ID 123456789=client_secret=客戶端密鑰
5、獲取到code后發(fā)送post請(qǐng)求,以下POST請(qǐng)求實(shí)例以postman工具來(lái)進(jìn)行操作
注:一定要按步驟來(lái)才能到發(fā)post請(qǐng)求這一步
請(qǐng)求頭Content-Type = application/x-www-form-urlencoded 以表單的形式傳參請(qǐng)求以下接口獲得refresh_token:
https://accounts.google.com/o/oauth2/token注:只有在第一次請(qǐng)求時(shí)會(huì)返回refresh_token,之后將不會(huì)返回了,所以在獲得返回的refresh_token后,請(qǐng)妥善保存此token。以后的請(qǐng)求中都不會(huì)再出現(xiàn),對(duì)于當(dāng)前創(chuàng)建的憑證賬號(hào)是唯一且永久有效的,可以存放到配置文件(或者寫到數(shù)據(jù)庫(kù)),以備后用
參數(shù):
grant_type=authorization_code為固定值 code=第4步中獲取到的code值, client_id=客戶端ID,(123122121) client_secret=客戶端密鑰,(123456789) redirect_url=重定向鏈接(http://localhost:8080)注:返回結(jié)果中的expires_in是指access_token的時(shí)效,為3600秒
第一次請(qǐng)求會(huì)獲得refresh_token,妥善保存6、攜帶refresh_token可獲取access_token,POST請(qǐng)求訪問(wèn)
請(qǐng)求頭Content-Type = application/x-www-form-urlencoded 以表單的形式傳參再次請(qǐng)求以下接口時(shí)只會(huì)獲得access_token:
https://accounts.google.com/o/oauth2/token參數(shù):
grant_type=refresh_token為固定值, client_id=客戶端ID,(123122121) client_secret=客戶端密鑰,(123456789) refresh_token=第5步中獲取到的refresh_token值,
7、驗(yàn)證:GET請(qǐng)求
請(qǐng)求以下接口時(shí)查詢獲得商品信息:
上面的http請(qǐng)求中的參數(shù)信息需要修改為以下內(nèi)容:
packageName=需要查詢的應(yīng)用ID(包名、gradle中的applicationId ) productId=開(kāi)發(fā)者后臺(tái)中創(chuàng)建好的商品ID purchaseToken=訂單中purchaseToken access_token=第6步中獲得的access_token注:如果客戶端是用V2API進(jìn)行支付的,直接使用上方鏈接即可,如果是v3api時(shí),需要將鏈接中的v2改成v3,否則查詢失敗
返回?cái)?shù)據(jù):
到這里就結(jié)束了,把流程梳理好后,做起來(lái)就不難了,大家喜歡這篇文章的話,可以麻煩點(diǎn)個(gè)贊和加個(gè)關(guān)注咩?,我也希望這篇文章能夠幫助更多的小伙伴。但是有一點(diǎn)要說(shuō)明哦,
碼字不容易哦,如果要收藏啥的,轉(zhuǎn)發(fā)時(shí)請(qǐng)麻煩標(biāo)明出處
總結(jié)
以上是生活随笔為你收集整理的干货-Google支付后台验证操作流程【业务后台-GP后台流程】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PTA乙级1033
- 下一篇: npm install很慢(奇葩)解决方