Master Data Reference of GS2-Money2

Reference of the format of master data and various models to be imported
{
  "version": "2024-06-20",
  "storeContentModels": [
    {
      "name": "[string]Store Content Model Name",
      "metadata": "[string?]Metadata",
      "appleAppStore": {
        "productId": "[string?]Product ID"
      },
      "googlePlay": {
        "productId": "[string?]Product ID"
      }
    }
  ],
  "storeSubscriptionContentModels": [
    {
      "name": "[string]Subscription Store Content Model Name",
      "metadata": "[string?]Metadata",
      "scheduleNamespaceId": "[string]Namespace GRN of GS2-Schedule to link the subscription period",
      "triggerName": "[string]Trigger Name to reflect the subscription period",
      "triggerExtendMode": "[string]Mode to reflect the subscription period on the trigger",
      "rollupHour": "[int]Hour of the day to roll up the subscription period (UTC)",
      "reallocateSpanDays": "[int]Time span (days) that allows subscription contract information to be assigned to other users",
      "appleAppStore": {
        "subscriptionGroupIdentifier": "[string?]Subscription Group ID"
      },
      "googlePlay": {
        "productId": "[string?]Product ID"
      }
    }
  ]
}
TypeConditionRequireDefaultLimitationDescription
version2024-06-20Format version of master data
storeContentModelsList<StoreContentModel>~ 1000 itemsContent of the store platform
storeSubscriptionContentModelsList<StoreSubscriptionContentModel>~ 1000 itemsStore platform subscription content

StoreContentModel

Content of the store platform

TypeConditionRequireDefaultLimitationDescription
storeContentModelIdstring~ 1024 charsContent Model GRN
namestring~ 128 charsStore Content Model Name
metadatastring~ 1024 charsMetadata
appleAppStoreAppleAppStoreContentApple AppStore Content
googlePlayGooglePlayContentGoogle Play Content

StoreSubscriptionContentModel

Store platform subscription content

TypeConditionRequireDefaultLimitationDescription
storeSubscriptionContentModelIdstring~ 1024 charsSubscription Content Model GRN
namestring~ 128 charsSubscription Store Content Model Name
metadatastring~ 1024 charsMetadata
scheduleNamespaceIdstring~ 1024 charsNamespace GRN of GS2-Schedule to link the subscription period
triggerNamestring~ 128 charsTrigger Name to reflect the subscription period
triggerExtendModeenum {
    “just”,
    “rollupHour”
}
“just”~ 128 charsMode to reflect the subscription period on the trigger
rollupHourint{triggerExtendMode} == “rollupHour”0~ 23Hour of the day to roll up the subscription period (UTC)
reallocateSpanDaysint30~ 365Time span (days) that allows subscription contract information to be assigned to other users
appleAppStoreAppleAppStoreSubscriptionContentApple AppStore Content
googlePlayGooglePlaySubscriptionContentGoogle Play Content

Enumeration type definition to specify as triggerExtendMode

Enumerator String DefinitionDescription
justReflect the subscription period as it is
rollupHourExtend the subscription period to the next day crossing time

Receipt

Receipt of store platform

TypeConditionRequireDefaultLimitationDescription
Storeenum {
    “AppleAppStore”,
    “GooglePlay”,
    “fake”
}
~ 128 charsStore
TransactionIDstring~ 1024 charsTransaction ID
Payloadstring~ 1048576 charsPayload

Enumeration type definition to specify as Store

Enumerator String DefinitionDescription
AppleAppStoreApple App Store
GooglePlayGoogle Play
fakeFake

PlatformSetting

Platform Setting

TypeConditionRequireDefaultLimitationDescription
appleAppStoreAppleAppStoreSettingApple AppStore Setting
googlePlayGooglePlaySettingGoogle Play Setting
fakeFakeSettingFake(Unity Editor) Setting

AppleAppStoreSetting

Apple AppStore Setting

TypeConditionRequireDefaultLimitationDescription
bundleIdstring~ 1024 charsApple AppStore Bundle ID
sharedSecretKeystring~ 1024 charsShared secret key used to encrypt the receipt issued by AppStore Connect
issuerIdstring~ 1024 charsIssuer ID of in-app purchases registered with AppStore Connect
keyIdstring~ 1024 charsKey ID registered with Apple
privateKeyPemstring~ 10240 charsPrivate Key received from Apple

GooglePlaySetting

Google Play Setting

