Server to Server 설정
    • PDF

    Server to Server 설정

    • PDF

    Article Summary

    Classic/VPC 환경에서 이용 가능합니다.

    아이템 지급, 로그인 검증을 위해 서버에서 서버로 요청을 발송하도록 설정하는 방법을 설명합니다.

    결제 아이템 지급 요청

    웹훅을 통해 HTTP 요청을 발송하여 결제 또는 쿠폰 사용에 따른 아이템 지급을 진행하도록 설정할 수 있습니다.

    아이템 지급을 위해 웹훅으로 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
      productIdString256구글/애플/원스토어에 등록된 상품 ID
      platformString128운영 Platform 정보 (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운영 Platform 정보 (android, ios)
      storeString64스토어 정보(apple, google, one)
      titleString-대시보드 > 게임 > 선물하기 > 제목에 입력한 값
      contentString-대시보드 > 게임 > 선물하기 > 설명에 입력한 값
      targetString-게임팟 대시보드 > 게임 > 선물하기 > 대상 값 - 전체 : all / 사용자ID : user
      expireMsString-대시보드 > 게임 > 선물하기 > 만료일에 입력한 값 Timestamp ( GMT+9 )
      userDataString-클라이언트 SDK 쿠폰 API 호출 시 두 번째 파라미터에 입력한 값 또는 대시보드 > 게임 > 선물하기 > 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": {로그인한 계정의 아이피 정보},
          "platform": ""
      }
      
      속성타입최대 길이설명
      projectIdString128GAMEPOT SDK의 프로젝트 ID
      memberIdString128GAMEPOT SDK의 사용자 ID
      tokenString2048GAMEPOT SDK의 Token
      remoteipString-로그인한 계정의 아이피 정보 ( ex) 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분 이상 차이가 있는 경우

    외부 결제

    외부 결제 연동을 위해 서버 간 요청을 설정할 수 있습니다.

    해당 기능을 사용하기 전 반드시 네이버 클라우드 플랫폼에 자세한 사용법에 관해 문의해 주십시오.

    요청, 응답 및 오류 코드

    • 요청

      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.