Inventory - Purchase Inventory Items
Purchase an item or bundle. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is uncapped.
POST https://titleId.playfabapi.com/Inventory/PurchaseInventoryItems
Request Header
| Name | Required | Type | Description |
|---|---|---|---|
| X-EntityToken | True |
string |
This API requires an Entity Session Token, available from the Entity GetEntityToken method. |
Request Body
| Name | Required | Type | Description |
|---|---|---|---|
| DeleteEmptyStacks | True |
boolean |
Indicates whether stacks reduced to an amount of 0 during the request should be deleted from the inventory. (Default=false) |
| Amount |
number |
The amount to purchase. |
|
| CollectionId |
string |
The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is unlimited. |
|
| CustomTags |
object |
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). |
|
| DurationInSeconds |
number |
The duration to purchase. |
|
| ETag |
string |
ETags are used for concurrency checking when updating resources. More information about using ETags can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags |
|
| Entity |
The entity to perform this action on. |
||
| IdempotencyId |
string |
The Idempotency ID for this request. Idempotency IDs can be used to prevent operation replay in the medium term but will be garbage collected eventually. |
|
| Item |
The inventory item the request applies to. |
||
| NewStackValues |
The values to apply to a stack newly created by this request. |
||
| PriceAmounts |
The per-item price the item is expected to be purchased at. This must match a value configured in the Catalog or specified Store. |
||
| StoreId |
string |
The id of the Store to purchase the item from. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK | ||
| 400 Bad Request |
This is the outer wrapper for all responses with errors |
Security
X-EntityToken
This API requires an Entity Session Token, available from the Entity GetEntityToken method.
Type:
apiKey
In:
header
Definitions
| Name | Description |
|---|---|
|
Alternate |
|
|
Api |
The basic wrapper around every failed API response |
|
Entity |
Combined entity type and ID structure which uniquely identifies a single entity. |
|
Initial |
|
|
Inventory |
|
|
Purchase |
Purchase a single item or bundle, paying the associated price. |
|
Purchase |
|
|
Purchase |
AlternateId
| Name | Type | Description |
|---|---|---|
| Type |
string |
Type of the alternate ID. |
| Value |
string |
Value of the alternate ID. |
ApiErrorWrapper
The basic wrapper around every failed API response
| Name | Type | Description |
|---|---|---|
| code |
integer |
Numerical HTTP code |
| error |
string |
Playfab error code |
| errorCode |
integer |
Numerical PlayFab error code |
| errorDetails |
object |
Detailed description of individual issues with the request object |
| errorMessage |
string |
Description for the PlayFab errorCode |
| status |
string |
String HTTP code |
EntityKey
Combined entity type and ID structure which uniquely identifies a single entity.
| Name | Type | Description |
|---|---|---|
| Id |
string |
Unique ID of the entity. |
| Type |
string |
Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types |
InitialValues
| Name | Type | Description |
|---|---|---|
| DisplayProperties |
object |
Game specific properties for display purposes. The Display Properties field has a 1000 byte limit. |
InventoryItemReference
| Name | Type | Description |
|---|---|---|
| AlternateId |
The inventory item alternate id the request applies to. |
|
| Id |
string |
The inventory item id the request applies to. |
| StackId |
string |
The inventory stack id the request should redeem to. (Default="default") |
PurchaseInventoryItemsRequest
Purchase a single item or bundle, paying the associated price.
| Name | Type | Description |
|---|---|---|
| Amount |
number |
The amount to purchase. |
| CollectionId |
string |
The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is unlimited. |
| CustomTags |
object |
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). |
| DeleteEmptyStacks |
boolean |
Indicates whether stacks reduced to an amount of 0 during the request should be deleted from the inventory. (Default=false) |
| DurationInSeconds |
number |
The duration to purchase. |
| ETag |
string |
ETags are used for concurrency checking when updating resources. More information about using ETags can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags |
| Entity |
The entity to perform this action on. |
|
| IdempotencyId |
string |
The Idempotency ID for this request. Idempotency IDs can be used to prevent operation replay in the medium term but will be garbage collected eventually. |
| Item |
The inventory item the request applies to. |
|
| NewStackValues |
The values to apply to a stack newly created by this request. |
|
| PriceAmounts |
The per-item price the item is expected to be purchased at. This must match a value configured in the Catalog or specified Store. |
|
| StoreId |
string |
The id of the Store to purchase the item from. |
PurchaseInventoryItemsResponse
| Name | Type | Description |
|---|---|---|
| ETag |
string |
ETags are used for concurrency checking when updating resources. More information about using ETags can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags |
| IdempotencyId |
string |
The idempotency id used in the request. |
| TransactionIds |
string[] |
The ids of transactions that occurred as a result of the request. |
PurchasePriceAmount
| Name | Type | Description |
|---|---|---|
| Amount |
number |
The amount of the inventory item to use in the purchase . |
| ItemId |
string |
The inventory item id to use in the purchase . |
| StackId |
string |
The inventory stack id the to use in the purchase. Set to "default" by default |
Error Codes
| Name | Code |
|---|---|
| DatabaseThroughputExceeded | 1113 |
| InsufficientFunds | 1059 |
| InvalidCatalogItemConfiguration | 4015 |
| ItemNotFound | 1047 |
| PreconditionFailed | 1610 |