Manage subscriptions
Subscriptions are in beta. The API, payload shapes, and this Developer Console UI may change.
Jest allows you to sell recurring subscriptions to your game using the payments SDK methods. Subscriptions are a good fit for ad removal, premium tiers, or recurring access to additional content.
Subscriptions are configured in the Developer Console and then retrieved in your game using JestSDK.payments.getSubscriptions().
To manage subscriptions, open the Developer Console and navigate to:
Games > Manage Game > Subscriptions
How subscriptions work
Each subscription represents an ongoing entitlement granted to a player's wallet for as long as billing succeeds.
You define:
- SKU – A unique identifier used in your game code.
- Name – The display name shown during checkout and in your game's UI.
- Description (optional) – A short description shown during checkout.
- Price – The recurring cost in USD.
- Billing period – How often the player is billed (currently monthly).
When your game calls:
getSubscriptions()– The configured subscriptions are returned, each annotated with the player's current entitlement status (activeorinactive).beginSubscription({ subscriptionSku })– The player can subscribe to a specific SKU.
For details on the full subscription lifecycle (checkout, entitlement, recovery) and signed-token verification, see the Subscriptions SDK documentation.
Add a subscription
To create a new subscription:
- Click Create Subscription.
- Enter:
- SKU (required)
- Name (required)
- Price in USD (required)
- Billing period (required) – currently monthly
- Description (optional)
- Click Create Subscription.
The SKU cannot be changed after creation. If you need to modify a SKU, archive the existing subscription and create a new one.
Edit a subscription
To update a subscription:
- Click Edit next to the subscription.
- Update the name or description.
- Save your changes.
Price and billing-period changes are not applied to existing subscribers. To change pricing, archive the existing subscription and create a new one at the new price; existing subscribers continue to be billed at the price they signed up for until they cancel or it expires.
Archive a subscription
To remove a subscription from sale:
- Click Archive next to the subscription.
Archived subscriptions:
- Are no longer returned by
getSubscriptions()to players who do not currently have an active entitlement for them. - Cannot be newly subscribed to.
- Continue to be returned (with
status: "active") to existing subscribers until their entitlement expires, so your game can keep honoring the entitlement they paid for.
If your game attempts to start checkout for an archived or invalid SKU, beginSubscription will return an invalid_subscription error. See the Subscriptions SDK documentation for error details.
Testing subscriptions
When using a sandbox user, the player still has to complete the Stripe checkout flow, but the order total is $0 and no real charge is made. Once checkout is completed, the entitlement behaves as if the player had subscribed normally, so you can test both the subscribed and unsubscribed flows end-to-end without making real payments.
Guests cannot subscribe. If your game targets the beginSubscription call at a guest player, the SDK returns a guest_not_allowed error — prompt the player to register first.
See Subscriptions for details on entitlement recovery and best practices.