지원 / Support
home
디스코드 / Discord
home
3️⃣

3. 아이템 구매 요청

샵 아이템 구매 체크, 구매 정보 저장 및 임시 구매 번호, 1회 용 결제 URL 전달 내용이 포함되어 있습니다.

기본정보

POST /bill-store/v1.0/{{service_id}}/purchase Host: https://api.onstove.com (LIVE) https://api.gate8.com (SB) Content-Type: application/json
JavaScript
복사

Request

Header

Name
Type
Required
Default Value
Example
Description
authorization
String
Y
-
{access_token}
사용자의 인증을 통해 발급 되는 access token ※ Web에서는 “SUAT 쿠키값” 사용
X-Lang
String
Y
-
ko
언어 코드
X-Nation
String
Y
-
KR
국가 코드
X-Timezone
String
Y
-
Asia/Seoul
Timezone
X-Utc-Offset
Int32
Y
-
540
UTC Offset
caller-id
String
Y
-
clientapp
API 호출자 정보 예) 서비스명_GAME_SERVER

Path Variable

Name
Type
Required
Default Value
Example
Description
service_id
String
Y
-
GAME_ID
스튜디오에서 발급된 게임ID

Body

Name
Type
Required
Default Value
Example
Description
shop_key
String
Y
-
indie
인게임상점의 상점키
pguid
String
N
-
-
Authorization에 SUAT 쿠키값으로 인증하는 경우는 사용안함
character_no
String
N
-
-
미사용
world_id
String
N
-
AAA
미사용
guid
Int64
Y
-
123456
Guid가 있는 경우 GUID 입력 없으면 member_no 입력
shop_purchase_tran_id
String
N
-
38dc674b-1c06-407e-bfb3-ea12641d2b36
유니크한 구매 Key • NULL일 경우 상점 자체적으로 발급 • 현재는 사용 되지 않음
access_token
String
Y
-
-
사용자의 인증을 통해 발급 되는 access token • 빌링 웹 쿠키 값 생성을 위한 토큰 값
product_infos
List<json object>
Y
-
-
구매 상품 정보
price
Double
Y
-
1000
구매 총 가격 • 상품 리스트 sale_price 합계
ingame_flag
bool
Y
true
true
인 게임 여부
test_mode
bool
N
false
false
테스트 모드 • 스토어(스튜디오) 입점 게임만 허용
billing_token
String
N
-
e994539c1f96494da83c49cf7ecd90cc
빌링 토큰(내부 용) • 개발자 센터에서는 제외
service_txn_no
String(50)
N
-
"123456789"
서비스 주문 번호 • 게임에서 발급 한 주문 번호 • NOTI 서버를 통해 전달
extra_data
String(500)
N
-
"{\"birth_dt\": 593871400000, \"rating\": \"18\"}"
요청 추가 데이터(json string) • 게임에서 전달 받고자 하는 추가 정보 • NOTI 서버를 통해 전달

product_infos

Name
Type
Required
Default Value
Example
Description
product_id
Int64
Y
-
1001
플랫폼 고유 아이템 ID
quantity
Int32
N
1
1
수량 • 구매 하고자 하는 수량

Response

Body

Name
Type
Required
Default Value
Example
Description
code
Integer
Y
-
0
응답 코드
message
String
Y
-
OK
응답 메시지
value
Object
N
-
응답 값

Value

Name
Type
Required
Default Value
Example
Description
txn_mst_no
Int64
Y
-
4613050609508317204
거래 고유 마스터 번호(결제 TID)
shop_purchase_tran_id
String
Y
-
81f71693-5239-49e3-beff-8e70fea4b15d
샵 구매 트랜젝션 아이디
temp_payment_url
String
Y
-
1회 용 결제 URL
purchase_progress
Int
Y
-
0
구매 진행 상태 • 1: 결재 중: 충전 창 호출 필요 • 2: 구매 완료: 0원 구매로 아이템 지급 완료
extra_data
String
N
-
{\"birth_dt\": 593871400000, \"rating\": \"18\"}
응답 추가 데이터(json string) • 호출 처 필요 정보 협의

Sample

Request

curl --location --request POST'https://api.onstove.com/bill-store/v1.0/{{service_id}}/purchase' \ --header 'Authorization: Bearer {{access_token}}' --header 'X-Lang: ko' --header 'X-Nation: KR' --header 'X-Timezone: Asia/Seoul' --header 'X-Utc-Offset: 540' --header 'caller-id: {{caller-id}}' { "shop_key": "TESTKEY", "pguid": "123456789", "character_no": "123456789", "world_id": "AAA", "guid": null, "shop_purchase_tran_id": null, "access_token": "{access_token}" "product_infos": [ { "product_id": 1835, "quantity": 1 } ], "price": 1000, "ingame_flag": true }
JavaScript
복사

Response

Content-Type : application/json
{ "value": { "txn_mst_no": 4613050609508317204, "shop_purchase_tran_id": "de43fed6-ab97-46b9-9ae4-76ad7e824a4f", "temp_payment_url": "http://pay-dev.onstove.com/payment/BP/649edc28a5e04176b4be754321558b92", "extra_data": "{\"birth_dt\": 593871400000, \"rating\": \"18\"}", "purchase_progress": 1 }, "code": 0, "message": "OK" }
JavaScript
복사
응답 실패 예제
{ "code": "999999", "message": "정의되지 않은 오류입니다." }
JavaScript
복사

Return Code

HTTP Status code
response_code
response_message
Description
200
0
OK
성공
200
999999
정의되지 않은 오류입니다.
아이템 샵 API 오류
50001
상점이 존재하지 않거나, 점검 중 입니다.
아이템 샵 API 오류
50002
상품이 존재 하지 않거나 판매 불가능 상품 입니다.
아이템 샵 API 오류
50003
비 전시 상품 입니다.
아이템 샵 API 오류
50004
판매 기간이 아닌 상품 입니다.
아이템 샵 API 오류
50005
상품 가격이 일치 하지 않습니다.(상품 가격이 변경 되었을 경우) • 상품 가격이 음수일 경우도 포함
아이템 샵 API 오류
50009
구매 가능 한 판매 개수 초과(회원 별 개수)
아이템 샵 API 오류
50010
구매 가능 한 판매 개수 초과(총 판매 개수)
아이템 샵 API 오류
50011
구매 가능 한 판매 개수 초과(캐릭터(GUID))
아이템 샵 API 오류
50015
구매 가능 한 판매 개수 초과(월드)
아이템 샵 API 오류
50031
구매 수량은 1 보다 작을 수 없습니다.
아이템 샵 API 오류
50032
회원님의 국가에서는 결제 서비스를 이용하실 수 없습니다.
아이템 샵 API 오류
50033
잘못된 로그인 정보 입니다.
아이템 샵 API 오류
500
500
Internal Server Error
서버 내부 오류