Skip to content

Steam payment

'Steam payment' is a feature for purchasing in-app products through the Steam platform, verifying receipts, and then delivering the products to users. It supports single-item purchases of consumable products. Due to Steam platform policy, multi-item purchases and subscription payments are not supported.

Check the payment flow

First, install and initialize the payment module, and then create a login session so users can make payments. After that, the Steam payment flow is as follows.

Order Step Actor Description
1 Set up the integration App client Get a Publisher Web API Key from the Steam console, register it in the Hive Console, and install the Steam payment plugin.
2 Get the Steam product list App client FetchSteamProductsAsync() internally performs Steam account linking verification, GetUserInfo, and block checks, and then returns the product list based on the user's currency.
3 Purchase a product App client Call Steam InitTxn with InitiatePurchaseAsync(), keep the AES-sealed AxylReceipt and the order information from the response, and then wait for the user's approval in the Steam Overlay. Right after the approval, call QueryTxn with RecordStorePurchaseAsync() to confirm the approval and change the order status from 0 to 1.
4 Verify receipts and process the actual charge App client, app server The app client sends AxylReceipt to the app server, and the app server verifies the receipt with the Hive Axyl Server API. For Steam, the actual charge occurs in FinalizeTxn after the QueryTxn recheck in this verification step.
5 Deliver products and finalize App server, app client After the app server delivers the product to the user, the app client closes the order with FinalizePurchaseAsync(). This call only changes the status from 1 to 2 and makes no additional charge. ItemResultAsync() records the delivery result.

Next steps

Set up the Steam payment integration.