NAV Navbar
Python Java GS2-Formation
 

GS2-Money

課金通貨を管理するサービスです。

課金通貨とは、日本の資金決済法に定義された、前払式支払手段 (自家型) に該当するゲーム内通貨を指します。 資金決済法に準拠するために、GS2-Money では、残高や通貨のトランザクションの管理を行います。

異なるプラットフォーム間でウォレットを共有したくない場合、アクセス元のプラットフォームによって同一アカウント内のウォレットを分ける仕組みも提供します。 その場合でも、無償提供分は、異なるプラットフォーム間で共有することができます。

GS2-Money のデータ構造は以下です。

利用料金

GS2-Money は通常の料金モデルとは異なる料金モデルを採用します。 APIリクエスト単価に関しては通常の料金と同様の料金ですが、GS2-Money では別途レベニューシェア型の料金モデルを採用します。 レベニューシェアの比率は毎月1日0時(UTC)を起点とした月間流通額によってディスカウントが適用されます。

月間流通額の範囲 レベニュー
¥0 〜 ¥999,999 10%
¥1,000,000 〜 ¥9,999,999 8%
¥10,000,000 〜 ¥99,999,999 7%
¥100,000,000 〜 ¥999,999,999 5%
¥1,000,000,000 〜 ¥100,000,000,000 3%

レベニューシェアに対しては通常の無料枠の適用はありませんが、月間の流通額が 10,000円 に満たない場合は例外として利用料金を頂戴しません。

モデル

Namespace

ネームスペース

ネームスペースはウォレットを管理する区画単位です。 課金通貨を複数種類用意する場合は複数のネームスペースを作成します。

パラメータ データ型 必須 説明
namespaceId string true ネームスペース
ownerId string true オーナーID
name string true ネームスペースの名前
description string false ネームスペースの説明
priority string true 消費優先度
shareFree boolean true 無償課金通貨を異なるスロットで共有するか
currency string true 通貨の種類
appleKey string false Apple AppStore のバンドルID
googleKey string false Google PlayStore の秘密鍵
enableFakeReceipt boolean false UnityEditorが出力する偽のレシートで決済できるようにするか
createWalletScript ScriptSetting false ウォレット新規作成したときに実行するスクリプト
depositScript ScriptSetting false ウォレット残高加算したときに実行するスクリプト
withdrawScript ScriptSetting false ウォレット残高消費したときに実行するスクリプト
balance double true 未使用残高
logSetting LogSetting false ログの出力設定
createdAt long true 作成日時
updatedAt long true 最終更新日時

User

ユーザ

パラメータ データ型 必須 説明
userId string true ユーザーID

Wallet

ウォレット

スロットごとに有償課金通貨と無償課金通貨の数量を保持します。

パラメータ データ型 必須 説明
walletId string true ウォレット
userId string true ユーザーID
slot integer true スロット番号
paid integer true 有償課金通貨所持量
free integer true 無償課金通貨所持量
createdAt long true 作成日時
updatedAt long true 最終更新日時

WalletDetail

ウォレットの詳細

ウォレットに格納されている通貨を購入単価ごとに管理するエンティティ。

パラメータ データ型 必須 説明
walletDetailId string true ウォレットの詳細
userId string true ユーザーID
slot integer true
price float true 単価
count integer true 所持量
createdAt long true 作成日時
updatedAt long true 最終更新日時

Receipt

レシート

課金通貨の購入・使用履歴を記録。

パラメータ データ型 必須 説明
receiptId string true レシート
transactionId string true トランザクションID
userId string true ユーザーID
type string true 種類
slot integer true スロット番号
price float true 単価
paid integer true 有償課金通貨
free integer true 無償課金通貨
total integer true 総数
contentsId string false ストアプラットフォームで販売されているコンテンツID
createdAt long true 作成日時

ResponseCache

レスポンスキャッシュ

パラメータ データ型 必須 説明
region string false
ownerId string true オーナーID
responseCacheId string true レスポンスキャッシュ のGRN
requestHash string false
result string true APIの応答内容

ScriptSetting

スクリプト設定

パラメータ データ型 必須 説明
triggerScriptId string false 実行前に使用する GS2-Script のスクリプト のGRN
doneTriggerScriptId string false 完了時に使用する GS2-Script のスクリプト のGRN
doneTriggerQueueNamespaceId string false 完了時に使用する GS2-JobQueue のネームスペース のGRN

LogSetting

ロギング通知設定

パラメータ データ型 必須 説明
loggingNamespaceId string false ログの記録に使用する GS2-Log のネームスペース のGRN

初期化処理

HTTPプロトコル クライアントの初期化 同期処理

import gs2_core_client.model.*
import gs2_money_client.rest.*

session = Gs2RestSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)
session.connect()
client = Gs2MoneyRestClient(session)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.rest.Gs2RestSession
import io.gs2.money.rest.Gs2MoneyRestClient

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)
session.connect()
Gs2MoneyRestClient client = new Gs2MoneyRestClient(session)
初期化処理は不要です

HTTPプロトコル クライアントの初期化 非同期処理

