- 인쇄
- PDF
Server to Server 설정
- 인쇄
- PDF
Classic/VPC 환경에서 이용 가능합니다.
아이템 지급, 로그인 검증을 위해 서버에서 서버로 요청을 발송하도록 설정하는 방법을 설명합니다.
결제 아이템 지급 요청
웹훅을 통해 HTTP 요청을 발송하여 결제 또는 쿠폰 사용에 따른 아이템 지급을 진행하도록 설정할 수 있습니다.
아이템 지급을 위해 웹훅으로 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}
속성 타입 최대 길이 설명 userId
String
128 사용자 ID transactionId
String
512 주문번호(GPA-xxxx-xxxx-) store
String
64 스토어 정보( apple
,google
,one
)projectId
String
128 프로젝트ID productId
String
256 구글/애플/원스토어에 등록된 상품 ID platform
String
128 운영 Platform 정보 ( android
,ios
)payment
String
64 결제 방식 uniqueId
String
512 Unique id (purchase api 호출 시 입력한 uniqueId
)gamepotOrderId
String
512 GAMEPOT Order ID serverId
String
- serverId (purchase api 호출 시 입력한 serverId
)playerId
String
- playerId (purchase api 호출 시 입력한 playerId
)tp
Integer
- 1: 테스트 결제
0: 일반 결제etc
String
- etc (purchase api 호출 시 입력한 etc
)
- 응답
{ "status": 1, "message" : "" }
속성 타입 설명 status
Integer
결과값
0
: 실패,1
: 성공message
String
오류 내용
선물하기 및 쿠폰 사용 후 요청 및 응답
아래 표 및 코드를 참조하여 HTTP 요청 및 응답을 설정해 주십시오.
요청
https://{domain}? userId={userId}&projectId={projectId}&platform={platform}&store={store}&userData={userData}&itemId=[{itemData}, {itemData}, ...]
속성 타입 최대 길이 설명 userId
String
128 사용자 ID (대시보드에서 게임 > 선물하기 > 대상 값이 전체인 경우 all
)projectId
String
128 프로젝트 ID platform
String
128 운영 Platform 정보 ( android
,ios
)store
String
64 스토어 정보( apple
,google
,one
)title
String
- 대시보드 > 게임 > 선물하기 > 제목에 입력한 값 content
String
- 대시보드 > 게임 > 선물하기 > 설명에 입력한 값 target
String
- 게임팟 대시보드 > 게임 > 선물하기 > 대상 값 - 전체 : all / 사용자ID : user expireMs
String
- 대시보드 > 게임 > 선물하기 > 만료일에 입력한 값 Timestamp ( GMT+9 ) userData
String
- 클라이언트 SDK 쿠폰 API 호출 시 두 번째 파라미터에 입력한 값 또는 대시보드 > 게임 > 선물하기 > UserData에 입력한 값 itemId
Array
- itemData Array - itemData(JSON) {"item_id" : String, "store_item_id" : String, "count" : Number}
item_id
: 대시보드 게임 > 아이템에서 생성한 아이템 항목의 고유 IDstore_item_id
: 지급할 아이템 IDcount
: 지급할 아이템 수응답
{ "status": 1, "message" : "" }
속성 타입 설명 status
Integer
결과값
0
: 실패,1
: 성공message
String
오류 내용
로그인 검증 요청 (선택)
회원이 로그인을 완료할 때 얻은 정보로 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": {로그인한 계정의 아이피 정보}, "platform": "" }
속성 타입 최대 길이 설명 projectId
String
128 GAMEPOT SDK의 프로젝트 ID memberId
String
128 GAMEPOT SDK의 사용자 ID token
String
2048 GAMEPOT SDK의 Token remoteip
String
- 로그인한 계정의 아이피 정보 ( ex) XXX.XXX.XXX.XXX ) platform
String
- pc 플랫폼 사용하는 경우에만 pc로 설정
- 응답
{ "status": 1, "message" : "" }
속성 타입 설명 status
Integer
결과값
1
: 성공
실패는 아래 오류 코드 참조message
String
오류 내용
- 오류 코드
코드 설명 0
body에 누락된 데이터가 있는 경우.
HTTP 요청 시projectId
,memberId
,token
을 모두 입력하였는지 확인-1
Token 검증 실패.
Token이 조작된 경우-2
MemberId 검증 실패.
Token의 사용자 ID 정보와 body의 사용자 ID가 일치하지 않은 경우-3
Token 만료.
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-key
String
필수 GAMEPOT에서 발급하는 인증 키 속성 타입 최대 길이 설명 projectId
String
128 GAMEPOT SDK의 프로젝트 ID store
String
64 결제 스토어 productId
String
256 결제한 아이템 ID transactionId
String
512 결제 고유 ID memberId
String
128 GAMEPOT SDK의 사용자 ID currency
String
64 결제 통화 price
Number
- 결제 금액 paymentId
String
64 결제 수단 uniqueId
String
512 게임 내 결제 고유 ID
- 응답
{ "status": 1, "message" : "" }
속성 타입 설명 status
Integer
결과값
1
: 성공
실패는 아래 오류 코드 참조message
String
오류 내용
- 오류 코드
코드 설명 -1
body에 누락된 데이터가 있는 경우.
HTTP 요청 시projectId
,transactionId
,productId
,store
,memberId
를 모두 입력하였는지 확인-2
price
의 값이number
타입이 아닌 경우-3
projectId
가 없는 경우-4
프로젝트가 해당 API를 지원하지 않는 경우.
GAMEPOT에 문의-5
transactionId
가 이미 존재하는 경우-6
DB 오류.
GAMEPOT에 문의