链接的购买令牌表示未能付款的订阅未续订
我面临的问题是,链接的购买令牌意外地表明了特定情况下的先前订阅。
我写了一些与链接购买令牌相关的代码,但发生了意想不到的事情。所以我检查了 RTDN 和 SubscriptionPurchase 的历史记录。当 RTDN 到来时,我的网络服务器向 Google Play Developer API 请求 SubscriptionPurchase 并将其保存在 db 中。
我发现了一些可疑的记录。 它们几乎都如下所示:
通知类型 | 日期 RTDN 收到 | 到期时间 | 订单 ID | 购买令牌 | 链接购买令牌 |
---|---|---|---|---|---|
4 | 2021-12-27 | 2022-01-27 | GPA.0000-0000-0000-0000-00000 | token_0 | |
5 | 2022-01 -28 | 2022-01-27 | GPA.0000-0000-0000-0000-00000..0 | token_0 | |
13 | 2022-02-05 | 2022-02-05 | GPA.0000-0000-0000-0000-00000 | token_0 | |
4 | 2022-02-05 | 2022-03-05 | GPA.1111-1111-1111-1111-11111 | token_1 | token_0 |
即使前一个订阅已过期,链接的购买令牌仍指示前一个。
这看起来很奇怪。
但其中一些如下所示:
通知类型 | 日期 RTDN 收到 | 到期时间 | 订单 id | 购买令牌 | 链接购买令牌 |
---|---|---|---|---|---|
4 | 2021-12-27 | 2022-01-27 | GPA.2222-2222-2222-2222-22222 | token_2 | |
5 | 2022- 01-28 | 2022-01-27 | GPA.2222-2222-2222-2222-22222..0 | token_2 | |
13 | 2022-01-29 | 2022-01-29 | GPA.2222-2222-2222-2222-22222 | token_2 | |
4 | 2022-01-29 | 2022-02-28 | GPA.3333-3333-3333-3333-33333 | token_3 |
无链接购买令牌。这正是我所期望的。
我认为这种情况应该通过以下操作发生:
- 购买订阅。
- 续订时使订阅状态进入账户保留状态。
- 通过 billingClient.launchBillingFlow() 购买与您在步骤 1 中购买的 sku 相同的订阅,而不是修复 Google Play 商店应用中的付款方式。
通过许可证测试人员,帐户持有后购买的订阅的链接购买令牌始终为空。
这些是正确的行为吗?
我还想知道是什么影响了链接购买令牌。
有人面临这个吗?
I am facing the problem, the linked purchase token unexpectedly indicates the previous subscription in the specific situation.
I wrote some codes related to linked purchase token, and something not expected happend. so I checked history of RTDN and SubscriptionPurchase. When RTDN comes, my web server requests SubscriptionPurchase to Google Play Developer API and save it in db.
I found some suspicious records.
Allmost all of them look like the follows:
notification type | date RTDN received | expiry time | order id | purchase token | linked purchase token |
---|---|---|---|---|---|
4 | 2021-12-27 | 2022-01-27 | GPA.0000-0000-0000-0000-00000 | token_0 | |
5 | 2022-01-28 | 2022-01-27 | GPA.0000-0000-0000-0000-00000..0 | token_0 | |
13 | 2022-02-05 | 2022-02-05 | GPA.0000-0000-0000-0000-00000 | token_0 | |
4 | 2022-02-05 | 2022-03-05 | GPA.1111-1111-1111-1111-11111 | token_1 | token_0 |
Even though the previous subscription has expired, the linked purchase token indicates the previous one.
This looks so weired.
But a few of them look like the follows:
notification type | date RTDN received | expiry time | order id | purchase token | linked purchase token |
---|---|---|---|---|---|
4 | 2021-12-27 | 2022-01-27 | GPA.2222-2222-2222-2222-22222 | token_2 | |
5 | 2022-01-28 | 2022-01-27 | GPA.2222-2222-2222-2222-22222..0 | token_2 | |
13 | 2022-01-29 | 2022-01-29 | GPA.2222-2222-2222-2222-22222 | token_2 | |
4 | 2022-01-29 | 2022-02-28 | GPA.3333-3333-3333-3333-33333 | token_3 |
No linked purchase token. This is what I expected.
I think the situation should occur by the following actions:
- Purchase a subscription.
- Make the subscription state enter into account hold when the subscription renews.
- Purchase a subscription which is the same sku as you bought at step 1. by billingClient.launchBillingFlow(), NOT fixing the payment method in Google play store app.
By license testers, the linked purchase token of the subscription which is bought after account hold is always empty.
Are these correct behaviours?
I also want to know what affect the linked purchase token.
Is any one facing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论