Steam provides world class support for in game purchases, whether that is items, in-game currency, or anything else that you can think up, you can use the Steam Microtransaction APIs to provide customers with more choices.
If you are working to bring your title with in-game purchases to Steam, we've got a few suggestions, best practices, and resources to help you get started. Whether you have a Free to Play game, or a game that is purchased upfront, there are common elements with any game that has in-game purchases that are useful to consider when working toward your launch on Steam.
In-Game Purchase Requirements
For any in-game purchases, you'll need to use the microtransaction API so Steam customers can only make purchases from the Steam Wallet. You can learn more about how to complete this integration in the 小额交易实现指南
You can use the Steam Wallet to purchase individual items or to purchase your in-game currency.
You run a risk of fraud any time you offer something of value that can be purchased. For your in-game store, Steam is providing services as a payment processor – Steam makes some basic fraud checks, but the context in which a user makes a purchase in your game is something that only your game servers can understand.
Your game is especially vulnerable if the in-game purchases are part of an economy where virtual goods and services can be traded or gifted. Users can make fraudulent purchases and trade/move the virtual goods to other accounts (owned by the fraudulent user, or injected into legitimate users via the economy). If fraud is allowed to run rampant and unchecked, it can devalue the items in the economy or create game imbalance that ruins the gameplay experience of legitimate users.
Typical forms of fraud involve a user purchasing high-value items and currency (usually with a stolen payment method such as a credit card) and then either trading/selling those items to another account, or attempting to sell their entire account to another user.
Your team will need to find a balance within your economy that blocks bad users, yet does not impact your legitimate users. Here are some general suggestions as starting points for basic protection against easy forms of fraud.
- Use in-game knowledge of a user’s history to limit actions that can contribute to fraud. For example, if you know the player is really new, then it’s generally a good idea to limit purchase of high-value items or currency. It’s unlikely that a brand-new legitimate user is interested in buying $200 worth of items or currency. To accomplish this, it’s useful to incorporate a number of points of data about the user.
- Has the user leveled up in your game to some minimum level?
- Has the user made past purchases? Does their behavior look legitimate?
- What are typical average purchase amounts across your game for a month? Is this transaction suspiciously far outside that range?
- How many transactions do your typical paying customers make in a month? Is this user making a suspiciously large number of transactions?
- Does this user have a history of trading that looks legitimate?
- Use Steam’s knowledge of a user’s history to inform your concern about a specific transaction or user. You can get information from Steam to help you determine what actions a user should be allowed to perform. Call GetUserInfo() in the ISteamMicroTxn API to get information about the user.(Documented Here) Three main responses may be useful in determining how much you trust the user:
- Country – returns the country where the user is connecting from to make their purchase. By itself it isn’t very informative, but can be useful in conjunction with Currency.
- Currency- returns the currency code of the user’s Steam Wallet. Commonly, this is used to determine what pricing information should be displayed to the user, but by checking the currency against the country where the request is coming from, you can see whether the currency matches what is expected for a user from that country. This doesn’t necessarily indicate fraud--users can login and make purchases while traveling, but performing this check gives you more information when looking for patterns in fraudulent activity.
- Status – returns either ‘Active’ or ‘Trusted’. A Trusted account has a known good purchase history on Steam over the course of several months without any chargebacks on the account. It is important to note, however, that trusted accounts may still be hacked or ‘baked’. Generally, a ‘Trusted’ account has fewer restrictions than an ‘Active’ account.
- Catching fraudulent transactions before they can impact the economy is important. Once a purchase is made that your system is not fully confident of, you can prevent trading or gifting of the items for a certain amount of time to allow for chargebacks to be reported.
- Don't display a product key for in-game purchases that could be harvested for another account. There are Steam APIs for granting packages or unlocking content without needing to display a key to customers that can potentially be duplicated.
Do you have your own account system? If so, we strongly encourage you to use Steamworks API to automatically create or link the Steam customer's account with your system, rather than requiring the customer to manually create an account through your game or website. Creating a new account through another service can be a huge hurdle for some customers, and can significantly impact your potential audience.
Linking a user’s Steam account to your own system can be done by retrieving and verifying a user’s SteamID, which is a unique identifier for a Steam account.
For more information on account linking, please see the "Account Linking" section in the 用户验证与所有权
Considerations for in-game economies and best practices
Steamworks provides a variety of opportunities to integrate microtransactions and in-game economies. There are a few things to consider on the topic.
Watch Kyle Davis’s presentation from Steam Dev Days for more detailed information.https://www.youtube.com/watch?v=RHC-uGDbu7s
Use your in-game economy to improve your product and make customers happier, not as a means to extract revenue from unhappy customers. Artificial barriers to progress and virtual currencies that obfuscate value tend to make customers regret their purchases over the long term. If you’re viewing in-game transactions as an opportunity to halt your customer’s enjoyment to ask for money, they’ll be inclined to abandon the product over time. Paying money to eliminate frustration is not a sustainable business model, and the marketplace is competitive enough that customers have lots of better alternatives for their time and money.
Build systems wherein customer purchases make your game better for other customers. Many free to play products, especially multiplayer games, rely on systems where the more money one player spends, the worse the game gets for the other players. Avoid building systems where players have the ability to negatively impact other players’ experiences, and focus instead on products and items that create positive externalities within your game. We cite specific examples in the Steam Dev Days presentation, but a good starting point is a product designed around a simple concept: "I celebrate when the player next to me makes a purchase." This is feasible for games of all genres and styles, and we encourage you to run experiments around such products in your own games.
Allow your users to create value for one another. The Steam Workshop is a set of tools that allows your customers to create content and value for one another. Customers can create models, maps, mods, or other valuable components for your game. Depending on your product and your goals, you can choose between a free or monetized workshop. In either case, the creativity and passion of your customers can greatly expand the value of your product and provide you with a great source of additional content. Check out the Steam Workshop documentation and Steamworks Developer Discussions for more information about the Steam Workshop.
Overall, being a slave to metrics like revenue per day or per user can drive short-term decisions that harm your players and the longevity of your product. Watch the full Steam Dev Days talk above for specific examples and additional insights.
Getting The Most From Updates
Updates are an important part of your product's lifecycle and a critical form of communication with customers. You'll need to make updates to fix bugs and address issues, but major updates are also a huge opportunity to add new content, new modes of play, or new features to help keep customers engaged and attract new audiences.
Check out 营销最佳实践
documentation for suggestions and best practices around getting the most from your product updates.