今天小编给大家介绍下集成谷歌Play支付,相信有不少的用户在接入谷歌Play支付过程中踩了不少的坑,怎么能避免踩坑呢?那就跟着小编一起来,让您不走弯路,好了废话就不多说了,具体的操作方法我们一起来看看。
集成Google Play支付教程
准备工作:
》创建一个国外的谷歌账号(一定是国外的);
》手机开启加u收起,要选择您谷歌账号同国家的加速器,不然容易导致支付失败;
》手机下载好谷歌Play App并且登录;
》谷歌Play账号绑定国外银行或是购买礼品卡,没有国外银行的可以购买礼品卡来用于支付;
》确保versionCode和版本号跟您上传的apk包的一样;
》确保后台和您上传的购买商品ID一致;
》确保您使用的账号是在测试人员里;(APK页面中有个【选择使用网址】,把这网址给您的测试人员,然后用测试人员谷歌账号进入,点击【成为测试人员】,前提他也在测试人员列表,这样才可以测试商品支付)
在集成之前朋友们先看下文档,这样有利于大家更高效的集成文档,官方文档地址:https://developer.android.com/google/play/billing/billing_library_overview
支付流程:
》首先是创建商品:在谷歌Play管理中心配置应用内商品;
》App端依据创建商品ID获取商品的详情;
》依据商品信息进行支付;
》验证支付结果;
集成开始:
引入仓库:
》implementation com.android.billingclient:billing:2.1.0
AndroidManifest.xml文件添加权限:
》<uses-permission android:name=”com.android.vending.BILLING” />
和谷歌Play建立链接:
接着查询商品的信息:
这时发起您的支付:
支付完成后确认您的购买交易:
》您要是用的谷歌Play结算库版本2.0或更高版本,那么三天内您必须确认购买交易。没有及时的确认就会退款;
》谷歌Play支持从您的应用内或应用外购买商品,无论您是在哪里购买的商品,谷歌Play都是提供一致的购买体验;
以下方法确认购买交易:
》消耗商品:用客户端API的consumeAsync;
》非消耗商品:用客户端API的acknowledgePurchase;
》还可以使用服务器API中新增的acknowledge方法;
消耗商品:consumeAsync接受包含开发者载荷字段的ConsumeParams对象,下图所示:
接下来是我的代码里的示例:
验证您购买的交易:
每次向用户提供他们所购买的商品访问权限之前,您都应该验证购买交易是否处于PURCHASED状态,应验证应用在onPurchasesUpdated中收到的其他购买详情;
服务器上验证购买交易: