回调通知
实时开发者通知参考指南 | Google Play 结算系统 | Android Developers
回调通知只会告知购买状态发生了变化,不会提供购买交易的相关信息,需要开发者在接收到了通知后调用谷歌接口自己查询
回调示例:
1 | { |
Base64解码:
1 | { |
属性名称 | 值 | 说明 |
---|---|---|
version | string | 此通知的版本。最初,此值为“1.0”。此版本与其他版本字段不同。 |
packageName | string | 与此通知相关的应用的软件包名称(例如“com.some.thing”)。 |
eventTimeMillis | long | 事件发生的时间戳,以从公元纪年开始计算的毫秒数表示。 |
subscriptionNotification | SubscriptionNotification | 订阅相关信息 |
subscriptionNotification:
1 | { |
属性名称 | 值 | 说明 |
---|---|---|
version | string | 此通知的版本。最初,此值为“1.0”。此版本与其他版本字段不同。 |
notificationType | int | 订阅的 notificationType 可以具有以下值: (1) SUBSCRIPTION_RECOVERED - 从帐号保留状态恢复了订阅。 (2) SUBSCRIPTION_RENEWED - 续订了处于活动状态的订阅。 (3) SUBSCRIPTION_CANCELED - 自愿或非自愿地取消了订阅。如果是自愿取消,在用户取消时发送。 (4) SUBSCRIPTION_PURCHASED - 购买了新的订阅。 (5) SUBSCRIPTION_ON_HOLD - 订阅已进入帐号保留状态(如果已启用)。 (6) SUBSCRIPTION_IN_GRACE_PERIOD - 订阅已进入宽限期(如果已启用)。 (7) SUBSCRIPTION_RESTARTED - 用户已通过 Play > 帐号 > 订阅恢复了订阅。订阅已取消,但在用户恢复时尚未到期。如需了解详情,请参阅 恢复。 (8) SUBSCRIPTION_PRICE_CHANGE_CONFIRMED - 用户已成功确认订阅价格变动。 (9) SUBSCRIPTION_DEFERRED - 订阅的续订时间点已延期。 (10) SUBSCRIPTION_PAUSED - 订阅已暂停。 (11) SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED - 订阅暂停计划已更改。 (12) SUBSCRIPTION_REVOKED - 用户在到期时间之前已撤消订阅。 (13) SUBSCRIPTION_EXPIRED - 订阅已到期。 |
purchaseToken | string | 购买订阅时向用户设备提供的令牌。 |
subscriptionId | string | 所购买订阅的商品 ID(例如“monthly001”)。 |
订单查询接口(网址采用gRPC转码)
1 | GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token} |
返回值:
1 | { |
属性名称 | 值 | 说明 |
---|---|---|
kind | string | 此类型表示 androidpublisherservice 中的 SubscriptionPurchaseV2 对象。 |
regionCode | string | 订阅获得批准的用户的 ISO 3166-1 alpha-2 帐单邮寄地址所在国家/地区代码。 |
latestOrderId | string | 与购买订阅有关的最新订单的订单 ID。对于自动续订型订阅,这是注册订单的订单 ID(如果尚未续订),或最新的周期性订单 ID(成功、待处理或遭拒的订单)。对于预付费订阅,这是与所查询的购买令牌相关联的订单 ID。 |
lineItems[] | object | 订阅购买交易的商品级信息。同一笔购买交易中的所有商品都应全部使用 AutoRenewingPlan,或者全都使用 PrepaidPlan。 |
startTime | string | 授予订阅的时间。没有为待处理的订阅设置订阅(订阅已创建,但在注册期间正在等待付款)。 时间戳采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,分辨率为纳秒级,最多包含九个小数位。示例: "2014-10-02T15:01:23Z" 和 "2014-10-02T15:01:23.045123456Z" 。 |
subscriptionState | enum | 如果旧订阅的购买令牌是以下任一项,则视为购买令牌:* 已取消但未过期的订阅重新注册 * 升级/降级之前的订阅。* 将预付费订阅转换为自动续订型订阅。* 将自动续订型订阅转换为预付费订阅。* 为预付费订阅充值。 |
pausedStateContext | object | 有关暂停的订阅的其他背景信息。仅当订阅当前具有 subscriptionState SUBSCRIPTION_STATE_PAUSED 时才存在。 |
canceledStateContext | object | 有关取消订阅的其他背景信息。仅当订阅当前具有 subscriptionState SUBSCRIPTION_STATE_CANCELED 时才存在。 |
testPurchase | object | 仅当此订阅购买交易是测试购买交易时,此字段才会显示。 |
acknowledgementState | enum | 订阅的确认状态。 |
externalAccountIdentifiers | object | 第三方服务中的用户帐号标识符。 |
subscribeWithGoogleInfo | object | 与通过“通过 Google 订阅”进行的购买交易相关联的用户个人资料。 |
订阅状态:
枚举 | 值 |
---|---|
SUBSCRIPTION_STATE_UNSPECIFIED | 未指定订阅状态。 |
SUBSCRIPTION_STATE_PENDING | 订阅已创建,但在注册期间正在等待付款。在此状态下,所有商品都正在等待付款。 |
SUBSCRIPTION_STATE_ACTIVE | 订阅处于有效状态。- (1) 如果订阅是自动续订方案,则至少有一个项目已自动续订且未过期。- (2) 如果订阅是预付费方案,至少有一项不会过期。 |
SUBSCRIPTION_STATE_PAUSED | 订阅已暂停。仅当订阅是自动续订方案时,这个状态才可用。在此状态下,所有内容都会处于暂停状态。 |
SUBSCRIPTION_STATE_IN_GRACE_PERIOD | 订阅处于宽限期。仅当订阅是自动续订方案时,这个状态才可用。在此状态下,所有内容都处于宽限期。 |
SUBSCRIPTION_STATE_ON_HOLD | 订阅处于暂停状态(已暂停)。仅当订阅是自动续订方案时,这个状态才可用。在此状态下,所有内容都会处于保全状态。 |
SUBSCRIPTION_STATE_CANCELED | 订阅已取消,但尚未到期。仅当订阅是自动续订方案时,这个状态才可用。所有内容的 autoRenewEnabled 都设为 false。 |
SUBSCRIPTION_STATE_EXPIRED | 订阅已过期。所有项的过期时间均为过去时间。 |
回调配置
网域验证
添加网域到Google Console
Google Console
https://play.google.com/console
google pay 配置sub/pub回调_google play怎么设置订阅回调地址_spcof的博客-CSDN博客