PSN 미완료 및 소모(Consume) 처리 누락된 리스트 조회
기본 정보
- 구매 검증(verify)은 성공했지만 완료 처리(complete)되지 않아(
VERIFY_SUCCESS상태) 재처리가 필요한 구매 리스트를 조회하는 API입니다. - 아이템 미지급·미소모 구매 건 복구에 사용합니다. 게임서버의 재처리가 필요합니다.
- 조회된 boid에 대해 완료 처리(complete)를 재시도한 후 아이템을 지급하세요.
| 항목 | 내용 | 비고 |
|---|---|---|
| 호출주체 | 게임서버(s2s API) | |
| 도메인 | 각 환경별 도메인 | |
| 인증 방식 | HTTP 헤더 인증 정보 | |
| HTTP 메소드 | POST | |
| Content-Type | application/x-www-form-urlencoded |
Request
HTTP Request end point
POST https://각 환경별 빌링시스템 도메인/billing/api-game/v1/purchase/psn/retry/list
HTTP Request Header
- 아래의 HTTP Header들을 API 요청에 포함시켜야합니다.
| 이름 | 값 | 비고 |
|---|---|---|
| X-Req-Pjid | 프로젝트ID | 기술 PM 등에게 전달받은 프로젝트ID |
| X-Auth-Access-Key | 인증용 키 | 기술 PM 등에게 전달받은 해당 게임용 인증 키 |
HTTP Request Parameter
- 아래 파라미터들을 Content-Type: application/x-www-form-urlencoded 으로 호출하면 됩니다.
| key | type | required | 설명 |
|---|---|---|---|
| pjid | String | Y | 프로젝트ID |
| playerId | String | Y | 대상 유저 ID |
| maxLimit | integer | Y | 최대 조회 건수(1~5) |
Response
resultData.retryAbleList: 재처리 대상 배열(대상 없으면 빈 배열)
Response property
| key | data type | description |
|---|---|---|
| boid | String | 빌링 주문ID |
| playerId | String | 유저 ID |
| payment / appStore | String | PSN |
| productId | String | 상품ID |
| purchaseStatus | String | VERIFY_SUCCESS |
| totalPrice / totalMicroPrice | number | 구매 금액 / micro 단위 금액 |
| currency | String | 통화코드 |
| completedAt / completedAtUnixTS | String / number | 검증 완료 시각 / unix timestamp |
Success sample
{
"resultCode": "SUCCESS",
"resultMessage": "success",
"resultData": { "retryAbleList": [ { "boid": "...", "purchaseStatus": "VERIFY_SUCCESS" } ] }
}
실패 응답
- 비즈니스 실패도 HTTP 200으로 응답됩니다. HTTP status가 아닌
resultCode로 분기하세요.SYSTEM_ERROR(500)·NOT_ALLOW_AUTH(인증 헤더 오류)는 전 API 공통.
| resultCode | HTTP | 발생 조건 | 게임서버 처리 |
|---|---|---|---|
| INVALID_PARAMETER | 200 | 필수값 누락, maxLimit 범위(1~5) 초과 | 요청값 수정 후 재요청 |
{
"resultCode": "INVALID_PARAMETER",
"resultMessage": "maxLimit: must be less than or equal to 5",
"traceId": "billing_01H..."
}
요청 curl 샘플
- 샘플 curl 커맨드입니다. 요청 정보에 맞게 변경해서 호출하세요.
curl -X 'POST' \
'https://API도메인/billing/api-game/v1/purchase/psn/retry/list' \
-H 'X-Req-Pjid: PJID값' \
-H 'X-Auth-Access-Key: API 인증키' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'pjid=1201' \
--data-urlencode 'playerId=tester01' \
--data-urlencode 'maxLimit=5'