伸手系列直接上代码

服务器端只处理回验以及 验证成功后的 交易记录以及道具添加逻辑

1.Controller

 public BaseResponse androidPay(@RequestBody GooglePayDto googlePayDto){String productId=googlePayDto.getProductId();String orderId=googlePayDto.getOrderId();String purchaseToken=googlePayDto.getPurchaseToken();String email="xxpay@pc-api-5677xxxxxxx-94.iam.gserviceaccount.com";try {//初始化身份googleConfig.getJsonpath()是证书地址GoogleCredential credential = GoogleCredential.fromStream(new FileInputStream(googleConfig.getJsonpath())).createScoped(AndroidPublisherScopes.all());//createScoped给令牌访问权限设置使用的权限范围//credential.refreshToken();//注意这里if(credential==null) {logger.error("Get GoogleCredential fails获取谷歌凭证失败!");}HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();JacksonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();AndroidPublisher publisher = new AndroidPublisher.Builder(httpTransport, JSON_FACTORY, credential).build();AndroidPublisher.Purchases.Products products = publisher.purchases().products();AndroidPublisher.Purchases.Products.Get product = products.get("com.shierke.umeapp", productId,purchaseToken);ProductPurchase purchase= product.execute();if(purchase!=null) {if (purchase.getPurchaseState() == 0)//0. Purchased 1. Canceled 2. Pending{if (purchase.getConsumptionState() == 1)//0. Yet to be consumed 1. Consumed{if(purchase.getPurchaseType().equals(0)){logger.info("沙盒环境谷歌返回JSON:"+purchase.toString());}if (!vipOrdrService.isExist("android", orderId)) {处理业务逻辑return ReturnResponseUtil.Success("验证成功!",null);}elsereturn ReturnResponseUtil.Error(ReturnResponseUtil.BUSSINESS_ERROR, "数据库保存订单失败");}elsereturn ReturnResponseUtil.Error(ReturnResponseUtil.BUSSINESS_ERROR, "android请勿重复消费");//}else{return ReturnResponseUtil.Error(ReturnResponseUtil.BUSSINESS_ERROR,"订单未支付");}}else{return ReturnResponseUtil.Error(ReturnResponseUtil.BUSSINESS_ERROR,"订单未支付");}}elsereturn ReturnResponseUtil.Error(ReturnResponseUtil.BUSSINESS_ERROR,"支付失败purchase为空");// 通过consumptionState, purchaseState可以判断订单的状态}catch (Exception ex){ex.printStackTrace();logger.info(ex.getMessage());}return null;}

附上https://github.com/TianM/ApplePayAndGooglePay

伸手系列-谷歌google支付-java相关推荐

  1. 伸手系列-苹果apple退款-java

    在管理后台填写你的接口地址,苹果apple会主动通知你 @RestController @RequestMapping("/api/refund") public class Re ...

  2. 微信支付-java实现微信支付-后端篇

    微信支付系列文章 微信支付-java后端实现 微信支付-vue 前端实现 java demo: 下载地址文章底部 技术栈 Spring boot java XML (微信在http协议中数据传输方案) ...

  3. java微信支付v3系列——5.微信支付成功回调

    目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...

  4. java微信支付v3系列——6.微信支付查询订单API

    目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...

  5. java微信支付v3系列——1.微信支付准备工作

    目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...

  6. java微信支付v3系列——7.微信支付之申请退款

    目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...

  7. java微信支付v3系列——8.微信支付之退款成功回调

    目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...

  8. 谷歌play支付_Google Play的新功能

    谷歌play支付 Google mentioned that in the last 21 months, there have been 116 billion downloads of the a ...

  9. 关于Google Pay JAVA后端处理

    Google Pay JAVA后端处理 前言:最近接了个需求,关于谷歌支付的处理流程.觉得有必要记录下来,在网上也找了很多资料,不 全.怎么个不全法呢? *第一:很多人用的方法就是使用谷歌的publi ...

最新文章

  1. linux下安装libsvm_Linux下libsvm的安装及简单练习
  2. Android网络连接异常处理方案
  3. postfix+mysql+dovecot
  4. C#和Java在重写上的区别
  5. dataframe数据标准化处理_数据处理中的标准化、归一化究竟是什么?
  6. openssl windows安装
  7. 3 PP配置-一般设置-检查计量单位
  8. 心情随笔——2012121
  9. bzoj1051 [HAOI2006]受欢迎的牛
  10. MySQL下载安装、配置与使用(win7x64)
  11. jquery-ajax请求.NET MVC 后台
  12. error: Zip file too big (greater than 4294959102 bytes)
  13. 经验分布函数(Empirical Distribution Functions)
  14. 重复抽样与不重复抽样的抽样平均误差大小?
  15. android 渠道配置manifest,Android studio 配置多渠道打包配置
  16. 文件 或者 图片 与 base64 之间的转换
  17. pyhton 网络爬取软考题库保存text
  18. Python evel函数
  19. Java知识点梳理思维导图
  20. 【SSH 出现PTY错误】

热门文章

  1. 中间件之webSphereMQ上分之路(一)
  2. 高压直流输电系统仿真模型介绍(1)
  3. 数学建模案例MATLAB实例
  4. 计算机和计算机思维理论考试试题科目一,科目一丨信息处理与逻辑思维
  5. STM32F407/以太网/FX3U/PLC/工控板源程序
  6. Android ADB超简单的安装方法
  7. 技术面试与HR谈薪资技巧
  8. 作文 深海机器人_关于机器人的作文7篇
  9. 教你拜访客户如何开场
  10. 文献分析-基于AI的文献分析工具