> 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 = {
}
```


---
  



