google 可再生订阅滥用
google renewable subscriptions abuse
我们有一个应用程序在 android 中使用自动续订订阅。
用户正在通过应用程序正常订阅,收据已发送给我们的后端,以便使用 IAP Google API。
到此为止一切都很好,但我们最近发现我们的系统存在漏洞,一些用户订阅并取消订阅并重新启用自动订阅,这样google将发出新的收据发送到我们的后端,我们再给他们一年,这很容易通过只授予收据中给出的持续时间来解决
但随后用户开始使用同一个 google 帐户和我们应用程序的不同帐户,他们通过生成的收据为每个人提供免费订阅
我在这里阅读了 API,但我找不到任何字段告诉我们这张收据只是重新激活而不是新订阅
https://developers.google.com/android-publisher/api-ref/purchases/subscriptions
当我们发送 google api 的请求以获取信息时,这就是我们得到的信息:
status_from_google_play
{
"autoRenewing": true,
"cancelReason": null,
"countryCode": "SA",
"developerPayload": "",
"expiryTimeMillis": "1534073485784",
"kind": "androidpublisher#subscriptionPurchase",
"linkedPurchaseToken": "sometoken",
"orderId": "GPA.xxxx-xxxx-xxxx-xxxxx",
"paymentState": 1,
"priceAmountMicros": "290000",
"priceCurrencyCode": "SAR",
"purchaseType": 0,
"startTimeMillis": "1534071687580",
"userCancellationTimeMillis": null
}
没有字段给我这条信息
我错过了什么吗?还有其他方法可以验证吗?
事实证明 linkedPurchaseToken
字段可用于此目的
如果链接令牌不为空,则表示它是 仅重新激活 或 upgrade/downgrade 订阅。
这不是您所看到的直接用法,而是您所知道的。
我们有一个应用程序在 android 中使用自动续订订阅。
用户正在通过应用程序正常订阅,收据已发送给我们的后端,以便使用 IAP Google API。
到此为止一切都很好,但我们最近发现我们的系统存在漏洞,一些用户订阅并取消订阅并重新启用自动订阅,这样google将发出新的收据发送到我们的后端,我们再给他们一年,这很容易通过只授予收据中给出的持续时间来解决
但随后用户开始使用同一个 google 帐户和我们应用程序的不同帐户,他们通过生成的收据为每个人提供免费订阅
我在这里阅读了 API,但我找不到任何字段告诉我们这张收据只是重新激活而不是新订阅 https://developers.google.com/android-publisher/api-ref/purchases/subscriptions
当我们发送 google api 的请求以获取信息时,这就是我们得到的信息:
status_from_google_play
{
"autoRenewing": true,
"cancelReason": null,
"countryCode": "SA",
"developerPayload": "",
"expiryTimeMillis": "1534073485784",
"kind": "androidpublisher#subscriptionPurchase",
"linkedPurchaseToken": "sometoken",
"orderId": "GPA.xxxx-xxxx-xxxx-xxxxx",
"paymentState": 1,
"priceAmountMicros": "290000",
"priceCurrencyCode": "SAR",
"purchaseType": 0,
"startTimeMillis": "1534071687580",
"userCancellationTimeMillis": null
}
没有字段给我这条信息
我错过了什么吗?还有其他方法可以验证吗?
事实证明 linkedPurchaseToken
字段可用于此目的
如果链接令牌不为空,则表示它是 仅重新激活 或 upgrade/downgrade 订阅。
这不是您所看到的直接用法,而是您所知道的。