Classic/VPC環境で利用できます。
アイテム支給やログイン検証のために、サーバからサーバへとリクエストを送信するように設定する方法を説明します。
決済アイテム支給のリクエスト
Webフックで HTTPリクエストを送信し、決済またはクーポンの使用によるアイテム支給を行うように設定できます。
アイテム支給のために Webフックで HTTPリクエストを送信するように設定する方法は、以下のとおりです。
- 管理者アカウントでダッシュボードにログインします。
- プロジェクトの設定 > 一般メニューを順にクリックします。
- Webhook領域の決済アイテム(サービス) または クーポンアイテム(サービス) の入力欄に、以下のガイドを参照して HTTP/ HTTPS URLリクエストを入力します。
- 決済後のアイテム支給は、決済後のリクエストおよびレスポンスをご参照ください。
- クーポン使用後のアイテム支給は、クーポン使用後のリクエストおよびレスポンスをご参照ください。
- テストユーザーにアイテムを支給する場合は、(テストユーザー) 表示のある入力欄にリクエストを入力します。
- [変更] ボタンをクリックします。
決済後のリクエストおよびレスポンス
以下の表およびコードを参照して HTTPリクエストおよびレスポンスを設定します。
- リクエスト
https://{domain}? userId={uuid}&orderId={orderId}&projectId={projectId}&platform={platform}&productId={productId}&store={store}&payment={payment}&transactionId={transactionId}&gamepotOrderId={gamepotOrderId}&uniqueId={uniqueId}&tp={tp}属性 タイプ 最大長さ 説明 userIdString128 ユーザー ID transactionIdString512 注文番号(GPA-xxxx-xxxx-) storeString64 ストア情報( apple,google,one)projectIdString128 プロジェクト ID productIdString256 Google/Apple/ONE Storeに登録されている商品 ID platformString128 運用プラットフォーム情報( android,ios)paymentString64 決済方法 uniqueIdString512 Unique id(purchase apiの呼び出し時に入力した uniqueId)gamepotOrderIdString512 GAMEPOT Order ID serverIdString- serverId(purchase apiの呼び出し時に入力した serverId)playerIdString- playerId(purchase apiの呼び出し時に入力した playerId)tpInteger- 1: テスト決済
0: 一般決済etcString- etc(purchase apiの呼び出し時に入力した etc)
- レスポンス
{ "status": 1, "message" : "" }属性 タイプ 説明 statusInteger結果値 0: 失敗、1: 成功messageStringエラー内容
プレゼントするおよびクーポン使用後のリクエストとレスポンス
以下の表およびコードを参照して HTTPリクエストおよびレスポンスを設定します。
-
リクエスト
https://{domain}? userId={userId}&projectId={projectId}&platform={platform}&store={store}&userData={userData}&itemId=[{itemData}, {itemData}, ...]属性 タイプ 最大長さ 説明 userIdString128 ユーザー ID(ダッシュボードでゲーム > プレゼントする > 対象の値が全体の場合は、 all)projectIdString128 プロジェクト ID platformString128 運用プラットフォーム情報( android,ios)storeString64 ストア情報( apple,google,one)titleString- ダッシュボード > ゲーム > プレゼントする > タイトルに入力した値 contentString- ダッシュボード > ゲーム > プレゼントする > 説明に入力した値 targetString- GAMEPOTダッシュボード > ゲーム > プレゼントする > 対象値 - 全体: all / ユーザー ID: user expireMsString- ダッシュボード > ゲーム > プレゼントする > 満了日に入力した値の Timestamp(GMT+9) userDataString- クライアント SDKクーポン APIの呼び出し時に2個目のパラメータに入力した値、またはダッシュボード > ゲーム > プレゼントする > UserDataに入力した値 itemIdArray- itemData Array - itemData(JSON) {"item_id" : String, "store_item_id" : String, "count" : Number}item_id: ダッシュボードゲーム > アイテムで作成したアイテム項目の固有 IDstore_item_id: 支給するアイテム IDcount: 支給するアイテム数 -
レスポンス
{ "status": 1, "message" : "" }属性 タイプ 説明 statusInteger結果値 0: 失敗、1: 成功messageStringエラー内容
ログイン検証のリクエスト(任意)
会員がログイン完了後に取得した情報を用いて、GAMEPOTサーバにログイン検証をリクエストできます。
ログイン検証は1段階の GAMEPOTのトークン検証、2段階のソーシャルメディアのアカウント検証の順で行われます。 2段階の検証手続で検証に失敗した場合は、GAMEPOTの利用停止機能が動作し、そのアカウントが利用停止処理されます。
1段階の GAMEPOTのトークン検証機能を同期処理しないでください。 1段階のトークン検証機能を同期処理する場合は、ネットワーク通信に遅延が発生する可能性が非常に高く、これにより会員が正常にゲームをプレイできないことがあります。 そのため、1段階のトークン検証機能を非同期に処理し、その後の過程で利用停止機能が適用されるように実装します。
- 管理者アカウントでダッシュボードにログインします。
- プロジェクトの設定 > 一般メニューを順にクリックし、Auth Key領域に各開発コンソールで取得した IDとキー値を入力します。
- 2段階の検証手続および利用停止機能を使用したくない場合は、この手続を省略してください。
- 以下のリクエスト、レスポンスおよびエラーコードを参照してログイン検証をリクエストします。
リクエスト、レスポンスおよびエラーコード
以下の表およびコードを参照してログイン検証リクエスト、レスポンスおよびエラーコードを設定します。
-
リクエスト
POST url : https://gamepot.apigw.ntruss.com/gpapps/v1/loginauth Header : 'content-type: application/json' data: { "projectId": {GamePot SDKの projectId}, "memberId": {GamePot SDKの memberid(ユーザー ID)}, "token": {GamePot SDKの Token}, "remoteip": {ログインしたアカウントの IPアドレス情報}, "platform": "" }属性 タイプ 最大長さ 説明 projectIdString128 GAMEPOT SDKのプロジェクト ID memberIdString128 GAMEPOT SDKのユーザー ID tokenString2048 GAMEPOT SDKの Token remoteipString- ログインしたアカウントの IPアドレス情報 (例: XXX.XXX.XXX.XXX) platformString- pcプラットフォームを使用する場合にのみ pcに設定
- レスポンス
{ "status": 1, "message" : "" }属性 タイプ 説明 statusInteger結果値 1: 成功
失敗は以下のエラーコードを参照messageStringエラー内容
- エラーコード
コード 説明 0bodyに抜け漏れデータがある場合。
HTTPリクエスト時にprojectId,memberId,tokenをすべて入力したか確認-1Token検証失敗。
Tokenが改ざんされた場合-2MemberId検証失敗。
Tokenのユーザー ID情報と bodyのユーザー ID情報が一致しない場合-3Token期限切れ。
SDK login apiが成功した時刻とその Authentication checkをリクエストした時刻の間に60分以上の差が生じた場合
外部決済
外部決済との連携のためにサーバ間のリクエストを設定できます。
その機能を使用する前に、必ず NAVERクラウドプラットフォームに詳しい使用方法についてお問い合わせください。
リクエスト、レスポンスおよびエラーコード
-
リクエスト
POST url : https://gamepot.apigw.ntruss.com/gpapps/v2/thirdparty/purchase Header : 'content-type: application/json' Header : 'x-api-key: xxxxxxxxxxx' data: { "projectId": "e948e5bc-dccd-4729-b9b0-b547ae34b85d", "store": "tpay", "productId": "purchase_001", "transactionId": "t-123412812-sadl-2384-75847", "memberId":"89a907ed-0e1d-42fb-ae4d-75e95581220d", "currency": "KRW", "price":1000, "paymentId": "prepaid", "uniqueId": "" }ヘッダ タイプ 必須 説明 x-api-keyString必須 GAMEPOTで発行する認証キー 属性 タイプ 最大長さ 説明 projectIdString128 GAMEPOT SDKのプロジェクト ID storeString64 決済ストア productIdString256 決済したアイテム ID transactionIdString512 決済の固有 ID memberIdString128 GAMEPOT SDKのユーザー ID currencyString64 決済通貨 priceNumber- 決済金額 paymentIdString64 決済手段 uniqueIdString512 ゲーム内決済の固有 ID
- レスポンス
{ "status": 1, "message" : "" }属性 タイプ 説明 statusInteger結果値 1: 成功
失敗は以下のエラーコードを参照messageStringエラー内容
- エラーコード
コード 説明 -1bodyに抜け漏れデータがある場合。
HTTPリクエスト時にprojectId,transactionId,productId,store,memberIdをすべて入力したか確認-2priceの値がnumberタイプではない場合-3projectIdがない場合-4プロジェクトがそのAPIに対応しない場合。
GAMEPOTにお問い合わせ-5transactionIdが既に存在する場合-6DBエラー。
GAMEPOTにお問い合わせ