TypeConditionRequireDefaultLimitationDescription
packageNamestring~ 5120 charsPackage Name to be distributed on Google Play
publicKeystring~ 5120 charsPublic key used for signature verification

FakeSetting

Fake Setting for Debug

TypeConditionRequireDefaultLimitationDescription
acceptFakeReceiptenum {
    “Accept”,
    “Reject”
}
“Reject”~ 128 charsAble to make a payment with a fake receipt output by UnityEditor

Enumeration type definition to specify as acceptFakeReceipt

Enumerator String DefinitionDescription
AcceptAccept
RejectReject

WalletSummary

Wallet Status

TypeConditionRequireDefaultLimitationDescription
paidint0~ 2147483646Count of Paid
freeint0~ 2147483646Count of Free
totalint0~ 2147483646Count of Total

DepositTransaction

Deposit Transaction

TypeConditionRequireDefaultLimitationDescription
pricedouble~ 100000000.0Purchase Price
currencystring{price} > 0~ 8 charsCurrency Code
countint~ 2147483646Count
depositedAtlongDeposit Date (Unix time unit:milliseconds)

VerifyReceiptEvent

Verify Receipt Event

TypeConditionRequireDefaultLimitationDescription
contentNamestring~ 128 charsStore Content Model Name
platformenum {
    “AppleAppStore”,
    “GooglePlay”,
    “fake”
}
~ 128 charsStore Platform
appleAppStoreVerifyReceiptEventAppleAppStoreVerifyReceiptEventApple AppStore Verify Receipt Event
googlePlayVerifyReceiptEventGooglePlayVerifyReceiptEventGoogle Play Verify Receipt Event

Enumeration type definition to specify as platform

Enumerator String DefinitionDescription
AppleAppStoreApple AppStore
GooglePlayGoogle Play
fakeFake

DepositEvent

Deposit Event

TypeConditionRequireDefaultLimitationDescription
slotint~ 100000000Slot Number
depositTransactionsList<DepositTransaction>[]~ 1000 itemsList of deposit transactions
statusWalletSummaryWallet Status

WithdrawEvent

Withdraw Event

TypeConditionRequireDefaultLimitationDescription
slotint~ 100000000Slot Number
withdrawDetailsList<DepositTransaction>[]~ 1000 itemsList of details of the withdrawn wallet
statusWalletSummaryWallet Status

RefundEvent

Refund Event

TypeConditionRequireDefaultLimitationDescription
contentNamestring~ 128 charsStore Content Model Name
platformenum {
    “AppleAppStore”,
    “GooglePlay”,
    “fake”
}
~ 128 charsStore Platform
appleAppStoreRefundEventAppleAppStoreVerifyReceiptEventApple AppStore Verify Receipt Event
googlePlayRefundEventGooglePlayVerifyReceiptEventGoogle Play Verify Receipt Event

Enumeration type definition to specify as platform

Enumerator String DefinitionDescription
AppleAppStoreApple AppStore
GooglePlayGoogle Play
fakeFake

AppleAppStoreVerifyReceiptEvent

Apple AppStore Receipt

TypeConditionRequireDefaultLimitationDescription
environmentenum {
    “sandbox”,
    “production”
}
~ 128 charsEnvironment

Enumeration type definition to specify as environment

Enumerator String DefinitionDescription
sandboxSandbox
productionProduction

GooglePlayVerifyReceiptEvent

Google Play Receipt Verification Event

TypeConditionRequireDefaultLimitationDescription
purchaseTokenstring~ 4096 charsPurchase Token

AppleAppStoreContent

Content of Apple AppStore

TypeConditionRequireDefaultLimitationDescription
productIdstring~ 1024 charsProduct ID

GooglePlayContent

Content of Google Play

TypeConditionRequireDefaultLimitationDescription
productIdstring~ 1024 charsProduct ID

AppleAppStoreSubscriptionContent

Subscription content of Apple AppStore

TypeConditionRequireDefaultLimitationDescription
subscriptionGroupIdentifierstring~ 64 charsSubscription Group ID

GooglePlaySubscriptionContent

Google Play Subscription Content

TypeConditionRequireDefaultLimitationDescription
productIdstring~ 1024 charsProduct ID

GooglePlayRealtimeNotificationMessage

RTDN Message

TypeConditionRequireDefaultLimitationDescription
datastring~ 1048576 charsData
messageIdstring~ 1024 charsMessage ID
publishTimestring~ 1024 charsPublish Time