概要

事前にアイテム登録する購入フローで説明したように、便利な管理ツールでアイテム管理をすることもできますが、既存アイテムの割引や大量アイテムの追加、ゲームの運営チームのニーズに合ったアイテム管理ツールの拡張を行いたい場合、このツールを利用せずにアイテム購入処理を行うことも出来ます。
ここでは、Mobage Developers Japan(デベロッパーサイト) で事前にアイテム登録しない仕組みを利用した場合の、アイテム購入フローを開発していきます。

作成するファイル一覧

このチュートリアルで作成するファイルは下記になります。

ファイル名

概要

config.php

各種設定値をまとめます

purchase.php

購入画面の UI を実装しています

purchase.js

Client から Platform や Game Server に決済処理をリクエストするための機能を実装しています

order.php

purchase.js からリクエストされ、決済トランザクションを作成します

fulfill_order.php

purchase.js からのリクエストでユーザーにアイテムを付与します

cancel.php

purchase.js からのリクエストで、購入キャンセル時に Game Server でのアイテム管理ステータスをキャンセルにします

チュートリアルをはじめる前に

このチュートリアルは、以下のチュートリアルを終わらせている前提で進めます。
以下のチュートリアルでファイル作成していない場合は、先にそちらを完成させましょう。

サンプルコードのダウンロード

Github からサンプルコードを clone できます。

また、以下のライブラリを利用するので、ダウンロードしておきます。

事前にアイテム登録されてない場合

事前にアイテム登録されていない場合のアイテム購入フローの概要

事前にアイテム登録されていない場合のアイテム購入フローは以下のような流れとなります。 各番号における概要を以下で説明してきます。

 

A. 決済処理開始(トランザクションの作成)
0. ユーザがアイテム購入ボタンを押します。
1. Game Server に決済トランザクション作成リクエストを送信します。
2. Game Server から Bank Debit API にトランザクション取得リクエストを送信します。
3. Bank Debit API から Game Server へトランザクション取得レスポンスが返ります。
4. Order データの作成します。
5. Order ID を取得します。
6. 決済トランザクションの作成レスポンスを返します。

B. コインの引き落とし(トランザクションのクローズ)
100. mobage.ui.open() を用いて Payment サービスを呼び出します。
101. Transactionid と status (authorized) をローカルストレージに保存されます。
102. サービス用 window を作成します。
103. Payment サービス確認リクエストが送られます。
104. コイン残高確認が行われます。
105. Payment サービスの確認レスポンスが返ります。
106. アイテム決済確認画面が表示されます。
107. ユーザが「購入する」を押す。
108. Payment サービスへ確認リクエストが送られます。
109. Payment サービスから課金レスポンスが返ります。
110. Payment サービス結果が通知されます。
111. Transactionid と status (closed) がトーカルストレージに保存されます。
112. mobage.ui.open() の callback 関数が実行されます。

C.アイテム付与
200. アイテム付与リクエストが GameServer に送られます。
201. Bank Debit API へトランザクション取得リクエストを送ります。 ※ Order ID を生成していない場合のみ。
202. Bank Debit API からレスポンスが返ります。 ※ Order ID を生成していない場合のみ。
203. アイテム課金結果の検証を行います。
204. Order データの作成、または更新リクエストを行います。
205. レスポンスが返ります。
206. アイテム付与レスポンスを返します。
 
D. アイテム購入が失敗したときの処理
アイテム購入が失敗したときの処理 を参考に、アイテム購入が失敗したときの処理を行ってください。

開発のステップ

Mobage Developers Japan(デベロッパーサイト)で事前にアイテム登録しないアイテム購入フロー を実現するために、大きく以下の4ステップで進めます。

  1. 決済処理開始(トランザクションの作成)
  2. コインの引き落とし(トランザクションのクローズ)
  3. アイテム付与
  4. アイテム購入が失敗したときの処理

それぞれの処理について、次ページ以降にてチュートリアル形式で説明していきます。

PREVIOUS

事前にアイテム登録されてない場合

NEXT

決済処理開始(トランザクションの作成)