import gs2_core_client.model.*
import gs2_money_client.rest.*

session = Gs2RestSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)

def complete(result: AsyncResult[None]):
    client = Gs2MoneyRestClient(session)

session.connect_async(
    complete,
)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.rest.Gs2RestSession
import io.gs2.money.rest.Gs2MoneyRestClient

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect_async(
    (result) => {
        Gs2MoneyRestClient client = new Gs2MoneyRestClient(session)
    }
)
初期化処理は不要です

WebSocketプロトコル クライアントの初期化 同期処理

import gs2_core_client.model.*
import gs2_money_client.web_socket.*

session = Gs2WebSocketSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)
session.connect()
client = Gs2MoneyWebSocketClient(session)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.webSocket.Gs2WebSocketSession
import io.gs2.money.webSocket.Gs2MoneyWebSocketClient

Gs2WebSocketSession session = new Gs2WebSocketSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect()
Gs2MoneyWebSocketClient client = new Gs2MoneyWebSocketClient(session)
初期化処理は不要です

WebSocketプロトコル クライアントの初期化 非同期処理

import gs2_core_client.model.*
import gs2_money_client.web_socket.*

session = Gs2WebSocketSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)

def complete(result: AsyncResult[None]):
    client = Gs2MoneyWebSocketClient(session)

session.connect_async(
    complete,
)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.webSocket.Gs2WebSocketSession
import io.gs2.money.webSocket.Gs2MoneyWebSocketClient

Gs2WebSocketSession session = new Gs2WebSocketSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect_async(
    (result) => {
        Gs2MoneyWebSocketClient client = new Gs2MoneyWebSocketClient(session)
    }
)
初期化処理は不要です

GS2-Money は HTTPプロトコル と WebSocketプロトコル の2種類のプロトコルをサポートしています。

HTTPプロトコル と WebSocketプロトコル の違いは以下に示すとおりです。

HTTP WebSocket
接続方式 都度接続 常時接続
応答性能 優れている
API制限 なし 大容量のデータをやりとりするAPIには使用不可(主にマスターデータ系処理)
利用料金 WebSocketと同一 HTTPと同一

終了処理

HTTPプロトコル クライアントの終了処理

session.disconnect()
session.disconnect();
終了処理は不要です

WebSocketプロトコル クライアントの終了処理

session.disconnect()
session.disconnect();
終了処理は不要です

session オブジェクトの切断処理を行って終了処理を行います。 同一 session オブジェクトを複数の異なる Client オブジェクトに渡すことができます。

メソッド

createNamespace

同期処理

from gs2_money_client.request import CreateNamespaceRequest
from gs2_money_client.result import CreateNamespaceResult

