Overview
Processes the purchase of a store item using virtual currencies or in-app purchase identifiers.
Client
Require permission rules storeInventory.buyStoreItem.selfEnable. See PermissionRules
HTTP
POST /api/rJson/storeInventory/client/buyStoreItem
Request Headers
| Name | Required | Description |
|---|---|---|
| Auth-Token | true | A token used to authenticate the user. It is issued after successful login from the client type authenticate (e.g., loginByAccount, loginWithCustomId, etc.) or when an admin logs in via the GearN Dashboard. This token identifies the request sender and determines their access level. |
| Secret-Key | true | The SecretKey in SecretInfo with role must is Player. |
| Game-Id | Optional if the gameId in the SecretInfo use in headers Secret-Key has assign a valid value, if not, let unique identifier of the game this request is targeting. | |
| Content-Type | true | application/json |
Request Body
| Code | Type | Required | Description |
|---|---|---|---|
| storeId | string | true | Unique identifier of the store item. (10 - 32 characters) |
| id | string | true | The unique identifier of the in-game item associated with the store entry. (10 - 11 characters) |
| type | number int | true | Specifies the item type (e.g., virtual, consumable, bundle) to determine store behavior. |
| log | string | Optional message for audit logs or contextual information during the transaction. (1 - 256 characters) |
Server
Require permission rules storeInventory.buyStoreItem.serverSelfEnable. See PermissionRules
HTTP
POST /api/rJson/storeInventory/server/buyStoreItem
Request Headers
| Name | Required | Description |
|---|---|---|
| Secret-Key | true | The SecretKey in SecretInfo with role must is Server. |
| Game-Id | Optional if the gameId in the SecretInfo use in headers Secret-Key has assign a valid value, if not, let unique identifier of the game this request is targeting. | |
| Content-Type | true | application/json |
Request Body
| Code | Type | Required | Description |
|---|---|---|---|
| storeId | string | true | Unique identifier of the store item. (10 - 32 characters) |
| id | string | true | The unique identifier of the in-game item associated with the store entry. (10 - 11 characters) |
| type | number int | true | Specifies the item type (e.g., virtual, consumable, bundle) to determine store behavior. |
| log | string | Optional message for audit logs or contextual information during the transaction. (1 - 256 characters) |
Admin
Require permission rules storeInventory.buyStoreItem.adminSelfEnable. See PermissionRules
HTTP
POST /api/rJson/storeInventory/admin/buyStoreItem
Request Headers
| Name | Required | Description |
|---|---|---|
| Secret-Key | true | The SecretKey in SecretInfo with role must is Admin. |
| Game-Id | Optional if the gameId in the SecretInfo use in headers Secret-Key has assign a valid value, if not, let unique identifier of the game this request is targeting. | |
| Content-Type | true | application/json |
Request Body
| Code | Type | Required | Description |
|---|---|---|---|
| storeId | string | true | Unique identifier of the store item. (10 - 32 characters) |
| id | string | true | The unique identifier of the in-game item associated with the store entry. (10 - 11 characters) |
| type | number int | true | Specifies the item type (e.g., virtual, consumable, bundle) to determine store behavior. |
| log | string | Optional message for audit logs or contextual information during the transaction. (1 - 256 characters) |
Response Body
200 Ok
| Code | Type | Required | Description |
|---|---|---|---|
| returnCode | ReturnCode | true | Additional metadata that can be attached to any request. Especially useful when working with advanced features such as EventCallbackScript. See ReturnCode |
| debugMessage | string | A developer-oriented message that provides additional context useful for debugging and internal logging. This field is not intended for end-users and may include stack traces, validation failures, or internal error diagnostics. | |
| invalidRequestParameters | InvalidMember[] | Just had data when the returnCode is InvalidRequestParameters.A list of members that failed validation or could not be processed during the request. Each entry typically includes identifying information and an error reason. This is useful for partial success scenarios where some members are accepted and others are rejected. See InvalidMember | |
| parameters | ResponseData | Just had data when the returnCode is Ok. A dynamic set of key-value pairs included in the response to provide additional context or metadata. These parameters may vary depending on the operation and typically contain optional fields such as timestamps, identifiers, or computed values relevant to the result. See ResponseData |
ReturnCode
| Name | Code | Description |
|---|---|---|
| SecretInvalid | -10 | Secret token is invalid (removed, expired or does not contains). |
| MaxSizeRequestReject | -9 | Request rejected due to exceeding maximum allowed size. |
| MaxRequestReject | -8 | Request rejected because the number of requests has exceeded the allowed limit per user or IP or exceeds the total number of pending requests the server is waiting to process.. |
| MaxCCUReject | -7 | Connection rejected due to exceeding the allowed CCU (Concurrent Users). |
| OperationNotAuthorized | -6 | You are not authorized to perform this operation. Possibly due to missing or invalid token, or insufficient permissions. |
| InvalidRequestParameters | -5 | Request parameters are invalid or missing. |
| OperationInvalid | -4 | The requested operation is invalid or not supported. |
| InternalServerError | -3 | Internal server error. Could be due to an unhandled exception or logic failure. |
| OperationNotAllow | -2 | This operation is not allowed in the current context. |
| OperationTimeout | -1 | The operation timed out. No response received within the expected time. |
| UnknownError | 0 | An unknown error occurred. The cause could not be determined. |
| Ok | 1 | Success. The operation completed successfully and returned a valid result. |
ResponseData
| Code | Type | Required | Description |
|---|---|---|---|
| errorCode | ErrorCode | A string that represents the status of the operation. It indicates whether the request was successful or failed due to a specific error condition. See ErrorCode | |
| storeCurrencies | PriceCurrencyItem[] | StoreCurrencies field in BuyStoreInventoryResponseData. See PriceCurrencyItem | |
| storeCurrencies | PriceCurrencyItem[] | StoreCurrencies field in BuyStoreInventoryResponseData. See PriceCurrencyItem | |
| priceCurrencies | PriceCurrencyItem[] | PriceCurrencies field in BuyStoreInventoryResponseData. See PriceCurrencyItem | |
| infoResponseParameters | OwnerInfoResponseParameters | InfoResponseParameters field in BuyStoreInventoryResponseData. See OwnerInfoResponseParameters |
PriceCurrencyItem
Details a price definition using a virtual currency.
| Code | Type | Required | Description |
|---|---|---|---|
| key | string | true | Key field in PriceCurrencyItem. |
| value | number | true | Value field in PriceCurrencyItem. |
OwnerInfoResponseParameters
Response flags controlling which ownership metadata to include.
| Code | Type | Required | Description |
|---|---|---|---|
| currencies | PriceCurrencyItem[] | Currencies field in OwnerInfoResponseParameters. See PriceCurrencyItem | |
| inventories | OwnerStoreInventoryItem[] | Inventories field in OwnerInfoResponseParameters. See OwnerStoreInventoryItem |
OwnerStoreInventoryItem
Represents a store item owned by a specific player.
| Code | Type | Required | Description |
|---|---|---|---|
| itemId | string | true | Identifier of the in-game item linked to this store item. |
| catalogId | string | true | CatalogId field in OwnerStoreInventoryItem. |
| classId | string | true | ClassId field in OwnerStoreInventoryItem. |
ErrorCode
| Name | Code |
|---|---|
| Ok | 1 |
| StoreItemNotFound | 30 |
| StoreItemHadBeenRemove | 36 |
| StoreItemHadPurchaseAndNonConsumable | 49 |
| CanNotBuyThisStoreItem | 32 |
| BuyerNotFound | 31 |
| NotEnoughCurrency | 8 |
InvalidMember
| Code | Type | Description |
|---|---|---|
| code | string | The parameterCode invalid. |
| invalidMemberType | InvalidMemberType | The invalid member type of this parameterCode. See InvalidMemberType |
InvalidMemberType
| Name | Code | Description |
|---|---|---|
| UnknownError | 1 | An unspecified or unexpected error has occurred. |
| DataRequired | 2 | A required data field is missing or not provided. |
| TypeInvalid | 3 | The data type provided does not match the expected type. |
| StringNull | 4 | A string value is null or has not been assigned. |
| StringMinLength | 5 | The string value is shorter than the minimum required length. |
| StringMaxLength | 6 | The string value exceeds the maximum allowed length. |
| NumberMinValue | 7 | The numeric value is less than the minimum allowed value. |
| NumberMaxValue | 8 | The numeric value exceeds the maximum allowed value. |
| NumberMustInt | 9 | The numeric value must be an integer but is not. |
| GNHashtableNull | 10 | The hashtable object is null or not provided. |
| GNHashtableMinLength | 11 | The hashtable contains fewer entries than the minimum required. |
| GNHashtableMaxLength | 12 | The hashtable contains more entries than the maximum allowed. |
| GNArrayNull | 13 | The array object is null or not provided. |
| GNArrayMinLength | 14 | The array contains fewer elements than the minimum required. |
| GNArrayMaxLength | 15 | The array contains more elements than the maximum allowed. |