Google Play支付更新了!

2019的Google I/O大会带来了很多Android相关的新功能,其中也包括Google Play支付的重大更新。这里先整理出相关更新点,后续米大师会针对新功能出版本优化接入,已接入米大师Google Play支付渠道的公司业务可先关注变更。

传送门:

What's New with Google Play Billing (Google I/O'19)

Use the Google Play Billing Library

Google Play Billing Library更新

背景

Google目前提供了两种集成Google Play支付的方式,AIDL和Google Play Billing Library,其中:

1. AIDL

开发自己封装Google提供的AIDL接口,支付操作通过AIDL与Google Play Store交互解决。目前米大师采用的是这种方式,特点是:定制度高,可自己实现线程和安全特性封装,当然Google也提供了IabHelper的范例,但同样存在新功能难更新问题。

2. Google Play Billing Library

子17年6月份开始,Google对外提供了Google Play Billing Library的Maven库,该库在原有的AIDL接口上再封装了一层,对外提供统一的接口,解决了一些大家吐槽的问题。简直是开发者的福音,然而并没有。。。

该Library存在的主要问题:

缺失developer payload字段

这是个透传字段,支付时外部传入,支付完成后在支付票据中带回。该字段很重要,通过这个字段实现订单关联等逻辑。

Note:AIDL接口一直有该字段,但billing library封装时将该字段去掉了!这是大家吐槽的地方,也是很多开发不敢升级的理由。鉴于Google在论坛回复后续将在AIDL中移除这个字段,米大师也做了相关备案,这里略去不表。

更新点

回到正题,似乎Google也听到了广大开发者的吐槽,在新版的Google Play Billing Library 2.0中,解决了开发者一直关心的问题,终于可以痛快的开始升级了。

上图是Google Play Billing Library的更新点,一个个细看下。

1. Pending transactions

即暂停交易或延时付款,在东南亚一些国家,本地支付渠道有限,很多地方不支持信用卡支付,即不能实时完成线上交易。用户通过线下现金支付或银行转账等方式,完成交易。

1、用户在应用内购买物品

2、Google Play弹框显示交易码,提示用户通过该交易码去线下商店支付。

3、用户现在支付完成,Google Play通知支付完成。

API实现

1、调用新增接口enablePendingPurchases(),支持pending transaction。

2、在应用初始化调用查询接口BillingClient.queryPurchases()查询未消耗票据,并在支付回调onPurchasedUpdated中接收支付票据。

3、处理票据:处理票据的不同支付状态

2. New purchase surfaces

新版Google play store支持应用外购买订阅。当应用有订阅物品时,应用下载界面会展示订阅信息,并提供购买界面。

待验证:通过应用外购买订阅,在进入应用时,应该可以通过BillingClient.queryPurchases()接口查到新支付票据。

3. Acknowledge all purchase

新版Google Play Billing Library要求,开发者在用户支付完成、并发货给用户后,通过acknowledge api尽快告诉google:用户已经支付成功,并收到支付的物品了。否则:如果google在三天内没有收到acknowledge通知,会自动退款给用户,并撤销这笔交易!(该规则只适用于支付成功的交易,即票据状态为:SUCCESS

发送确认通知的3中方式:

可消耗物品,调用cosumeAsync()接口

不可消耗物品(如订阅),调用acknowledgePurchase()接口,订阅需要在产生新token时(初次购买、取消再购买等)都调用该接口。

也可通过后台接口发送:google play developer api:acknowledge

API实现

 4. Consistent offers

Google Play Billing Library新增了两个接口:getOriginalPriceAmountMicros()和getOriginalPrice()。用于购买折扣物品时,查询物品原价的功能。

该功能还在测试,疑问的是:google play的折扣物品具体指的是啥?兑换码?配了入门价格的订阅?google也没明确说明,还是等上线了再来细看。

5. Faster purchase experience

新版Billing Library通过缓存优化了支付弹窗的弹出时间,相较于老版弹窗弹出时间,新版Library能缩短一半,有利于提升Google Play支付转化率。

6. Revamped developer payload

前面在背景介绍中,已经说过老版的Google Play Billing Library移除了developer payload字段,导致很多开发不敢升级的问题。惊喜的是,在新版Google Play Billing Library 2.0中,这个字段又开放了!

但是,设置的透传字段的方式跟之前AIDL不一样了!

老的AIDL接口,是在支付的时候传入payload,支付完成后在票据中返回该payload。

新Billing Library是在向google发送Acknowledge通知时设置payload,后续可通过票据获取该payload。

按前面理解,新Billing Library只能在支付后,并向用户发货后才能设置payload!那如果首次发货失败,payload没设置,后续用户变化了openid,一样存在票据关联错了openid的问题。

API实现

7. Improved error codes

新Library优化统一了各接口的结果码,目前没看到相关文档说明,后续补上。

8. Predictable Release & Support

即google规范了billing library的发布方式,以及AIDL的过期时间。

后续每年的google的I/O大会,都会发布google play billing library的主版本。

google play billing library将成为官方支持的支付接入方式,老的AIDL方式将被废弃。

下图是Google Play Billing Library版本变更时间,以及AIDL方式废弃时间。

Subscription更新

 订阅正逐渐成为海外收入的主要来源,google针对订阅带来的更新有:

1. Subscribe & Install

即前面提到的New purchase surface功能,google play store在下载应用页提供了购买订阅的ui。

2. Promotion codes

订阅支持兑换码功能,之前google play兑换码只支持兑换普通物品。

3. Subscription Pause

订阅暂停。用户可以在google play store上管理订阅时,选择是否暂停当前订阅。之前老的管理方式,只支持取消订阅,通过新增暂停订阅入口,可以让用户在取消订阅前选择是否暂停。

订阅暂停期间,用户不能访问订阅。

订阅暂停快结束时,google会尝试恢复订阅,即尝试扣款。扣款成功,订阅恢复;扣款失败,订阅进入账户保留期。

下图是订阅暂停并进入账户保留期:

下图是订阅暂停后恢复:

需要先在google play console开启订阅暂停功能选项:

参考:Google Play Billing Subsription

4. Cancel survey reports on Console

在google play console上,新增查看应用订阅取消原因报告。路径:财务报告->订阅

5. Longer Grace Periods

更长的订阅宽限期。之前只支持3天和7天的订阅宽限期,先新增14天和30天的订阅宽限期。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 本篇文章是官网中文版。有外网的小伙伴可以直接访问官网地址和代码示例 https://developer.andro...
    钢镚koala阅读 3,726评论 0 0
  • 什么是Google Play? 受国内政策影响,大部分android用户是没有接触过google play的。Go...
    空同定翁阅读 4,826评论 5 10
  • 受樊璟群老师的影响,父母要在背后做工作!不是请老师对孩子严加教育,不听话就打,而是私下里让老师多鼓励和欣赏孩子!这...
    莫有青草阅读 588评论 0 0
  • 露出了半边的月 是圆还是缺 喝过了半杯的酒 是空还是满 初心总是比结果看上去热情大方 真相从来就简单 演过了一半的...
    陈潇丝阅读 321评论 0 0
  • 旅行就像谈一场恋爱。 出门前悸动,到达时嫌弃,离开后怅惘。很多路都是偶然的,好像上帝一失误,便撒下莫名的交集。 吃...
    8950de27ad14阅读 308评论 2 0