매출 리포트
기간·PG·결제수단별 결제·환불·순매출 집계
PG가 승인한 결제와 환불을 기간별로 봅니다. 대금은 PG가 바로 정산하고 플랫폼 정산은 없습니다.
집계 기준
- 결제는 PG 승인 시각, 환불은 PG 취소 완료 시각의 한국 날짜로 셉니다. 실패한 환불은 빠지고 부분 취소는 환불 1건입니다.
- 순매출 = 결제 금액 − 환불 금액. 주문 생성 실패로 자동 취소된 결제는 양쪽에 잡혀 순매출에 영향이 없습니다.
- 결제수단은 실제로 결제한 수단이고, PG가 알려 주지 않으면 요청한 수단입니다.
- 테스트 결제는 기본으로 빠집니다.
상점 플랫폼 화면
상점 플랫폼에서 상점 관리 › 분석 › 매출 리포트로 이동합니다(소유자만).
시작일·종료일(기본 최근 30일, 최대 92일), PG, 결제수단, 결제 구분으로 거릅니다. 테스트 결제를 포함하면 테스트 결제를 포함한 금액입니다 안내가 뜹니다. 합계 카드 아래에 일별 매출 차트와 구분별 매출 표(PG별·결제수단별)가 있습니다. PG 수수료는 참고용이고, 실제 입금액은 PG 정산 내역을 보십시오.
API
GET /v1/sales-report?from=2026-09-01&to=2026-09-19&groupBy=PROVIDER 응답 예시입니다.
{
"from": "2026-09-01", "to": "2026-09-19", "timezone": "Asia/Seoul", "currency": "KRW",
"groupBy": "PROVIDER", "provider": null, "method": null, "includeTest": false,
"summary": {
"paymentCount": 12, "paymentAmount": 1548000, "refundCount": 2, "refundAmount": 129000,
"netAmount": 1419000, "pgFeeAmount": null
},
"rows": [
{
"date": null, "provider": "tosspayments", "method": null,
"paymentCount": 10, "paymentAmount": 1290000, "refundCount": 1, "refundAmount": 129000,
"netAmount": 1161000, "pgFeeAmount": null
}
]
}| 쿼리 | 설명 |
|---|---|
from · to | YYYY-MM-DD(한국 시간), 양끝 포함, 최대 92일 |
provider | tosspayments · portone |
method | CARD · BANK_TRANSFER · VIRTUAL_ACCOUNT · MOBILE · EASY_PAY |
groupBy | DAY(기본) · PROVIDER · METHOD · PROVIDER_METHOD |
includeTest | true면 테스트 결제와 그 환불 포함. 기본 false |
rows에는 groupBy에 해당하는 필드만 값이 있습니다. 결제·환불이 없는 날짜는 빠지므로 차트는 빈 날짜를 0으로 채우십시오.
pgFeeAmount는 PG가 값을 주지 않으면 null입니다.
스코프는 settlement:r입니다. 역할로는 OWNER만 가지며, OWNER가 만든 액세스 토큰에 주면 연동 서버에서도 조회합니다.
오류는 400 VALIDATION_FAILED(형식), 400 INVALID_PARAMETER(없는 날짜, to < from), 400 RANGE_TOO_WIDE(92일 초과)입니다.
Store SDK는 api.salesReport.get({ from, to, groupBy: "DAY" })입니다.
정산 API 폐기 예정
GET /v1/settlements와 GET /v1/settlements/{settlementId}는 폐기 예정입니다. 새 정산 내역은 생기지 않고 기존 내역만 조회됩니다.
응답에 다음 헤더가 붙습니다. Store SDK의 settlements.*도 같으며, 제거 전에 변경 이력으로 알립니다.
Deprecation: true
Link: </v1/sales-report>; rel="successor-version"