1

Android で自動再生可能なサブスクリプションを利用するアプリケーションがあります。

ユーザーは通常どおりアプリを介してサブスクライブし、レシートはバックエンドに送信され、IAP Google API を使用して検証されます。

この時点までは問題ありませんが、最近、システムに抜け穴が発見されました。一部のユーザーは定期購入を行っており、定期購入をキャンセルして、自動定期購入を再度有効にしています。このようにして、Google はバックエンドに送信される新しい領収書を発行し、私たちは彼らにもう1年与えると、これは領収書に記載された期間だけを与えることで簡単に解決されます

しかしその後、ユーザーはアプリ用に別のアカウントで同じ Google アカウントを使用し始め、生成された領収書によって全員に無料のサブスクリプションを提供しました

ここで API を読みましたが、このレシートが新しいサブスクリプションではなく再アクティベーションであることを示すフィールドが見つかりません https://developers.google.com/android-publisher/api-ref/purchases/サブスクリプション

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
}

この情報を教えてくれるフィールドはありません

私は何かを逃していますか?これを検証する別の方法はありますか?

4

1 に答える 1