now.gg Paymentsが提供する、アプリ内購入のシームレスな決済の利便性を活用しましょう。
Paymentsダッシュボードを使用すると、以下のオプションを設定できます:
統合
アプリ内の決済処理には、以下のいずれかを選択できます。:
SDKを使用した決済
弊社の決済SDKを統合することで、アプリ内購入のシームレスな決済が可能になります。ネイティブAndroidアプリとUnityアプリの統合がサポートされています。
メリット:
- 簡潔な設定と最小限の開発作業でスムーズな統合が可能。
- ネイティブAndroidアプリとUnityアプリの両方を包括的にサポートし、シームレスな体験を提供。
- さまざまな地域に対応した多様な支払い方法をサポートし、グローバルなリーチを実現。
- 消耗品アイテムや定期購読を簡単にサポート。
はじめかた:
- 決済ダッシュボードに移動します:
- 「SDKを使用した決済を選択します。
- 以下のリンクから、決済SDK統合ガイドを参照します。
- 保存をクリックします
コード無し決済
コード無し決済を選択すると、SDKの統合やAPKの修正を行うことなくアプリ内購入の決済を簡単に行うことができます。
メリット:
- SDKの統合やアプリのAPK修正なしで簡単に設定可能。
- スムーズでユーザーフレンドリーな支払い体験を実現するシームレスなトランザクション。
- 追加のコードを書かずに支払いを有効化。
- アプリ内課金機能の開発とテスト時間を短縮。
- ユーザーに安全で信頼できるトランザクションを保証。
はじめかた:
- 決済ダッシュボードに移動します:
- コード無し決済を選択します
- 前提条件に関する情報の設定。
- 最適な統合シナリオを確認するための質問に回答します。
- 決済設定を行います。
前提条件情報
重要
- 現在、No Code Paymentではサブスクリプションはサポートされていません。
次のセクションでは、「コード無し決済」の正確な統合シナリオを確認するためのいくつかの質問を紹介します。
- SafetyNetのようなサービスでAPKを暗号化しましたか?(はい/いいえ)
- はい – SafetyNetなどのサービスを使用してAPKを暗号化した場合、now.gg決済SDKを統合する必要があります。
- いいえ – 次の質問に進んでください。
- アプリでどのように決済を検証しますか?(ドロップダウンから選択)
決済設定
前提条件情報セクションで選択した情報に基づいて、以下の情報を使用してください。
サーバー側の設定
前提条件情報セクションで「サーバー側」を選択すると、以下の設定オプションが表示されます。
重要な情報
- 提供されているガイドに従って、「コード無し決済」用のサーバーサイドIAP検証を必ず設定してください。
APKとアプリ内プロダクトの選択
以下の手順は、「検証しない」と「サーバー側」の両オプションで共通です。
1. APKの選択
「コード無し決済」で使用したいAPKを選択します。
- 「APKを選択」をクリックします。
- 3つの方法でAPKを追加するよう促されます。
- APKのアップロード
APKをアップロードできます(詳細はこちら)
- Zipをアップロード (APK+アセット)
APK Zipをアップロードできます(詳細はこちら)
- アプリライブラリ
アップロード済みのアプリをアプリライブラリから選択できます(詳細はこちら)
2. プロダクトの利用
「コード無し決済」で利用したいアプリ内プロダクトを追加します。
- 決済>アプリ内プロダクトからプロダクトを見る/追加をクリックします。
- 送信をクリックします。
こちら側で設定を確認し、アプリ用に「コードレス決済」を有効にします。
3. 「コード無し決済」ビルドをデプロイする
アプリのビルドで「コード無し決済」を有効にした後、それは以下のようにアプリライブラリエクスプローラーに保存されます:
- このバージョンのアプリを使用して次のことができます:
- リリースを作成する際に、「アプリライブラリから」オプションを選択し、「コード無し決済」フラグの付いたビルドを選択します。
- アップロード中に追加したビルド固有の情報にアクセスするには、該当するビルドの前にある (i) をクリックしてください。
重要な情報
- 別のアプリビルドに「コード無し決済」を有効にするには、支払いページに移動し、右下隅の「編集」をクリックします。
サードパーティー決済
サードパーティー決済オプションがすでにアプリに統合されている場合は、アプリ内決済に使用できます。
サードパーティー決済オプションを追加する方法は以下の通りです。
- 決済タブで、サードパーティー決済を選択します。
- 決済プロバイダー名を入力します。
- 保存をクリックします。
重要な情報
サードパーティー決済オプションを使用している間、全ての購入注文と関連する分析データはnowStudioでは利用できません。
アプリ内プロダクト
このセクションでは、ユーザーが購入できるようにアプリ/ゲーム内にリストアップしたいアプリ内プロダクトを追加および変更する手順について説明します。
アプリ内プロダクトを追加する方法
- nowStudioにログインします。
- 全アプリをクリックします。
- トップナビゲーションで決済をクリックします。
- 左サイドバーのアプリ内プロダクトセクションをクリックします。
- 以下の内どちらかを選択します。
一括インポート
このオプションを使用すると、アプリ内プロダクトをnowStudioに一括インポートできます。
手順は以下の通りです。
- 画面右上の「一括インポート」ボタンをクリックします。
- 下図のように+アイコンをクリックします。
- アプリ内プロダクトを含む.csvファイルを選択します
- (CSVファイルは提供された形式に基づいて準備する必要があります。「CSV形式をダウンロード」リンクをクリックしてCSV形式をダウンロードしてください)
- ベース通貨を有効にする(オプション)
- ベース通貨オプションを有効にすると、CSVに特定の地域の価格が記載されていない製品を当社が更新します。
- その地域の新しい価格は、選択されたベース価格と最新の為替レートに基づいて決定されます。
- ターゲット地域のすべての製品にベース価格を設定するようにしてください。
- 「インポート」をクリックします。
サポートされている CSV エンコーディング
言語/スクリプト |
エンコーディング |
概要 |
汎用 |
ASCII, UTF-8, UTF-16 (LE, BE), UTF-32 (LE, BE, LE BOM付き, BE BOM付き) |
BOM = バイトオーダーマーク |
中国語 |
Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN(繁体と簡体) |
繁体字と簡体字に対応;ISO-2022-CNは両方をサポート |
日本語 |
EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP |
SHIFT_JISとCP932はWindows環境でよく使用されます。 |
韓国語 |
EUC-KR, ISO-2022-KR, Johab |
EUC-KRは広くサポートされていますが、Johabはあまり一般的ではありませんが、一部のアプリケーションで役立ちます。 |
キリル文字(ブルガリア語を含む) |
KO18-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, Windows-1251 |
ISO-8859-5およびWindows-1251はブルガリア語にも対応しています。 |
西ヨーロッパ |
ISO-8859-1, Windows-1252, MacRoman |
西ヨーロッパ言語に一般的に使用されます。 |
ギリシャ語 |
ISO-8859-7, Windows-1253 |
ギリシャ語に一般的に使用されます。 |
ヘブライ語 |
ISO-8859-8, Windows-1255(ビジュアルおよび論理) |
ビジュアル/論理モードは、異なるテキストレンダリングシステムとの互換性のためにサポートされています。 |
タイ語 |
TIS-620 |
タイ語テキストのエンコーディング標準です。 |
重要な情報
- ターゲット地域のすべての製品にベース価格を設定するようにしてください。
- ゲームがGoogle Play ストアで公開され、既存のアプリ内プロダクトがある場合、Google Play ConsoleからCSVとしてエクスポートできます。
- nowStudioがサポートするCSV形式はこちらからダウンロードできます。
- 提供されたCSV形式内で、プロダクト画像を追加列として追加し、一括インポート機能を使用してアプリ内プロダクトをnowStudioに追加します。
プロダクトの追加
このオプションを使用すると、nowStudioにアプリ内プロダクトを追加できます。
注意: nowStudioでは、アプリ内プロダクトに翻訳を追加し、世界中のユーザにローカライズされた体験を提供することができます。ユーザの言語設定が、追加された翻訳言語と一致する場合、IAP製品の翻訳バージョンが表示されます。
そのために以下の情報を提供してください。:
- プロダクトID
- 表示タイトル
- 説明文
- アイコン – 「ファイルを選択」クリックします。
- サイズ – 1024 x 1024px
- 画像形式 – JPG、JPEG、PNG
- 最大サイズ – 10 Mb
- 価格の選択
- ドロップダウンメニューを使用して以下を行います。
- 以前に作成した価格テンプレートを選択します。
- まだ作成していない場合は、新しい価格テンプレートを作成します。
- [テンプレートの編集] をクリックして、選択した価格テンプレートを編集します。
- プロダクトの基本価格が、選択した価格テンプレートから取得されます。
- 「現地の価格を表示」をクリックすると、表示された基本価格を自国の通貨に変換することができます。
- 保存をクリックします。
プロダクトが追加されると、アプリ内プロダクトセクションに表示されます。
- 上記のように、追加されたアプリ内製品を「CSVエクスポート」をクリックしてエクスポートすることもできます。
重要な情報
- 表示タイトルと説明フィールドに翻訳を設定することができます。
- 各ロケール/言語は、スペースやカンマではなく改行で区切る必要があります。
- 翻訳は追加されたロケールにのみ表示され、それ以外のロケールにはすべて英語のコンテンツが提供されます。
- 英語のコンテンツが提供されていない場合、最初のロケールをデフォルトとして扱います。
- 翻訳を追加するには、標準のロケールタグとフォーマットを使用します。
- IAP翻訳フォーマット例
- 表示タイトル –
en-US: Sample Display Title
ja-JP: 表示タイトル例
ko-KR: 샘플 표시 제목
- 説明 –
en-US: Sample Description text
ja-JP: サンプル説明テキスト
ko-KR: 샘플 설명 텍스트
アプリ内プロダクトを変更する
追加済みのアプリ内プロダクトに変更を加える方法
- アプリ内プロダクトセクションに移動します。
- 変更したいアプリ内プロダクトの前にある「詳細を表示」をクリックします。
- 必要な変更を行ったら、「保存」をクリックします。
プロダクトの削除
プロダクトを削除するには
- アプリ内プロダクトセクションに移動します。
- 削除したいアプリ内プロダクトの前にある「詳細を表示」をクリックします。
- 下隅にある [削除] をクリックします。
- 確認ウィンドウで、「削除」をクリックします。
- アプリ内アイテムは削除されます。
重要な情報
- 一度アプリ内製品を削除すると、同じ製品IDで別の製品を追加することはできません。
- 価格テンプレートは、追加した複数のアプリで再利用できます。
- 価格テンプレートを管理・設定するには、こちらのリンクを参照してください。
サブスクリプション
このセクションでは、ユーザーが購入できるように、アプリ/ゲーム内にリストしたいサブスクリプションを追加および変更する手順について説明します。
サブスクリプションの追加方法:
- nowStudio にログインします。
- 全アプリをクリックします。
- サブスクリプションを作成したいアプリの横にある 詳細を表示 をクリックします。
- 上部のナビゲーションで 決済 をクリックします。
- 左サイドバーの サブスクリプション セクションをクリックします。
- 画面右上の サブスクリプションの作成 をクリックします
サブスクリプションを作成する
このオプションを使用すると、nowStudio にサブスクリプションを追加できます。
注意: nowStudio を使用すると、ユーザーが世界中でローカライズされた体験を提供するために、サブスクリプションの翻訳を追加できます。ユーザーの言語設定が追加した翻訳言語と一致する場合、翻訳されたバージョンが表示されます。
以下の情報を提供してください:
- 製品 ID
- 製品 ID には数字、小文字および大文字の英字、アンダースコア、ピリオドしか含めることができません。
- サブスクリプションの詳細
- 名前
- サブスクリプションの短い名前です。ユーザーはこれを電子メールで見ることができます。
- このフィールドは複数の値(翻訳)を新しい行で区切ってサポートしています。 詳細はこちらを参照してください。
- 説明
- サブスクリプションのオプションの説明です。
- このフィールドは複数の値(翻訳)を新しい行で区切ってサポートしています。 詳細はこちらを参照してください。
- 特典
- Add Benefit をクリックして、最大4つの特典を追加し、ユーザーがサブスクリプションを申し込んだときに得る内容を理解するのに役立ちます。
- このフィールドは複数の値(翻訳)を新しい行で区切ってサポートしています。 詳細はこちらを参照してください。
- 請求期間
- ドロップダウンリストからサブスクリプションの請求期間を選択します。
- サポートされている請求期間には以下があります:
- 月次(デフォルト選択)
- 週次
- 4週ごと
- 2ヶ月ごと
- 3ヶ月ごと
- 4ヶ月ごと
- 6ヶ月ごと
- 8ヶ月ごと
- 年次
- 価格設定
- ドロップダウンメニューを使用して:
- 以前に作成した価格テンプレートを選択するか、
- 新しい価格テンプレートを作成します(作成していない場合)。
- テンプレートを作成した後、それを選択できます。
- 選択した価格テンプレートを編集するには 編集 をクリックします。
- 価格テンプレートは、追加した複数のアプリで再利用できます。
- 価格テンプレートを管理・設定するには、こちらのリンクを参照してください。
- プロダクトの基本価格が、選択した価格テンプレートから取得されます。
- 表示されている基本価格を自分の通貨に変換するには、ローカル価格を見るをクリックしてください。
- 「保存」をクリックします
サブスクリプションが追加されると、サブスクリプションセクションに表示されます。
重要な情報
- 表示タイトル、説明、および利点フィールドの翻訳を提供できます。
- 各ロケール/言語は、スペースやカンマではなく改行で区切る必要があります。
- 翻訳は追加されたロケールにのみ表示され、それ以外のロケールにはすべて英語のコンテンツが提供されます。
- 英語のコンテンツが提供されていない場合、最初のロケールをデフォルトとして扱います。
- 翻訳を追加するには、標準のロケールタグとフォーマットを使用します。
- IAP翻訳フォーマット例
- 表示タイトル –
en-US: Sample Display Title
ja-JP: 表示タイトル例
ko-KR: 샘플 표시 제목
- 説明 –
en-US: Sample Description text
ja-JP: サンプル説明テキスト
ko-KR: 샘플 설명 텍스트
- 利点 –
en-US: Sample Benefit
ja-JP: サンプルの利点
ko-KR: 샘플 혜택
サブスクリプションの変更
追加済みのサブスクリプションに変更を加える方法:
- 「サブスクリプション」セクションで以下を行います。
- 変更するサブスクリプションの名前に対して「詳細を表示」をクリックします。
- 必要な変更を行ったら、「更新」をクリックします。
サブスクリプションの削除
サブスクリプションを削除する方法
- サブスクリプション」セクションで以下を行います。
- 削除したいサブスクリプションの前にある「詳細を表示」をクリックします。
- 画面下にある「削除」をクリックします。
- 確認画面で「削除」をクリックします。
- サブスクリプションが削除されます。
重要な情報
- 一度サブスクリプションを削除すると、同じプロダクトIDで別のサブスクリプションを追加することはできません。
支払い設定
このセクションを使用して、サブスクリプションの以下の支払い設定を構成することができます。
以下を構成できます:
- Callback URL
取引後にリクエストデータを送信するために使用するコールバックURLを提供してください。
- APIキー
取引後に送信されるリクエストデータと共に渡されるAPIキーです。API呼び出しの正当性を確認するために使用できます。(こちらで再生成/表示)
Subscription Status Callback API
(開発者提供)
このセクションでは、SubscriptionStatusCallback
API を提供し、サブスクリプションの状態更新に関する通知を送信するための API 仕様を示しています。
重要
- これは開発者提供のAPIです。このAPIを使用して、ここで定義されているサブスクリプションの状態更新を送信します。
SubscriptionStatusCallback
API は、サブスクリプションの状態を更新するために使用されます。以下は注文処理に関連するワークフローです:
- nowStudio はこのAPIを使用して、リクエストデータをゲームのバックエンドに送信します。
- ゲームのバックエンドは、当社から提供されたAPIキー(Webhook APIキー)を使用してリクエストを認証できます。
- サブスクリプションの現在のステータスに基づいて、ユーザーに購入権を割り当てることができます。 (こちらで定義されています)。
- 提供されたコールバックURLを使用してリクエストデータを送信した後、当社のAPIからの応答を待ちます。
- 成功ステータスが true の200のレスポンスが得られない場合、一定時間リトライを続けます。
リクエストメソッド
リクエストヘッダー
Authorization: "<API-Key Here>"
Content-type: application/json
注意: このセクションを使用して、APIキーを表示/再生成することができます。
Request Body
以下のパラメータがリクエストボディに含まれます。
パラメータ |
タイプ |
サンプル値 |
概要 |
notificationType |
string |
Defined here |
サブスクリプションの状態更新に基づく特定のイベントが送信されます。 |
data |
object |
|
|
データオブジェクトのパラメータ
次のパラメータはデータ オブジェクトに関連付けられます。
パラメータ |
タイプ |
サンプル値 |
概要 |
orderId |
string |
1-202402110116343 |
購入注文に関連付けられた注文ID |
packageName |
string |
gg.now.sample.app |
自身のアプリのパッケージ名 |
productId |
string |
SampleProduct |
ユーザーが購入したプロダクトに関連付けられたプロダクトID |
eventTime |
long |
1707965194000 |
注文に関連付けられたエポックタイムスタンプ |
amount |
float |
24.99 |
注文に関連付けられた数量 |
isTestOrder |
boolean |
true |
True/False |
currency |
string |
USD |
アプリ内購入注文に関連する通貨 |
paymentId |
string |
1234 |
アプリケーションの固有識別子。 |
developerPayload |
string |
{UID: abc} |
注文に関する補足情報を含む、開発者が指定した文字列。 |
予想されるレスポンス
以下は、SubscriptionStatusCallback
API に関連付けられた予想されるレスポンスのサンプルです。
{
"success": true,
"reason": "reason_for_failure". // Optional Param. Only required if success is false.
}
notificationType Events
以下のイベントは notificationType
で送信されます。
イベント |
説明 |
WEBSHOP_ITEM_PURCHASED |
Webショップのアイテムが購入されたときに送信されます。 |
SUBSCRIPTION_PURCHASED |
サブスクリプションが購入されたときに送信されます。 |
SUBSCRIPTION_RENEWED |
サブスクリプションが更新されたときに送信されます。 |
SUBSCRIPTION_CANCELLED |
サブスクリプションがキャンセルされたときに送信されます。 |
SUBSCRIPTION_EXPIRED |
サブスクリプションが期限切れになったときに送信されます。 |
Webhookのテスト
この機能により、サブスクリプション製品の状態更新をバックエンドサーバーに送信するSubscriptionStatusCallback
APIを便利にテストできます。
重要
- Webhookのテストはテストユーザーのサブスクリプション注文のみで動作します。
- 以下の項目を確認してください:
Webhookのテスト方法:
- 全アプリをクリックします。
- now.gg Paymentsと一緒にアプリ名の前にある「詳細を表示」をクリックします。
- トップナビゲーションバーで「決済」をクリックします。
- 左側のナビゲーションでWebhookのテストをクリックします。
- 通知タイプを選択します:
SUBSCRIPTION_RENEWED
– サブスクリプションを更新します。
SUBSCRIPTION_EXPIRED
– サブスクリプションを期限切れにします。
- 送信をクリックします。
- この操作によりアプリのバックエンドに通知され、サブスクリプション購入時に提供された開発者ペイロードと共に送信されます。
- 成功したコールバックはトーストメッセージ ‘Webhook called successfully‘ で確認されます。
- エラーはエラー情報とともにトーストメッセージで通知されます。
注意:
SUBSCRIPTION_RENEWED
のWebhookは指定された注文IDのサブスクリプションを更新します。ただし、更新されたサブスクリプションは新しい注文IDを生成します。
SUBSCRIPTION_RENEWED
のWebhookは有効なサブスクリプションにのみ対応し、期限切れまたはキャンセルされた状態のサブスクリプションを更新することはできません。
- サブスクリプションがキャンセルされたり、期限切れになった場合、ゲーム内で再購入することができます。
内部テスター
内部テストでは、決済モジュールとアプリの統合をテストできます。アプリのテスターを追加して、提供されたnow.gg通貨を使用してアプリ内購入を実行し、完全な購入フローをテストできます。
テスターを追加する方法
- 「全アプリ」に移動します。
- 統合をテストしたいアプリの「詳細を表示」をクリックします。
- 左サイドバーの「テスター」をクリックします。
- 「テスターを追加」をクリックします。
- now.gg決済を使用して既存のゲームにログインしている場合は、テストに使用するユーザーのゲーム内ユーザーID(IN_GAME_ID)を入力します。
- 決済を用いたNow.ggログインを使用している場合は、テストに使用するユーザーのメールアドレスを入力します。
- 「追加」をクリックします。
「テスターが正常に追加されました」という確認画面が表示されます。
重要な情報
- ゲームをnow.gg決済で既存のログインを使用する場合、ゲーム内IDを入力してユーザーをテスターとして追加し、決済をテストする必要があります。
- テスターを追加した後、now.gg決済の統合テストを続けることができます。
テスターを削除する方法
- 「全アプリ」に移動します。
- 統合をテストしたいアプリの「詳細を表示」をクリックします。
- 左サイドバーの「テスター」をクリックします。
- 以下のようにテスターのリストが表示されます。
- 以下のように確認画面が表示されます。
- 「削除」をクリックします。
「テスターが正常に削除されました」という確認画面が表示されます。
認証情報
now.ggクラウドは、アプリと統合できる様々なAPIとサービスを提供しています。開始する前に、必要な認証情報があることを確認してください。
- 認証情報を生成して表示する手順は、こちらに記載されています。