Table of Contents | ||||
---|---|---|---|---|
|
...
/log/writePurchaseLog
Description
카카오는 정책상 게임 내 인앱결제 성공 후 서버 단에서 결제로그를 전송해야 합니다.
...
Method
POST
Request Headers
Name | Type | Mandatory | Description |
appId | String | Y | 앱 아이디
|
appSecret | String | Y | 앱 시크릿 |
playerId | String | Y | 플레이어 아이디 |
Content-Type | String | Y | "application/json;charset=UTF-8" |
Authorization | String | Y | Authorization: KakaoAK {ADMIN_KEY} 예제) Authorization: KakaoAK 11118035a320f23423585acae3ded1111 |
Request Body Parameters
Name | Type | Mandatory | Description | Available Values |
---|---|---|---|---|
grade | Long | N | 플레이어 등급 |
|
playerLv | Long | N | 플레이어 레벨 |
|
currency | String | Y | 통화 코드 | 스토어에서 결제 시 사용된 통화코드 값입니다. 규격은 ISO 4217 입니다. 구글의 경우 getSkuDetails() 메서드를 통해 상품의 통화코드를 확인할 수 있습니다. Google Play Points 결제의 경우 currency를 GPP로 사용해주세요. |
price | BigDecimal | Y | VAT 포함 상품 금액 | 스토어에서 상품 상세정보 API를 통해 얻은 금액을 전송 해 주세요. Google Play Points 결제의 경우 price는 실제 포인트 값을 그대로 입력해주세요 |
os | String | Y | OS 유형 | 클라이언트 SDK String osName = KGSystem.getOSName(); ex> android, ios |
country | String | Y | 국가 코드 | 클라이언트 SDK 의 KGSystem.getCountryCode(); 로 확인한 국가코드를 전송합니다. |
market | String | Y | 마켓 유형 | 구매가 이뤄진 스토어입니다. 구글의 경우 googlePlay, 애플은 appStore ex> kakaogameShop, googlePlay, appStore, oneStore |
marketOrderId | String |
Y | 마켓 주문 아이디 | 아래에 있는 구글의 예제 구매데이터로 설명하면 orderId 값입니다. | ||
marketProductId | String | Y | 마켓 상품 아이디 | 아래에 있는 구글의 예제 구매데이터에서는 productId, |
marketPurchaseTime | Long | Y | 마켓 구매 처리 시각 | 아래에 있는 구글의 예제 구매데이터에서는 purchaseTime, 애플 receipt 샘플에서는 purchase_date_ms 입니다 |
marketPurchaseData | Map<String,Object> | N | 마켓 구매 부가 정보 | 아래에 있는 구글의 예제 구매데이터에서는 purchaseToken, 애플은 Receipt 전체의 내용을 담아서 보내주세요 |
purchasePt | Long | N | 구매로 인해 생성된 포인트 |
|
purchaseCount | Long | N | 구매 회차 |
|
purchaseToken | String | Y | 구매 토큰 | google 마켓 구매 시에 사용되는 구매 토큰을 입력합니다.
|
구글 구매데이터 샘플
|
애플 receipt 샘플
|
스토어에서 결제 프로세스 완료 후
구글은 consumePurchase 메서드를, 애플은 finishTransaction: 메서드를 반드시 호출하여 구매 및 결제를 완료해야 합니다.
Response Status Code
Status Code | Status Code 설명 | Status Code 상세 설명 |
---|---|---|
200 | 정상 응답 | 정상 |
400 | Bad Request | 파싱되지 않는 요청 데이터. 필수 파라미터 부족 or 파라미터 타입 오류 |
401 | Unauthenticated | 인증 실패 |
406 | Not Acceptable | 처리 불가 |
461 | Invalid Message Box | messageBoxId로 요청된 메시지 박스가 존재하지 않음. |
500 | Internal Server Error | 서버 시스템 내부 오류 |
503 | Service Unavailable | 서비스가 가능하지 않은 상태 (예, 내부 서버간 timeout) |
Response Content
Name | Type | Description |
---|---|---|
logId | String | 기록된 로그에 부여된 아이디 |
Example Request
|
Example Response
|