Game-currency data types
This page contains the current public game-currency contract. Player-wallet top-up types are documented beside complete exchanges in Player balance top-up.
Game-currency types
GameCurrencyOffer
| Field | Type | Description |
|---|---|---|
id | ID! | Offer identifier |
sku | String! | Offer code |
name | String! | Localized name |
description | String! | Localized description |
shortName | String! | Short currency name |
iconReference | String! | Artwork reference |
message | String! | Delivery message |
deliveryType | GameCurrencyDeliveryType! | Delivery type |
unitsPerPurchase | Int! | Units in one package |
unitPrice | GameCurrencyMoney! | Package price |
GameCurrencyMoney
| Field | Type | Description |
|---|---|---|
units | String! | Atomic integer value |
code | String! | Currency code |
scale | Int! | Precision |
decimal | String! | Ready-to-display decimal value |
A zero-total purchase is confirmed without payment: paymentId is null and paymentStatus is NOT_REQUIRED. The order progresses through CONFIRMED, FULFILLING and FULFILLED; confirmation does not yet mean delivery is complete.
GameCurrencyQuote
| Field | Type | Description |
|---|---|---|
id | ID! | Calculation identifier |
offer | GameCurrencyOffer! | Offer snapshot |
quantity | Int! | Package count |
deliveredUnits | Int! | Total delivery |
unitAmount | GameCurrencyMoney! | Package price |
subtotal | GameCurrencyMoney! | Amount before discounts |
adjustments | [GameCurrencyPriceAdjustment!]! | Price adjustments |
total | GameCurrencyMoney! | Amount to pay |
hasSavings | Boolean! | Whether a discount applies |
delivery | GameCurrencyDeliveryTarget! | Recipient |
expiresAt | DateTime! | Expiration |
GameCurrencyPriceAdjustment
| Field | Type | Description |
|---|---|---|
code | String! | Adjustment code |
kind | GameCurrencyPriceAdjustmentKind! | DISCOUNT or SURCHARGE |
source | GameCurrencyPriceAdjustmentSource! | Rule source |
amount | GameCurrencyMoney! | Adjustment amount |
GameCurrencyDeliveryTarget
| Field | Type | Description |
|---|---|---|
type | GameCurrencyDeliveryTargetType! | CHARACTER or GAME_ACCOUNT |
accountName | String | Game account or null for guest character delivery |
characterName | String | Character or null |
GameCurrencyPurchase
| Field | Type | Description |
|---|---|---|
orderId | ID! | Order |
quoteId | ID! | Used calculation |
orderStatus | GameCurrencyOrderStatus! | Order state |
paymentId | ID | Wallet payment |
paymentStatus | GameCurrencyPaymentStatus! | Debit state |
total | GameCurrencyMoney! | Order total |
createdAt | DateTime! | Creation time |
StorefrontMoney
| Field | Type | Description |
|---|---|---|
units | String! | Atomic integer value |
decimal | String! | Ready-to-display decimal value |
currencyCode | String! | Currency code |
currencyScale | Int! | Currency precision |
StorefrontExternalPaymentPreparation
| Field | Type | Description |
|---|---|---|
orderId | ID! | Order awaiting external payment |
quoteId | ID! | Purchase calculation |
orderStatus | StorefrontOrderStatus! | Order state |
intent | StorefrontExternalPaymentIntent! | Payment intent |
methods | [StorefrontExternalPaymentMethod!]! | Eligible methods and calculations |
StorefrontExternalPaymentMethod
| Field | Type | Description |
|---|---|---|
id | ID! | Method-profile identifier |
code | String! | Method code |
name | String! | Display name |
iconAssetId | String | Registered icon or null |
paymentQuote | StorefrontExternalPaymentQuote! | Amount, fee, and expiration |
StorefrontExternalPaymentQuote
| Field | Type | Description |
|---|---|---|
id | ID! | Selected-method calculation |
paymentAmount | StorefrontMoney! | Amount in payment currency |
destinationAmount | StorefrontMoney! | Order amount |
payerFee | StorefrontMoney! | Payer fee |
expiresAt | DateTime! | Expiration |
StorefrontExternalPaymentExecution
| Field | Type | Description |
|---|---|---|
orderId | ID! | Order |
quoteId | ID! | Purchase calculation |
orderStatus | StorefrontOrderStatus! | Order state |
intent | StorefrontExternalPaymentIntent! | Intent state |
attempt | StorefrontExternalPaymentAttempt! | Current attempt |
action | StorefrontExternalPaymentAction | Client action or null |
StorefrontExternalPaymentIntent and StorefrontExternalPaymentAttempt contain an id, typed status, and expiresAt. StorefrontExternalPaymentAction contains kind, expiresAt, and exactly one applicable representation: redirect, formPost, qrCode, deepLink, or wait.
Game-currency enums
| Enum | Values |
|---|---|
GameCurrencyDeliveryType | CHARACTER_ITEM, ACCOUNT_POINTS |
GameCurrencyDeliveryTargetType | CHARACTER, GAME_ACCOUNT |
GameCurrencyPriceAdjustmentKind | DISCOUNT, SURCHARGE |
GameCurrencyPriceAdjustmentSource | CATALOG_SALE, REFERRAL, VIP, CAMPAIGN |
GameCurrencyOrderStatus | CONFIRMED, PENDING_PAYMENT, PAID, FULFILLING, FULFILLED, CANCELLED |
GameCurrencyPaymentStatus | NOT_REQUIRED, DEBIT_PENDING, PAID, REVERSAL_PENDING, REVERSED, REQUIRES_REVIEW |
StorefrontOrderStatus | CONFIRMED, PENDING_PAYMENT, PAID, FULFILLING, FULFILLED, CANCELLED |
StorefrontExternalPaymentIntentStatus | OPEN, PROCESSING, SETTLED, CANCELLED, EXPIRED |
StorefrontExternalPaymentAttemptStatus | CREATED, REQUIRES_CUSTOMER_ACTION, PENDING_PROVIDER, AUTHORIZED, CAPTURED, DECLINED, CANCELLED, EXPIRED, REVIEW_REQUIRED |
StorefrontExternalPaymentActionKind | REDIRECT, FORM_POST, QR_CODE, DEEP_LINK, WAIT |
PrepareGameCurrencyPurchaseInput
| Field | Type | Required | Description |
|---|---|---|---|
requestId | ID! | yes | UUIDv7 preparation key |
offerId | ID! | yes | Offer |
quantity | Int! | yes | From 1 to 1,000,000 |
accountName | String! | yes | Account owned by the player |
characterName | String | no | Required for character delivery |
PurchaseGameCurrencyInput
| Field | Type | Required | Description |
|---|---|---|---|
orderRequestId | ID! | yes | UUIDv7 order key |
paymentRequestId | ID! | yes | UUIDv7 debit key |
quoteId | ID! | yes | Active calculation |
PrepareGuestGameCurrencyPurchaseInput
| Field | Type | Required | Description |
|---|---|---|---|
gameServerId | Int! | yes | Selected game server |
requestId | ID! | yes | Calculation UUIDv7 |
offerId | ID! | yes | Guest CHARACTER_ITEM offer |
quantity | Int! | yes | Package count from 1 to 1,000,000 |
characterName | String! | yes | Recipient character |
payerEmail | String! | yes | Payer email |
PrepareGuestGameCurrencyCheckoutInput
| Field | Type | Required | Description |
|---|---|---|---|
gameServerId | Int! | yes | Calculation game server |
orderRequestId | ID! | yes | Order UUIDv7 |
paymentRequestId | ID! | yes | Payment-preparation UUIDv7 |
quoteId | ID! | yes | Purchase calculation |
characterName | String! | yes | The same character |
payerEmail | String! | yes | The same email |
payerCountry | String | no | Two-letter country code |
ExecuteGuestGameCurrencyCheckoutInput
| Field | Type | Required | Description |
|---|---|---|---|
gameServerId | Int! | yes | Order game server |
requestId | ID! | yes | Start or retry UUIDv7 |
orderId | ID! | yes | Prepared order |
quoteId | ID! | yes | Purchase calculation |
characterName | String! | yes | Verified character |
payerEmail | String! | yes | Payer email |
methodProfileId | ID! | yes | Selected method |
paymentQuoteId | ID! | yes | Active method calculation |