NOTE: Recurring Subscriptions is not a fully supported feature. It may not be possible to test all configurations fully prior to the release of your game or software.
It is possible to configure recurring subscription billing for a game or software in Steam, though it is not well supported at this time. If you need this in order to distribute your game on Steam, please contact us by submitting a ticket via the Steamworks category, and please be patient. It takes a bunch of manual configuration on Valve's end and may not be possible to test fully prior to the release of your game or software.
In many cases, we urge you to consider whether recurring subscription is really the right path for your product. Many products have set off down this path and discovered that customer appetite for signing up to be billed on a recurring basis is limited and as a result many products have subsequently switched to a traditional single up-front payment method.
Methods For Managing Recurring Subscriptions
Below are three general methods for managing recurring subscriptions on Steam. There are some additional options described further below that can work in conjunction with one or more of these methods.
1. Initiated by Steam store and managed by Steam
Steam just checks if the user has license to launch the app they are trying to launch.General Experience:
- User can choose which subscription to pay for and checks out through Steam cart.
- This package grants the customer a license for the application, so the app is now in the user's Steam Library.
- Steam keeps track of the billing period and renews the subscription at the end of the previous period.
- Developer can extend the license at any time by calling AdjustAgreement.
- The user can change their subscription interval and the next time Steam renews, it would bill at the new level.
- Steam knows if the license has expired and then revokes the license for the user.
- User would no longer be able to launch the app through Steam.
- If the app is doing a Steam ownership check, it would fail too.
This is basically configured as a set of specially-configured packages with prices. Valve needs to configure this. See Setting up Method 1 and 2
below for details.
2. Initiated by Steam store, but managed by game
This is if the game is purchased up front or acquired for free and then needs a subscription to unlock gameplay or specific access within the game.General Experience:
- User should first acquire a license for the game by purchasing the game up front, or clicking to install a free to play game.
- User can then choose which subscription to pay for (monthly, ½ yearly, yearly, etc).
- Developer-operated Service keeps track of when time runs out for their subscription.
- When subscription is expired, Developer-operated Service makes a ISteamMicroTxn/ProcessAgreement Web API call to charge the next period.
- Based on what subscription the user chose when they first signed up, or whatever subscription period they might have switched to in the meantime, the Developer-operated Service adds time to the user’s account.
- User is allowed to change the terms or cancel any time.
This is basically configured as a set of specially-configured packages with prices. But there also needs to be an initial paid or Free package that grants the user a license for the base game. Valve needs to configure this. See Setting up Method 1 and 2
below for details.
Note that if using this method an itemID must be attached to each subscription prior to release in order for purchase to succeed. This itemID is also necessary for the Developer-operated service to understand when the user subscribed and which length of time they signed up for.
3. Entirely in-game managed (Microtransactions)
The game started a recurring billing by invoking an in-game purchase and confirmed by customer through a Steam webpage. This is configured and managed entirely by the game. Please see Recurring In-Game Billing
for details on getting this set up.General Experience:
- The game is typically a free-to-play, but could also work with a standard purchaseable game.
- From within the game, a user would find a purchase option to sign up for a recurring subscription. This would be configured and managed by the developer.
- Developer-operated Service interfaces with Steam to initiate a subscription, with a renewal period/amount defined.
- User must approve through the Steam client.
- Service keeps track of when time runs out for their subscription.
- When subscription is expired, Service make a ProcessAgreement WebAPI call to charge the next period.
- Service is not allowed to charge more than the agreed amount in the period (so if the user agreed to $20 a month, they cannot charge more than $20 each month – but may charge less).
- User is only allowed to cancel this type of subscription.
This is entirely configured and managed from within the game. Please see Recurring In-Game Billing
for details on getting this set up.
In addition to the methods described above, there are some options that may be desirable for your configuration.
Base app can be free
By default for methods 1 and 2 above, the game is generally activated by the customer purchasing a recurring subscription. But it is possible to make the base application free and then unlock additional content based on the recurring subscription.
This may be desirable, for example, if you have a recurring subscription that unlocks premium content or allows access to different servers.
To configure this, the base application is typically marked as free and then a DLC item (and not the base app) is added to the recurring packages. The base application would then need to check for ownership of the DLC item to know whether the user is licensed to access the content or not.
Base app can require up-front purchase
By default for methods 1 and 2 above, the game is generally activated by the customer purchasing a recurring subscription. But it is possible to make the base application available only after an initial purchase and then either unlock additional content based on the recurring subscription, or unlock ongoing access to the game itself based on the recurring subscription.
This may be desirable, for example, if customers may play your game for a few months, take a break, and come back again in the future and you wish for them not to have to re-purchase the full price to get back into the game.
To configure this, the base application needs its own regular package that contains the base application. The recurring packages would then contain just an item of DLC that the base application must check for to know whether the user should have access to the game or additional content.
Subscription can drop or unlock items or currency
With a recurring subscription, it is sometimes desired to be able to unlock additional content or drop certain types of items within the game based on the period of recurring subscription the user has purchased. The main example of this is dropping proportional amounts of currency used in game (eg. 100 gold for 1 month, 300 gold for 3 months, etc.).
This can be done by attaching a unique itemID to each set of recurring packages and then having the game use ISteamMicroTxn/GetReport
Web API to see which and how many itemIDs are returned.
The itemID should be defined by the developer so they know what value they are checking for, but then it must be configured by Valve on the package.
Pricing For Recurring Subscriptions
Consider your approach to pricing carefully. While you can lower recurring pricing over time as necessary, we do not support increasing the price of a recurring subscription.
Setting up Method 1 and 2
These are things that Valve will need to set up for a product that wishes to use recurring billing. This information is provided so that you may understand how your packages are organized.
For each recurring interval option: