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