GS2-Money2 Transaction Actions
ConsumeAction
Gs2Money2:WithdrawByUserId
Withdraw balance from Wallet by specifying a user ID
Withdraws the specified amount of currency from the wallet for the specified user. If paidOnly is false, free currency is consumed first, then paid currency.
Whether the action allows quantity specification: YES
Whether the action is reversible: YES
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID Set #{userId} to replace the currently logged in user ID. | ||
| slot | int | ✓ | 0 ~ 100000000 | Slot Number Identifies the wallet slot. Different slots can be used to manage currency separately per platform (e.g., one slot for iOS, another for Android) when cross-platform balance sharing is not allowed. | ||
| withdrawCount | int | ✓ | 1 ~ 2147483646 | Quantity of premium currency to be consumed | ||
| paidOnly | bool | false | Only for paid currency | |||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
{
"action": "Gs2Money2:WithdrawByUserId",
"request": {
"namespaceName": "[string]Namespace name",
"userId": "[string]User ID",
"slot": "[int]Slot Number",
"withdrawCount": "[int]Quantity of premium currency to be consumed",
"paidOnly": "[bool]Only for paid currency",
"timeOffsetToken": "[string]Time offset token"
}
}action: Gs2Money2:WithdrawByUserId
request:
namespaceName: "[string]Namespace name"
userId: "[string]User ID"
slot: "[int]Slot Number"
withdrawCount: "[int]Quantity of premium currency to be consumed"
paidOnly: "[bool]Only for paid currency"
timeOffsetToken: "[string]Time offset token"transaction.service("money2").consume.withdraw_by_user_id({
namespaceName="[string]Namespace name",
userId="[string]User ID",
slot="[int]Slot Number",
withdrawCount="[int]Quantity of premium currency to be consumed",
paidOnly="[bool]Only for paid currency",
timeOffsetToken="[string]Time offset token",
})Gs2Money2:VerifyReceiptByUserId
Record receipt as used by specifying a user ID
Verifies a purchase receipt for the specified user and records it as used. An event log is recorded and the verify receipt script configured in the namespace is executed.
Whether the action allows quantity specification: NO
Whether the action is reversible: NO
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID Set #{userId} to replace the currently logged in user ID. | ||
| contentName | string | ✓ | ~ 128 chars | Store Content Model name | ||
| receipt | Receipt | ✓ | Receipt | |||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
{
"action": "Gs2Money2:VerifyReceiptByUserId",
"request": {
"namespaceName": "[string]Namespace name",
"userId": "[string]User ID",
"contentName": "[string]Store Content Model name",
"receipt": {
"Store": "[string]Store",
"TransactionID": "[string]Transaction ID",
"Payload": "[string]Payload"
},
"timeOffsetToken": "[string]Time offset token"
}
}action: Gs2Money2:VerifyReceiptByUserId
request:
namespaceName: "[string]Namespace name"
userId: "[string]User ID"
contentName: "[string]Store Content Model name"
receipt:
Store: "[string]Store"
TransactionID: "[string]Transaction ID"
Payload: "[string]Payload"
timeOffsetToken: "[string]Time offset token"transaction.service("money2").consume.verify_receipt_by_user_id({
namespaceName="[string]Namespace name",
userId="[string]User ID",
contentName="[string]Store Content Model name",
receipt={
store="[string]Store",
transactionID="[string]Transaction ID",
payload="[string]Payload"
},
timeOffsetToken="[string]Time offset token",
})AcquireAction
Gs2Money2:DepositByUserId
Deposit balance to Wallet by specifying a user ID
Adds the specified deposit transactions to the wallet for the specified user. An event log is recorded for each deposit transaction.
Whether the action allows quantity specification: YES
Whether the action is reversible: YES
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID Set #{userId} to replace the currently logged in user ID. | ||
| slot | int | ✓ | 0 ~ 100000000 | Slot Number Identifies the wallet slot. Different slots can be used to manage currency separately per platform (e.g., one slot for iOS, another for Android) when cross-platform balance sharing is not allowed. | ||
| depositTransactions | List<DepositTransaction> | ✓ | 1 ~ 1000 items | List of Deposit transactions | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
{
"action": "Gs2Money2:DepositByUserId",
"request": {
"namespaceName": "[string]Namespace name",
"userId": "[string]User ID",
"slot": "[int]Slot Number",
"depositTransactions": [
{
"price": "[double]Purchase Price",
"currency": "[string]Currency Code",
"count": "[int]Quantity of premium currency",
"depositedAt": "[long]Deposit Date"
}
],
"timeOffsetToken": "[string]Time offset token"
}
}action: Gs2Money2:DepositByUserId
request:
namespaceName: "[string]Namespace name"
userId: "[string]User ID"
slot: "[int]Slot Number"
depositTransactions:
- price: "[double]Purchase Price"
currency: "[string]Currency Code"
count: "[int]Quantity of premium currency"
depositedAt: "[long]Deposit Date"
timeOffsetToken: "[string]Time offset token"transaction.service("money2").acquire.deposit_by_user_id({
namespaceName="[string]Namespace name",
userId="[string]User ID",
slot="[int]Slot Number",
depositTransactions={
{
price="[double]Purchase Price",
currency="[string]Currency Code",
count="[int]Quantity of premium currency",
depositedAt="[long]Deposit Date"
}
},
timeOffsetToken="[string]Time offset token",
})