result = client.create_namespace(
    CreateNamespaceRequest()\
        .with_name('money-0001')\
        .with_priority('paid')\
        .with_share_free(False)\
        .with_currency('USD')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'}))
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.CreateNamespaceRequest
import io.gs2.money.result.CreateNamespaceResult

result = client.createNamespace(
    CreateNamespaceRequest()
        .withName("money-0001")
        .withPriority("paid")
        .withShareFree(false)
        .withCurrency("USD")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"}))
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import CreateNamespaceRequest
from gs2_money_client.result import CreateNamespaceResult

def callback(async_result: AsyncResult[CreateNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.create_namespace_async(
    CreateNamespaceRequest()\
        .with_name('money-0001')\
        .with_priority('paid')\
        .with_share_free(False)\
        .with_currency('USD')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'})),
    callback
)
import io.gs2.money.request.CreateNamespaceRequest
import io.gs2.money.result.CreateNamespaceResult

result = client.createNamespace(
    CreateNamespaceRequest()
        .withName("money-0001")
        .withPriority("paid")
        .withShareFree(false)
        .withCurrency("USD")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"})),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Money::Namespace
Properties:
  Name: String
  Description: Optional[String]
  Priority: String
  ShareFree: Bool
  Currency: String
  AppleKey: Optional[String]
  GoogleKey: Optional[String]
  EnableFakeReceipt: Optional[Bool]
  CreateWalletScript:
    TriggerScriptId: Optional[String]
    DoneTriggerScriptId: Optional[String]
    DoneTriggerQueueNamespaceId: Optional[String]
  DepositScript:
    TriggerScriptId: Optional[String]
    DoneTriggerScriptId: Optional[String]
    DoneTriggerQueueNamespaceId: Optional[String]
  WithdrawScript:
    TriggerScriptId: Optional[String]
    DoneTriggerScriptId: Optional[String]
    DoneTriggerQueueNamespaceId: Optional[String]
  LogSetting:
    LoggingNamespaceId: Optional[String]

ネームスペースを新規作成します

パラメータ データ型 必須 説明
name string true ネームスペースの名前
description string false ネームスペースの説明
priority string true 消費優先度
shareFree boolean true 無償課金通貨を異なるスロットで共有するか
currency string true 通貨の種類
appleKey string false Apple AppStore のバンドルID
googleKey string false Google PlayStore の秘密鍵
enableFakeReceipt boolean false UnityEditorが出力する偽のレシートで決済できるようにするか
createWalletScript ScriptSetting false ウォレット新規作成したときに実行するスクリプト
depositScript ScriptSetting false ウォレット残高加算したときに実行するスクリプト
withdrawScript ScriptSetting false ウォレット残高消費したときに実行するスクリプト
logSetting LogSetting false ログの出力設定
パラメータ データ型 説明
item Namespace 作成したネームスペース

deleteNamespace

同期処理

from gs2_money_client.request import DeleteNamespaceRequest
from gs2_money_client.result import DeleteNamespaceResult

result = client.delete_namespace(
    DeleteNamespaceRequest()\
        .with_namespace_name('money-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.DeleteNamespaceRequest
import io.gs2.money.result.DeleteNamespaceResult

result = client.deleteNamespace(
    DeleteNamespaceRequest()
        .withNamespaceName("money-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import DeleteNamespaceRequest
from gs2_money_client.result import DeleteNamespaceResult

def callback(async_result: AsyncResult[DeleteNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_namespace_async(
    DeleteNamespaceRequest()\
        .with_namespace_name('money-0001'),
    callback
)
import io.gs2.money.request.DeleteNamespaceRequest
import io.gs2.money.result.DeleteNamespaceResult

result = client.deleteNamespace(
    DeleteNamespaceRequest()
        .withNamespaceName("money-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを削除します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
パラメータ データ型 説明

depositByStampSheet

同期処理

from gs2_money_client.request import DepositByStampSheetRequest
from gs2_money_client.result import DepositByStampSheetResult

result = client.deposit_by_stamp_sheet(
    DepositByStampSheetRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.DepositByStampSheetRequest
import io.gs2.money.result.DepositByStampSheetResult

result = client.depositByStampSheet(
    DepositByStampSheetRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import DepositByStampSheetRequest
from gs2_money_client.result import DepositByStampSheetResult

def callback(async_result: AsyncResult[DepositByStampSheetResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.deposit_by_stamp_sheet_async(
    DepositByStampSheetRequest()\
    callback
)
import io.gs2.money.request.DepositByStampSheetRequest
import io.gs2.money.result.DepositByStampSheetResult

result = client.depositByStampSheet(
    DepositByStampSheetRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

スタンプシートを使用してウォレットに残高を加算します

パラメータ データ型 必須 説明
stampSheet string true スタンプシート
keyId string true スタンプシートの署名検証に使用する 暗号鍵 のGRN
パラメータ データ型 説明
item Wallet 加算後のウォレット

depositByUserId

同期処理

from gs2_money_client.request import DepositByUserIdRequest
from gs2_money_client.result import DepositByUserIdResult

result = client.deposit_by_user_id(
    DepositByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.DepositByUserIdRequest
import io.gs2.money.result.DepositByUserIdResult

result = client.depositByUserId(
    DepositByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import DepositByUserIdRequest
from gs2_money_client.result import DepositByUserIdResult

def callback(async_result: AsyncResult[DepositByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.deposit_by_user_id_async(
    DepositByUserIdRequest()\
    callback
)
import io.gs2.money.request.DepositByUserIdRequest
import io.gs2.money.result.DepositByUserIdResult

result = client.depositByUserId(
    DepositByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザーIDを指定してウォレットに残高を加算します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string true ユーザーID
slot integer true スロット番号
price float true 購入価格
count integer true 付与する課金通貨の数量
パラメータ データ型 説明
item Wallet 加算後のウォレット

describeNamespaces

同期処理

from gs2_money_client.request import DescribeNamespacesRequest
from gs2_money_client.result import DescribeNamespacesResult

result = client.describe_namespaces(
    DescribeNamespacesRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.DescribeNamespacesRequest
import io.gs2.money.result.DescribeNamespacesResult

result = client.describeNamespaces(
    DescribeNamespacesRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import DescribeNamespacesRequest
from gs2_money_client.result import DescribeNamespacesResult

def callback(async_result: AsyncResult[DescribeNamespacesResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_namespaces_async(
    DescribeNamespacesRequest()\
    callback
)
import io.gs2.money.request.DescribeNamespacesRequest
import io.gs2.money.result.DescribeNamespacesResult

result = client.describeNamespaces(
    DescribeNamespacesRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースの一覧を取得します

パラメータ データ型 必須 説明
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Namespace] ネームスペースのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeReceipts

同期処理

from gs2_money_client.request import DescribeReceiptsRequest
from gs2_money_client.result import DescribeReceiptsResult

result = client.describe_receipts(
    DescribeReceiptsRequest()\
        .with_namespace_name('money-0001')\
        .with_user_id('user-0001')\
        .with_slot(0)
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.DescribeReceiptsRequest
import io.gs2.money.result.DescribeReceiptsResult

result = client.describeReceipts(
    DescribeReceiptsRequest()
        .withNamespaceName("money-0001")
        .withUserId("user-0001")
        .withSlot(0)
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import DescribeReceiptsRequest
from gs2_money_client.result import DescribeReceiptsResult

def callback(async_result: AsyncResult[DescribeReceiptsResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_receipts_async(
    DescribeReceiptsRequest()\
        .with_namespace_name('money-0001')\
        .with_user_id('user-0001')\
        .with_slot(0),
    callback
)
import io.gs2.money.request.DescribeReceiptsRequest
import io.gs2.money.result.DescribeReceiptsResult

result = client.describeReceipts(
    DescribeReceiptsRequest()
        .withNamespaceName("money-0001")
        .withUserId("user-0001")
        .withSlot(0),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

レシートの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string false ユーザーID
slot integer false None
begin long true None
end long true None
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Receipt] レシートのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeWalletDetailsByUserId

同期処理

from gs2_money_client.request import DescribeWalletDetailsByUserIdRequest
from gs2_money_client.result import DescribeWalletDetailsByUserIdResult

result = client.describe_wallet_details_by_user_id(
    DescribeWalletDetailsByUserIdRequest()\
        .with_namespace_name('money-0001')\
        .with_user_id('user-0001')\
        .with_slot(0)
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.DescribeWalletDetailsByUserIdRequest
import io.gs2.money.result.DescribeWalletDetailsByUserIdResult

result = client.describeWalletDetailsByUserId(
    DescribeWalletDetailsByUserIdRequest()
        .withNamespaceName("money-0001")
        .withUserId("user-0001")
        .withSlot(0)
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import DescribeWalletDetailsByUserIdRequest
from gs2_money_client.result import DescribeWalletDetailsByUserIdResult

def callback(async_result: AsyncResult[DescribeWalletDetailsByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_wallet_details_by_user_id_async(
    DescribeWalletDetailsByUserIdRequest()\
        .with_namespace_name('money-0001')\
        .with_user_id('user-0001')\
        .with_slot(0),
    callback
)
import io.gs2.money.request.DescribeWalletDetailsByUserIdRequest
import io.gs2.money.result.DescribeWalletDetailsByUserIdResult

result = client.describeWalletDetailsByUserId(
    DescribeWalletDetailsByUserIdRequest()
        .withNamespaceName("money-0001")
        .withUserId("user-0001")
        .withSlot(0),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ウォレットの詳細を取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string true ユーザーID
slot integer true None
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[WalletDetail] ウォレットの詳細のリスト
nextPageToken string リストの続きを取得するためのページトークン

describeWallets

同期処理

from gs2_money_client.request import DescribeWalletsRequest
from gs2_money_client.result import DescribeWalletsResult

result = client.describe_wallets(
    DescribeWalletsRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.DescribeWalletsRequest
import io.gs2.money.result.DescribeWalletsResult

result = client.describeWallets(
    DescribeWalletsRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import DescribeWalletsRequest
from gs2_money_client.result import DescribeWalletsResult

def callback(async_result: AsyncResult[DescribeWalletsResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_wallets_async(
    DescribeWalletsRequest()\
    callback
)
import io.gs2.money.request.DescribeWalletsRequest
import io.gs2.money.result.DescribeWalletsResult

result = client.describeWallets(
    DescribeWalletsRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ウォレット一覧を取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Wallet] ウォレットのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeWalletsByUserId

同期処理

from gs2_money_client.request import DescribeWalletsByUserIdRequest
from gs2_money_client.result import DescribeWalletsByUserIdResult

result = client.describe_wallets_by_user_id(
    DescribeWalletsByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.DescribeWalletsByUserIdRequest
import io.gs2.money.result.DescribeWalletsByUserIdResult

result = client.describeWalletsByUserId(
    DescribeWalletsByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import DescribeWalletsByUserIdRequest
from gs2_money_client.result import DescribeWalletsByUserIdResult

def callback(async_result: AsyncResult[DescribeWalletsByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_wallets_by_user_id_async(
    DescribeWalletsByUserIdRequest()\
    callback
)
import io.gs2.money.request.DescribeWalletsByUserIdRequest
import io.gs2.money.result.DescribeWalletsByUserIdResult

result = client.describeWalletsByUserId(
    DescribeWalletsByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ウォレット一覧を取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string true ユーザーID
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Wallet] ウォレットのリスト
nextPageToken string リストの続きを取得するためのページトークン

getByUserIdAndTransactionId

同期処理

from gs2_money_client.request import GetByUserIdAndTransactionIdRequest
from gs2_money_client.result import GetByUserIdAndTransactionIdResult

result = client.get_by_user_id_and_transaction_id(
    GetByUserIdAndTransactionIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.GetByUserIdAndTransactionIdRequest
import io.gs2.money.result.GetByUserIdAndTransactionIdResult

result = client.getByUserIdAndTransactionId(
    GetByUserIdAndTransactionIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import GetByUserIdAndTransactionIdRequest
from gs2_money_client.result import GetByUserIdAndTransactionIdResult

def callback(async_result: AsyncResult[GetByUserIdAndTransactionIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_by_user_id_and_transaction_id_async(
    GetByUserIdAndTransactionIdRequest()\
    callback
)
import io.gs2.money.request.GetByUserIdAndTransactionIdRequest
import io.gs2.money.result.GetByUserIdAndTransactionIdResult

result = client.getByUserIdAndTransactionId(
    GetByUserIdAndTransactionIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

レシートの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string true ユーザーID
transactionId string true トランザクションID
パラメータ データ型 説明
item Receipt レシート

getNamespace

同期処理

from gs2_money_client.request import GetNamespaceRequest
from gs2_money_client.result import GetNamespaceResult

result = client.get_namespace(
    GetNamespaceRequest()\
        .with_namespace_name('money-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.GetNamespaceRequest
import io.gs2.money.result.GetNamespaceResult

result = client.getNamespace(
    GetNamespaceRequest()
        .withNamespaceName("money-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import GetNamespaceRequest
from gs2_money_client.result import GetNamespaceResult

def callback(async_result: AsyncResult[GetNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_namespace_async(
    GetNamespaceRequest()\
        .with_namespace_name('money-0001'),
    callback
)
import io.gs2.money.request.GetNamespaceRequest
import io.gs2.money.result.GetNamespaceResult

result = client.getNamespace(
    GetNamespaceRequest()
        .withNamespaceName("money-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
パラメータ データ型 説明
item Namespace ネームスペース

getNamespaceStatus

同期処理

from gs2_money_client.request import GetNamespaceStatusRequest
from gs2_money_client.result import GetNamespaceStatusResult

result = client.get_namespace_status(
    GetNamespaceStatusRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.GetNamespaceStatusRequest
import io.gs2.money.result.GetNamespaceStatusResult

result = client.getNamespaceStatus(
    GetNamespaceStatusRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import GetNamespaceStatusRequest
from gs2_money_client.result import GetNamespaceStatusResult

def callback(async_result: AsyncResult[GetNamespaceStatusResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_namespace_status_async(
    GetNamespaceStatusRequest()\
    callback
)
import io.gs2.money.request.GetNamespaceStatusRequest
import io.gs2.money.result.GetNamespaceStatusResult

result = client.getNamespaceStatus(
    GetNamespaceStatusRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースの状態を取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
パラメータ データ型 説明
status string

getWallet

同期処理

from gs2_money_client.request import GetWalletRequest
from gs2_money_client.result import GetWalletResult

result = client.get_wallet(
    GetWalletRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.GetWalletRequest
import io.gs2.money.result.GetWalletResult

result = client.getWallet(
    GetWalletRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import GetWalletRequest
from gs2_money_client.result import GetWalletResult

def callback(async_result: AsyncResult[GetWalletResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_wallet_async(
    GetWalletRequest()\
    callback
)
import io.gs2.money.request.GetWalletRequest
import io.gs2.money.result.GetWalletResult

result = client.getWallet(
    GetWalletRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ウォレットを取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
slot integer true スロット番号
パラメータ データ型 説明
item Wallet ウォレット

getWalletByUserId

同期処理

from gs2_money_client.request import GetWalletByUserIdRequest
from gs2_money_client.result import GetWalletByUserIdResult

result = client.get_wallet_by_user_id(
    GetWalletByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.GetWalletByUserIdRequest
import io.gs2.money.result.GetWalletByUserIdResult

result = client.getWalletByUserId(
    GetWalletByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import GetWalletByUserIdRequest
from gs2_money_client.result import GetWalletByUserIdResult

def callback(async_result: AsyncResult[GetWalletByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_wallet_by_user_id_async(
    GetWalletByUserIdRequest()\
    callback
)
import io.gs2.money.request.GetWalletByUserIdRequest
import io.gs2.money.result.GetWalletByUserIdResult

result = client.getWalletByUserId(
    GetWalletByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザーIDを指定してウォレットを取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string true ユーザーID
slot integer true スロット番号
パラメータ データ型 説明
item Wallet ウォレット

queryWallets

同期処理

from gs2_money_client.request import QueryWalletsRequest
from gs2_money_client.result import QueryWalletsResult

result = client.query_wallets(
    QueryWalletsRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.QueryWalletsRequest
import io.gs2.money.result.QueryWalletsResult

result = client.queryWallets(
    QueryWalletsRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import QueryWalletsRequest
from gs2_money_client.result import QueryWalletsResult

def callback(async_result: AsyncResult[QueryWalletsResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.query_wallets_async(
    QueryWalletsRequest()\
    callback
)
import io.gs2.money.request.QueryWalletsRequest
import io.gs2.money.result.QueryWalletsResult

result = client.queryWallets(
    QueryWalletsRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ウォレット一覧を取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string false ユーザーID
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Wallet] ウォレットのリスト
nextPageToken string リストの続きを取得するためのページトークン

recordReceipt

同期処理

from gs2_money_client.request import RecordReceiptRequest
from gs2_money_client.result import RecordReceiptResult

result = client.record_receipt(
    RecordReceiptRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.RecordReceiptRequest
import io.gs2.money.result.RecordReceiptResult

result = client.recordReceipt(
    RecordReceiptRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import RecordReceiptRequest
from gs2_money_client.result import RecordReceiptResult

def callback(async_result: AsyncResult[RecordReceiptResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.record_receipt_async(
    RecordReceiptRequest()\
    callback
)
import io.gs2.money.request.RecordReceiptRequest
import io.gs2.money.result.RecordReceiptResult

result = client.recordReceipt(
    RecordReceiptRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

レシートを記録

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string true ユーザーID
contentsId string false プラットフォームストアのコンテンツID
receipt string false レシート
パラメータ データ型 説明
item Receipt レシート

recordReceiptByStampTask

同期処理

from gs2_money_client.request import RecordReceiptByStampTaskRequest
from gs2_money_client.result import RecordReceiptByStampTaskResult

result = client.record_receipt_by_stamp_task(
    RecordReceiptByStampTaskRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.RecordReceiptByStampTaskRequest
import io.gs2.money.result.RecordReceiptByStampTaskResult

result = client.recordReceiptByStampTask(
    RecordReceiptByStampTaskRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import RecordReceiptByStampTaskRequest
from gs2_money_client.result import RecordReceiptByStampTaskResult

def callback(async_result: AsyncResult[RecordReceiptByStampTaskResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.record_receipt_by_stamp_task_async(
    RecordReceiptByStampTaskRequest()\
    callback
)
import io.gs2.money.request.RecordReceiptByStampTaskRequest
import io.gs2.money.result.RecordReceiptByStampTaskResult

result = client.recordReceiptByStampTask(
    RecordReceiptByStampTaskRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

スタンプシートを使用してレシートを記録

パラメータ データ型 必須 説明
stampTask string true スタンプタスク
keyId string true スタンプタスクの署名検証に使用する 暗号鍵 のGRN
パラメータ データ型 説明
item Receipt レシート
newContextStack string スタンプタスクの実行結果を記録したコンテキスト

updateNamespace

同期処理

from gs2_money_client.request import UpdateNamespaceRequest
from gs2_money_client.result import UpdateNamespaceResult

result = client.update_namespace(
    UpdateNamespaceRequest()\
        .with_namespace_name('money-0001')\
        .with_description('description1')\
        .with_priority('paid')\
        .with_apple_key('io.gs2.sample')\
        .with_google_key('MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAicE6mZuA6w39F+xhKQfn+KJw9AVxLuwsJGS8oTRj8K9IPTfs4BVuVLYkgxz7qA0ltO20X2Xvkf/lRfZJBLlwMa1PihXv96/sipj6FPu7xsqlvvaPmDi5JT5+8XirE33M8ezR5M7QlUoNHOuELT+DGxbnFn1s/A3bGI58SYqLzQvoqrEDGHKfKsCtP5ncX1ZwF8AFvk5WQlK5W3wkkrZXrbJbBsfur+5hWpVg5qS+dXAKSrKPfPmq9Fn11rhMDutGmm8BQ+/fDMz5jiuAVWcSjhEn7HI473es7dquQ7OO4NZJ0R9vkpTiQUzrEdnforr51du0riegjJOLTQtXAKLOIQIDAQAB')\
        .with_create_wallet_script(Object("ScriptSetting", {"triggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1001', "doneTriggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1002'}))\
        .with_deposit_script(Object("ScriptSetting", {"triggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1003', "doneTriggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1004'}))\
        .with_withdraw_script(Object("ScriptSetting", {"triggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1005', "doneTriggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1006'}))\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'}))
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.UpdateNamespaceRequest
import io.gs2.money.result.UpdateNamespaceResult

result = client.updateNamespace(
    UpdateNamespaceRequest()
        .withNamespaceName("money-0001")
        .withDescription("description1")
        .withPriority("paid")
        .withAppleKey("io.gs2.sample")
        .withGoogleKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAicE6mZuA6w39F+xhKQfn+KJw9AVxLuwsJGS8oTRj8K9IPTfs4BVuVLYkgxz7qA0ltO20X2Xvkf/lRfZJBLlwMa1PihXv96/sipj6FPu7xsqlvvaPmDi5JT5+8XirE33M8ezR5M7QlUoNHOuELT+DGxbnFn1s/A3bGI58SYqLzQvoqrEDGHKfKsCtP5ncX1ZwF8AFvk5WQlK5W3wkkrZXrbJbBsfur+5hWpVg5qS+dXAKSrKPfPmq9Fn11rhMDutGmm8BQ+/fDMz5jiuAVWcSjhEn7HI473es7dquQ7OO4NZJ0R9vkpTiQUzrEdnforr51du0riegjJOLTQtXAKLOIQIDAQAB")
        .withCreateWalletScript(Object("ScriptSetting", {"triggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1001", "doneTriggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1002"}))
        .withDepositScript(Object("ScriptSetting", {"triggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1003", "doneTriggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1004"}))
        .withWithdrawScript(Object("ScriptSetting", {"triggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1005", "doneTriggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1006"}))
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"}))
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import UpdateNamespaceRequest
from gs2_money_client.result import UpdateNamespaceResult

def callback(async_result: AsyncResult[UpdateNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_namespace_async(
    UpdateNamespaceRequest()\
        .with_namespace_name('money-0001')\
        .with_description('description1')\
        .with_priority('paid')\
        .with_apple_key('io.gs2.sample')\
        .with_google_key('MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAicE6mZuA6w39F+xhKQfn+KJw9AVxLuwsJGS8oTRj8K9IPTfs4BVuVLYkgxz7qA0ltO20X2Xvkf/lRfZJBLlwMa1PihXv96/sipj6FPu7xsqlvvaPmDi5JT5+8XirE33M8ezR5M7QlUoNHOuELT+DGxbnFn1s/A3bGI58SYqLzQvoqrEDGHKfKsCtP5ncX1ZwF8AFvk5WQlK5W3wkkrZXrbJbBsfur+5hWpVg5qS+dXAKSrKPfPmq9Fn11rhMDutGmm8BQ+/fDMz5jiuAVWcSjhEn7HI473es7dquQ7OO4NZJ0R9vkpTiQUzrEdnforr51du0riegjJOLTQtXAKLOIQIDAQAB')\
        .with_create_wallet_script(Object("ScriptSetting", {"triggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1001', "doneTriggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1002'}))\
        .with_deposit_script(Object("ScriptSetting", {"triggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1003', "doneTriggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1004'}))\
        .with_withdraw_script(Object("ScriptSetting", {"triggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1005', "doneTriggerScriptId": 'grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1006'}))\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'})),
    callback
)
import io.gs2.money.request.UpdateNamespaceRequest
import io.gs2.money.result.UpdateNamespaceResult

result = client.updateNamespace(
    UpdateNamespaceRequest()
        .withNamespaceName("money-0001")
        .withDescription("description1")
        .withPriority("paid")
        .withAppleKey("io.gs2.sample")
        .withGoogleKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAicE6mZuA6w39F+xhKQfn+KJw9AVxLuwsJGS8oTRj8K9IPTfs4BVuVLYkgxz7qA0ltO20X2Xvkf/lRfZJBLlwMa1PihXv96/sipj6FPu7xsqlvvaPmDi5JT5+8XirE33M8ezR5M7QlUoNHOuELT+DGxbnFn1s/A3bGI58SYqLzQvoqrEDGHKfKsCtP5ncX1ZwF8AFvk5WQlK5W3wkkrZXrbJbBsfur+5hWpVg5qS+dXAKSrKPfPmq9Fn11rhMDutGmm8BQ+/fDMz5jiuAVWcSjhEn7HI473es7dquQ7OO4NZJ0R9vkpTiQUzrEdnforr51du0riegjJOLTQtXAKLOIQIDAQAB")
        .withCreateWalletScript(Object("ScriptSetting", {"triggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1001", "doneTriggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1002"}))
        .withDepositScript(Object("ScriptSetting", {"triggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1003", "doneTriggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1004"}))
        .withWithdrawScript(Object("ScriptSetting", {"triggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1005", "doneTriggerScriptId": "grn:gs2:ap-northeast-1:{ownerId}:script:namespace-0001:script:script-1006"}))
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"})),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを更新します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
description string false ネームスペースの説明
priority string true 消費優先度
appleKey string false Apple AppStore のバンドルID
googleKey string false Google PlayStore の秘密鍵
enableFakeReceipt boolean false UnityEditorが出力する偽のレシートで決済できるようにするか
createWalletScript ScriptSetting false ウォレット新規作成したときに実行するスクリプト
depositScript ScriptSetting false ウォレット残高加算したときに実行するスクリプト
withdrawScript ScriptSetting false ウォレット残高消費したときに実行するスクリプト
logSetting LogSetting false ログの出力設定
パラメータ データ型 説明
item Namespace 更新したネームスペース

withdraw

同期処理

from gs2_money_client.request import WithdrawRequest
from gs2_money_client.result import WithdrawResult

result = client.withdraw(
    WithdrawRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.WithdrawRequest
import io.gs2.money.result.WithdrawResult

result = client.withdraw(
    WithdrawRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import WithdrawRequest
from gs2_money_client.result import WithdrawResult

def callback(async_result: AsyncResult[WithdrawResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.withdraw_async(
    WithdrawRequest()\
    callback
)
import io.gs2.money.request.WithdrawRequest
import io.gs2.money.result.WithdrawResult

result = client.withdraw(
    WithdrawRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ウォレットから残高を消費します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
slot integer true スロット番号
count integer true 消費する課金通貨の数量
paidOnly boolean true 有償課金通貨のみを対象とするか
パラメータ データ型 説明
item Wallet 消費後のウォレット
price float 消費した通貨の価格

withdrawByStampTask

同期処理

from gs2_money_client.request import WithdrawByStampTaskRequest
from gs2_money_client.result import WithdrawByStampTaskResult

result = client.withdraw_by_stamp_task(
    WithdrawByStampTaskRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.WithdrawByStampTaskRequest
import io.gs2.money.result.WithdrawByStampTaskResult

result = client.withdrawByStampTask(
    WithdrawByStampTaskRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import WithdrawByStampTaskRequest
from gs2_money_client.result import WithdrawByStampTaskResult

def callback(async_result: AsyncResult[WithdrawByStampTaskResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.withdraw_by_stamp_task_async(
    WithdrawByStampTaskRequest()\
    callback
)
import io.gs2.money.request.WithdrawByStampTaskRequest
import io.gs2.money.result.WithdrawByStampTaskResult

result = client.withdrawByStampTask(
    WithdrawByStampTaskRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ウォレットから残高を消費します

パラメータ データ型 必須 説明
stampTask string true スタンプタスク
keyId string true スタンプタスクの署名検証に使用する 暗号鍵 のGRN
パラメータ データ型 説明
item Wallet 消費後のウォレット
newContextStack string スタンプタスクの実行結果を記録したコンテキスト

withdrawByUserId

同期処理

from gs2_money_client.request import WithdrawByUserIdRequest
from gs2_money_client.result import WithdrawByUserIdResult

result = client.withdraw_by_user_id(
    WithdrawByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.money.request.WithdrawByUserIdRequest
import io.gs2.money.result.WithdrawByUserIdResult

result = client.withdrawByUserId(
    WithdrawByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_money_client.request import WithdrawByUserIdRequest
from gs2_money_client.result import WithdrawByUserIdResult

def callback(async_result: AsyncResult[WithdrawByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.withdraw_by_user_id_async(
    WithdrawByUserIdRequest()\
    callback
)
import io.gs2.money.request.WithdrawByUserIdRequest
import io.gs2.money.result.WithdrawByUserIdResult

result = client.withdrawByUserId(
    WithdrawByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザーIDを指定してウォレットから残高を消費します

パラメータ データ型 必須 説明
namespaceName string true ネームスペースの名前
userId string true ユーザーID
slot integer true スロット番号
count integer true 消費する課金通貨の数量
paidOnly boolean true 有償課金通貨のみを対象とするか
パラメータ データ型 説明
item Wallet 消費後のウォレット
price float 消費した通貨の価格

GS2-Script トリガーイベント

CreateWalletTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
wallet = args['wallet']  -- type: Wallet

result = {
    permit=,  -- type: boolean
    initialAmount=  -- type: integer
}

ウォレット新規作成時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
wallet Wallet ウォレット
パラメータ データ型 説明
permit boolean ウォレットの作成を許可するか
initialAmount integer ウォレットの初期残高 - 無償付与として加算されます

CreateWalletDoneTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
wallet = args['wallet']  -- type: Wallet

result = {
}

ウォレット新規作成完了時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
wallet Wallet ウォレット
パラメータ データ型 説明

DepositTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
wallet = args['wallet']  -- type: Wallet
wallet_details = args['walletDetails']  -- type: list[WalletDetail]

result = {
    permit=,  -- type: boolean
    overrideCount=  -- type: integer
}

ウォレット残高加算時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
wallet Wallet ウォレット
walletDetails list[WalletDetail] ウォレットの詳細のリスト
パラメータ データ型 説明
permit boolean ウォレット残高加算を許可するか
overrideCount integer 実際に適用する加算量

DepositDoneTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
old_wallet = args['oldWallet']  -- type: Wallet
old_wallet_details = args['oldWalletDetails']  -- type: list[WalletDetail]
new_wallet = args['newWallet']  -- type: Wallet
new_wallet_details = args['newWalletDetails']  -- type: list[WalletDetail]

result = {
}

ウォレット残高加算完了時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
oldWallet Wallet ウォレット
oldWalletDetails list[WalletDetail] ウォレットの詳細のリスト
newWallet Wallet ウォレット
newWalletDetails list[WalletDetail] ウォレットの詳細のリスト
パラメータ データ型 説明

WithdrawTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
wallet = args['wallet']  -- type: Wallet
wallet_details = args['walletDetails']  -- type: list[WalletDetail]

result = {
    permit=,  -- type: boolean
    overrideCount=  -- type: integer
}

ウォレット残高消費時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
wallet Wallet ウォレット
walletDetails list[WalletDetail] ウォレットの詳細のリスト
パラメータ データ型 説明
permit boolean ウォレット残高消費を許可するか
overrideCount integer 実際に適用する消費量

WithdrawDoneTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
old_wallet = args['oldWallet']  -- type: Wallet
old_wallet_details = args['oldWalletDetails']  -- type: list[WalletDetail]
new_wallet = args['newWallet']  -- type: Wallet
new_wallet_details = args['newWalletDetails']  -- type: list[WalletDetail]

result = {
}

ウォレット残高消費完了時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
oldWallet Wallet ウォレット
oldWalletDetails list[WalletDetail] ウォレットの詳細のリスト
newWallet Wallet ウォレット
newWalletDetails list[WalletDetail] ウォレットの詳細のリスト
パラメータ データ型 説明

マスターデータフォーマット

マスターデータはありません

GS2-Money の制限・制約

利用いただくにあたって注意いただく制限・制約はありません