у нас есть приложение, которое использует автоматически возобновляемые подписки в Android.
Пользователи обычно подписываются через приложение, и квитанция отправляется для проверки нашего бэкэнда с использованием IAP Google API.
до этого момента все было в порядке, но недавно мы обнаружили лазейку в нашей системе, некоторые пользователи подписываются и отменяют свои подписки и повторно включают автоматическую подписку, таким образом, Google выдает новую квитанцию, которая отправляется на наш сервер, и мы дать им еще один год, это легко решить, предоставив только продолжительность, указанную в квитанции
но потом пользователи начали использовать одну и ту же учетную запись Google с разными учетными записями для наших приложений, и они дают всем бесплатные подписки по сгенерированной квитанции
Я прочитал API здесь и не могу найти ни одного поля, в котором говорилось бы, что эта квитанция является повторной активацией, а не новой подпиской https://developers.google.com/android-publisher/api
когда мы отправляем запрос на 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
}
Нет поля, которое дает мне эту информацию
я что-то упускаю? есть ли другой способ проверить это?