Server to Server の設定
    • PDF

    Server to Server の設定

    • PDF

    Article Summary

    Classic/VPC環境で利用できます。

    アイテム支給やログイン検証のために、サーバからサーバへとリクエストを送信するように設定する方法を説明します。

    決済アイテム支給のリクエスト

    Webフックで HTTPリクエストを送信し、決済またはクーポンの使用によるアイテム支給を行うように設定できます。

    アイテム支給のために Webフックで HTTPリクエストを送信するように設定する方法は、以下のとおりです。

    1. 管理者アカウントでダッシュボードにログインします。
    2. プロジェクトの設定 > 一般メニューを順にクリックします。
    3. Webhook領域の決済アイテム(サービス) または クーポンアイテム(サービス) の入力欄に、以下のガイドを参照して HTTP/ HTTPS URLリクエストを入力します。
    4. [変更] ボタンをクリックします。

    決済後のリクエストおよびレスポンス

    以下の表およびコードを参照して 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
      productIdString256Google/Apple/ONE Storeに登録されている商品 ID
      platformString128運用プラットフォーム情報(android, ios)
      paymentString64決済方法
      uniqueIdString512Unique id(purchase apiの呼び出し時に入力したuniqueId)
      gamepotOrderIdString512GAMEPOT 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: ダッシュボードゲーム > アイテムで作成したアイテム項目の固有 ID
      store_item_id: 支給するアイテム ID
      count: 支給するアイテム数
    • レスポンス

      {
          "status": 1,
          "message" : ""
      }
      
      属性タイプ説明
      statusInteger結果値
      0: 失敗、1: 成功
      messageStringエラー内容

    ログイン検証のリクエスト(任意)

    会員がログイン完了後に取得した情報を用いて、GAMEPOTサーバにログイン検証をリクエストできます。

    ログイン検証は1段階の GAMEPOTのトークン検証、2段階のソーシャルメディアのアカウント検証の順で行われます。 2段階の検証手続で検証に失敗した場合は、GAMEPOTの利用停止機能が動作し、そのアカウントが利用停止処理されます。

    注意

    1段階の GAMEPOTのトークン検証機能を同期処理しないでください。 1段階のトークン検証機能を同期処理する場合は、ネットワーク通信に遅延が発生する可能性が非常に高く、これにより会員が正常にゲームをプレイできないことがあります。 そのため、1段階のトークン検証機能を非同期に処理し、その後の過程で利用停止機能が適用されるように実装します。

    1. 管理者アカウントでダッシュボードにログインします。
    2. プロジェクトの設定 > 一般メニューを順にクリックし、Auth Key領域に各開発コンソールで取得した IDとキー値を入力します。
      • 2段階の検証手続および利用停止機能を使用したくない場合は、この手続を省略してください。
    3. 以下のリクエスト、レスポンスおよびエラーコードを参照してログイン検証をリクエストします。

    リクエスト、レスポンスおよびエラーコード

    以下の表およびコードを参照してログイン検証リクエスト、レスポンスおよびエラーコードを設定します。

    • リクエスト

      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": ""
      }
      
      属性タイプ最大長さ説明
      projectIdString128GAMEPOT SDKのプロジェクト ID
      memberIdString128GAMEPOT SDKのユーザー ID
      tokenString2048GAMEPOT 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で発行する認証キー
      属性タイプ最大長さ説明
      projectIdString128GAMEPOT SDKのプロジェクト ID
      storeString64決済ストア
      productIdString256決済したアイテム ID
      transactionIdString512決済の固有 ID
      memberIdString128GAMEPOT 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にお問い合わせ

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.