> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Money2 スクリプト トリガー リファレンス

拡張スクリプトを呼び出すイベントトリガーのリファレンス



## トリガー

### deposit

ウォレット残高加算
**関連するメソッド:**
depositByUserId - ユーザーIDを指定してウォレットの残高に加算


#### 同期実行スクリプト

ウォレット残高加算処理の前に、スクリプトが同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| oldWallet | [Wallet](../sdk/#wallet) | 加算前のウォレット |
| newWallet | [Wallet](../sdk/#wallet) | 加算後のウォレット |
| transactions | [DepositTransaction[]](../sdk/#deposittransaction) | 発生したトランザクションリスト |
| count | int | 残高の加算量 |

##### Result

|  | 型 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- |
| permit | bool | ✓ |  |  | ウォレット残高加算を許可するか |

##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local oldWallet = args.oldWallet
local newWallet = args.newWallet
local transactions = args.transactions
local count = args.count

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}
```


#### 非同期実行スクリプト

ウォレット残高加算処理の後に、スクリプトが非同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| oldWallet | [Wallet](../sdk/#wallet) | 加算前のウォレット |
| newWallet | [Wallet](../sdk/#wallet) | 加算後のウォレット |
| transactions | [DepositTransaction[]](../sdk/#deposittransaction) | 発生したトランザクションリスト |
| count | int | 残高の加算量 |


##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local oldWallet = args.oldWallet
local newWallet = args.newWallet
local transactions = args.transactions
local count = args.count

-- 非同期スクリプトは通常、API のレスポンスには影響を与えません。
-- ログ出力や分析、外部通知などに使用します。

result = {
}
```


---
  
### withdraw

ウォレット残高消費
**関連するメソッド:**
withdraw - ウォレットから残高を消費


#### 同期実行スクリプト

ウォレット残高消費処理の前に、スクリプトが同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| oldWallet | [Wallet](../sdk/#wallet) | 消費前のウォレット |
| newWallet | [Wallet](../sdk/#wallet) | 消費後のウォレット |
| transactions | [DepositTransaction[]](../sdk/#deposittransaction) | 発生したトランザクションリスト |
| count | int | 残高の消費量 |

##### Result

|  | 型 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- |
| permit | bool | ✓ |  |  | ウォレット残高の消費を許可するか |

##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local oldWallet = args.oldWallet
local newWallet = args.newWallet
local transactions = args.transactions
local count = args.count

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}
```


#### 非同期実行スクリプト

ウォレット残高消費処理の後に、スクリプトが非同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| oldWallet | [Wallet](../sdk/#wallet) | 消費前のウォレット |
| newWallet | [Wallet](../sdk/#wallet) | 消費後のウォレット |
| transactions | [DepositTransaction[]](../sdk/#deposittransaction) | 発生したトランザクションリスト |
| count | int | 残高の消費量 |


##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local oldWallet = args.oldWallet
local newWallet = args.newWallet
local transactions = args.transactions
local count = args.count

-- 非同期スクリプトは通常、API のレスポンスには影響を与えません。
-- ログ出力や分析、外部通知などに使用します。

result = {
}
```


---
  
### subscribe

新規契約
**関連するメソッド:**
allocateSubscriptionStatus - レシートからサブスクリプションの契約状況を割り当て
allocateSubscriptionStatusByUserId - ユーザーIDを指定してレシートからサブスクリプションの契約状況を割り当て


#### 同期実行スクリプト

新規契約処理の前に、スクリプトが同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| contentModel | [StoreSubscriptionContentModel](../sdk/#storesubscriptioncontentmodel) | 期間課金ストアコンテンツモデル |
| transaction | [SubscribeTransaction](../sdk/#subscribetransaction) | 期間課金状態 |
| userId | string | ユーザーID |
| ttlAt | long | GS2-Schedule のトリガーに反映する有効期限 |


##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local contentModel = args.contentModel
local transaction = args.transaction
local userId = args.userId
local ttlAt = args.ttlAt

-- Business logic:

-- Result
result = {
}
```


---
  
### renew

契約更新

#### 同期実行スクリプト

契約更新処理の前に、スクリプトが同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| contentModel | [StoreSubscriptionContentModel](../sdk/#storesubscriptioncontentmodel) | 期間課金ストアコンテンツモデル |
| transaction | [SubscribeTransaction](../sdk/#subscribetransaction) | 期間課金状態 |
| userId | string | ユーザーID |
| ttlAt | long | GS2-Schedule のトリガーに反映する有効期限 |


##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local contentModel = args.contentModel
local transaction = args.transaction
local userId = args.userId
local ttlAt = args.ttlAt

-- Business logic:

-- Result
result = {
}
```


---
  
### unsubscribe

契約解除

#### 同期実行スクリプト

契約解除処理の前に、スクリプトが同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| contentModel | [StoreSubscriptionContentModel](../sdk/#storesubscriptioncontentmodel) | 期間課金ストアコンテンツモデル |
| transaction | [SubscribeTransaction](../sdk/#subscribetransaction) | 期間課金状態 |
| userId | string | ユーザーID |


##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local contentModel = args.contentModel
local transaction = args.transaction
local userId = args.userId

-- Business logic:

-- Result
result = {
}
```


---
  
### takeOver

割り当てユーザー変更
**関連するメソッド:**
takeoverSubscriptionStatus - すでに他のユーザーに割り当てられているサブスクリプションの契約状況を引き継ぐ
takeoverSubscriptionStatusByUserId - ユーザーIDを指定してすでに他のユーザーに割り当てられているサブスクリプションの契約状況を引き継ぐ


#### 同期実行スクリプト

割り当てユーザー変更処理の前に、スクリプトが同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| contentModel | [StoreSubscriptionContentModel](../sdk/#storesubscriptioncontentmodel) | 期間課金ストアコンテンツモデル |
| transaction | [SubscribeTransaction](../sdk/#subscribetransaction) | 期間課金状態 |
| fromUserId | string | ユーザーID |
| toUserId | string | ユーザーID |
| elapsedHours | int | 前回割り当てユーザー変更からの経過時間（時） |

##### Result

|  | 型 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- |
| permit | bool | ✓ |  |  | 割り当てユーザー変更を許可するか |

##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local contentModel = args.contentModel
local transaction = args.transaction
local fromUserId = args.fromUserId
local toUserId = args.toUserId
local elapsedHours = args.elapsedHours

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}
```


#### 非同期実行スクリプト

割り当てユーザー変更処理の後に、スクリプトが非同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| contentModel | [StoreSubscriptionContentModel](../sdk/#storesubscriptioncontentmodel) | 期間課金ストアコンテンツモデル |
| transaction | [SubscribeTransaction](../sdk/#subscribetransaction) | 期間課金状態 |
| fromUserId | string | ユーザーID |
| toUserId | string | ユーザーID |
| elapsedHours | int | 前回割り当てユーザー変更からの経過時間（時） |


##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local contentModel = args.contentModel
local transaction = args.transaction
local fromUserId = args.fromUserId
local toUserId = args.toUserId
local elapsedHours = args.elapsedHours

-- 非同期スクリプトは通常、API のレスポンスには影響を与えません。
-- ログ出力や分析、外部通知などに使用します。

result = {
}
```


---
  
### verifyReceipt

レシート検証
**関連するメソッド:**
verifyReceipt - レシートを使用済み化


#### 同期実行スクリプト

レシート検証処理の前に、スクリプトが同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| storeContentModel | [StoreContentModel](../sdk/#storecontentmodel) | ストアコンテンツモデル |
| receipt | [Receipt](../sdk/#receipt) | レシート |
| userId | string | ユーザーID |

##### Result

|  | 型 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- |
| permit | bool | ✓ |  |  | レシートの検証を許可するか |

##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local storeContentModel = args.storeContentModel
local receipt = args.receipt
local userId = args.userId

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}
```


#### 非同期実行スクリプト

レシート検証処理の後に、スクリプトが非同期実行されます。

##### Request

| | 型 | 説明 |
| --- | --- | --- |
| namespace | [Namespace](../sdk/#namespace) | ネームスペース |
| storeContentModel | [StoreContentModel](../sdk/#storecontentmodel) | ストアコンテンツモデル |
| receipt | [Receipt](../sdk/#receipt) | レシート |
| userId | string | ユーザーID |


##### 実装例


**Lua**
```lua

-- Request
local namespace = args.namespace
local storeContentModel = args.storeContentModel
local receipt = args.receipt
local userId = args.userId

-- 非同期スクリプトは通常、API のレスポンスには影響を与えません。
-- ログ出力や分析、外部通知などに使用します。

result = {
}
```


---
  



