In order to plan and operate auto-renewable subscription products (hereinafter referred to as subscription products), we need to understand the development environment of Google and Apple and make sure to proceed accordingly.

Planning subscriptions

Subscriptions are applied according to the market accounts, so the effect of the subscription must remain normal even if the user uses a multi-platform. In addition, for users with multiple game accounts in a single market account, you must establish a policy for subscription ownership. When servicing the first subscription product, we recommend that you start with a single group-single product and expand your subscription after analyzing your user subscription trends.

Multi-platform Application 

  • For users who use both Google and Apple, you need to manage receipts as the same product as the PlayerID in the game.
  • Due to differences in subscription services between Google and Apple, we don’t recommend product configurations that can be upgraded, crossgraded, or downgraded.
    • We recommend that you configure only one product per subscription group
  • Receipt Scheduling
    • Required to check the Google-Apple subscription status
      • Single product: 1 day before expiry ~ for 3 days the day after expiry, once a day

Service ownership policies based on PlayerID 

  • Only applies to the Player ID of the owner of the subscription receipt
    • Subscription receipt owner: 1st subscription receipt (Original_transaction_id, linked_purchase_token)
    • If other playerID attempts to subscribe, check the subscription status through restore and notify that it is not subscribed
      • Example: You cannot subscribe with the current PlayerID as the product is already subscribed with another PlayerID.
        [Currently subscribed PlayerID xxxxxxx/ Game nickname ooooo ]

Restore Button (Requirement)

  • Restoration mechanisms must be in place for all in-app purchases that can be restored according to Apple guidelines (Reference)


Resolving issues during operation

Google Subscription Revoke/ Refund

The subscription results may differ by the setting conditions when processing refunds at “Google Play Console ( > Manage Order”

  • If you only process refund without checking “Revoke”: Only the money for the corresponding round will be refunded, and the expiration date of the subscription will be maintained. The subscription fee for the next round will be automatically paid unless you cancel the subscription.
    • If you only check the refund button and refund it, the product cannot be purchased again. In this case, you need to reactivate the subscription at “Play Store > Regular Payment,” to be automatically paid next month.
  • If you check both refund and revoke: The money for the corresponding round will be refunded. If you authenticate with the receipt you received when you previously purchased the product, the expiration date of the subscription will be changed to the time that the subscription has been revoked. If you Restore, the receipt will NOT be sent to the market and the subscription will be automatically cancelled. In addition, the money for the next round will NOT be automatically paid. You can re-purchase the subscription immediately.

Extending subscription duration arbitrarily

Available via Google Market Console Developer API, but it is not recommended because Apple does not offer this feature

Expanding Services

A variety of promotions are available from the market console to increase and maintain a consistent user subscription rate. Please be aware of the following situations:

  • Free Trial
    • Free trial is available only once for the same product
    • To prevent duplicate free trial experiences, a separate PID for free trials should be generated
      • To prevent cheery pickers from abusing free trials, subscription products that contain free-trials should NOT be exposed to players who have already used their free trial chances based on their game accounts.

Note – Differences between Apple and Google Subscription

We recommend that you keep the same settings considering the differences between Google and Apple markets.  

Google Apple
Group Existence There’s no concept of groups. You can freely upgrade, downgrade and cross-grade. – You can define groups for the subscription product at the market console and change products within the same subscription groups

– Users can subscribe to only one product within one subscription group

Product Change – Calculate at once on the expiration date of the new subscription product based on the remaining time of the previous subscription product and subscription price.

– Send the info of the currently subscribed product in the game and the product to be changed via Hive SDK API

– Upgrade: Calculate the value at once by the remaining period of the old subscription before the expiration date of the new subscription product

– Downgrade: Renew subscription with the new product after the old subscription expires

– Manage at the market console

Subscription Duration Weekly, monthly, 3 months, 6 months, yearly Weekly, monthly, 2 months (Not recommended), 3 months, 5 months, yearly
  • Subscription Duration: Automatically renews based on the first purchase date (date & time)
  • Product Change Example
    • In general, the value of the product should be set in proportion to the price of the product
    • Upgrade: Changing to a product of a higher value than the value of the product you are currently subscribed to
    • Cross-grade: Changing to a product of the same value as the one you are currently subscribed to
    • Downgrade: Changing to a product that is less than the value of the product you are currently subscribed to

  • Check here for the subscription development guide.