接入GoogePay 退款APi
GooglePay退款Api接入
- GooglePay退款Api接入准备工作
- mavne依赖
- 代码
- 遇到的大坑
- 参考文档
GooglePay退款Api接入准备工作
(1)在GooglePay 主体账户下创建服务账号,保存秘钥(json),并给服务账号添加应用以及应用权限,给服务账号分配账号权限(建议直接给管理员,必须要有财务权限),细节可以参考其他博客,大佬们有详细介绍,我就不累赘了.
注意:申请的服务账号不是立即生效的,官方给的说法是24小时左右,网上说可以通过在应用类新建计费点(随便建一个,后续删除即可)的方式,强制刷新.可以缩短到几分钟生效.
mavne依赖
<!-- google pay 依赖 --><dependency><groupId>com.google.api-client</groupId><artifactId>google-api-client</artifactId><version>1.32.1</version></dependency><dependency><groupId>com.google.auth</groupId><artifactId>google-auth-library-oauth2-http</artifactId><version>0.26.0</version></dependency><dependency><groupId>com.google.apis</groupId><artifactId>google-api-services-androidpublisher</artifactId><version>v3-rev20210605-1.32.1</version></dependency>
代码
//你下载的json秘钥的地址
private final static String keyPath =""
//包体在google商店的包名(com开头的)
private final static String packageName =""public static void main(String args[]) {AndroidPublisher androidPublisher = getAndroidPublisher();VoidedPurchasesListResponse voidedPurchasesListResponse =null;try {voidedPurchasesListResponse = androidPublisher.purchases().voidedpurchases().list(packageName).execute();Sys} catch (IOException e) {e.printStackTrace();}System.out.println(voidedPurchasesListResponse);}public static AndroidPublisher getAndroidPublisher(){ClassPathResource classPathResource = new ClassPathResource(keyPath);GoogleCredentials credentials = null;try {credentials = GoogleCredentials.fromStream(classPathResource.getInputStream())//给权限.根据官方文档;https://www.googleapis.com/auth/androidpublisher.createScoped(AndroidPublisherScopes.ANDROIDPUBLISHER);} catch (IOException e) {e.printStackTrace();}AndroidPublisher androidPublisher = null;try {androidPublisher = new AndroidPublisher.Builder(GoogleNetHttpTransport.newTrustedTransport(),GsonFactory.getDefaultInstance(),new HttpCredentialsAdapter(credentials)).build();} catch (GeneralSecurityException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return androidPublisher;}
遇到的大坑
{ "code": 403,"errors": [{ "domain": "androidpublisher","message": "The current user has insufficient permissions to perform the requested operation.","reason": "forbidden"}],"message": "The current user has insufficient permissions to perform the requested operation."
}
是由于当时查询退款的时间的时候,手抽,选择的20207月的订单,导致反馈的这个错误,开始一直以为是授权失败的问题,结果是查询范围没有权限.其实权限是通的.给自己的警醒,后续做第三方api时,最开始后的时候从最简单方案的开始.慢慢来.
参考文档
官方文档:
https://developers.google.com/identity/protocols/oauth2
https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.voidedpurchases/list
https://developers.google.com/identity/protocols/oauth2/service-account
各位大佬博客:
https://www.jianshu.com/p/6ce1d630d4be
接入GoogePay 退款APi相关推荐
- 【chrome插件】web版微信接入图灵机器人API实现自动回复
小贱鸡自动回复API已经不可以用了,现在改良接入图灵机器人API 360chrome浏览器团队翻译了部分谷歌插件开发文档 地址:http://open.chrome.360.cn/extension_ ...
- 支付宝商家二维码收款、订单状态查询、退款API试用笔记
情景 商家的app或商城支持支付宝支付,支付的方式是商家根据商品价格生成相应的付款二维码,用户扫码付款,同时商家需要查看支付订单状态,备货出货,当然还要支持退款. 准备测试环境 1.开通开发者服务 用 ...
- html插入地图的方法,JavaScript接入百度地图API的方法步骤
一.百度地图API接入 1.搜索百度地图开发平台 2.注册百度账号 3.登陆并申请成为开发者 4.在百度地图开发平台的首页选择控制台,在控制台中创建应用 创建好应用以后就能在控制台我的应用中看到这个应 ...
- 微信退款------API操作
这个是微信退款api 可以直接复制去测试.如果没有问题可以直接封装自己的方法 package com.huanuan.zl.order.weixin;import java.io.InputStrea ...
- java 接入百度地图api
先打开接入百度地图API 官网 http://lbsyun.baidu.com/ 然后点击 开发者文档 → web服务API 如果是第一次打开 则要填写信息 验证码一堆- 如果已经注册过了,则进入这一 ...
- 微信上的Siri:小i机器人首次接入微信语音API
微信上的Siri:小i机器人首次接入微信语音API 不久前我们曾介绍过微信开放系统API,首次和印象笔记合作,可以将聊天内容无缝保存到印象笔记.除印象笔记外,智能语音助手小i机器人也是首批获得微信系统 ...
- uni-app微信小程序接入皮卡智能api进行抠图操作
1.接入皮卡智能api容易踩坑,切记!!!!!! 2.可以传二进制流的接口不一定要通过request formdata去请求 可以使用uploadFile api去发起请求 uni.chooseIma ...
- java接入支付宝支付api
https://b.alipay.com/登录支付宝商家服务开通支付,进入开放平台,查看开放平台密钥的APPID(应用ID),应用公钥,支付宝公钥,授权回调地址. 初次支付可能还没有设置应用密钥,可以 ...
- java接入支付宝网站api
由于个人账号权限不够,使用了沙箱环境https://openhome.alipay.com/platform/appDaily.htm 具体的公钥,私钥就不具体说明,支付宝接入文档会提示的 其次下载支 ...
最新文章
- keras merge
- HttpSessionListener监听Session的创建和失效
- 【重大更新】DevExpress v17.1新版亮点(ASP.NET篇)
- 3.爱跑步的蜗壳人动态(下同)
- H3C 使用命令视图
- ping tracert over TCP
- laravel框架连接Oracle,laravel5.8(十四)连接oracle数据库
- switch 大气层双系统 进入破解系统 及安装nsp nsz 格式教程
- Windows Server 2008 R2 学习笔记——VMware Workstation中服务器(Windows Server 2008 R2)与客户机(Windows 7)的安装
- 工商银行网银支付问题 有网站想要安装以下加载项 来自Industrial and Commercial Bank of China Limited‘ 第三方支付机构上送网联跳转报文请求参数错误
- ssl2206 最小花费
- js:写一个函数实现任意数组的翻转
- 操作系统有哪些.智能手机的操作系统有哪些?
- NR PRACH(一)Preamble的确定
- 算法问题:整数除法详解(Java方向)
- 【毕业设计源码】基于微信小程序的查寝系统的设计与实现
- Ubuntu aria2c 下载
- 结构化 VS 非结构化
- 好久不见——洗尽铅华后的释然放手
- javascript中使用枚举定义一个对象进行数据转换
热门文章
- 敦煌莫高窟唐代离婚协议书曝光 用词浪漫煽情
- 多伦多大学计算机科学选课,多伦多大学选课攻略 帮你彻底摆脱选课恐惧症!(内含福利)...
- Facebook SDK For Unity
- 乔治亚理工学院计算机专业排名,乔治亚理工学院专业排名及优势专业推荐(2020年USNews美国大学专业排名)...
- jQuery整理笔记七----几个经典表单应用 .
- 【SCI】SCI投稿必知必会(长期更新)
- 向控件拖放数据,不积硅步无以至千里
- js根据出生日期 计算岁数
- dji Tello edu 开发
- RT5350使用uboot从U盘启动linux成功