매출 리포트 조회
기간·PG·결제수단별 결제·환불·순매출을 집계한다. 스코프 `settlement:r`. - 날짜는 Asia/Seoul 기준이며 `from`·`to` 모두 포함한다. 최대 92일. - 결제는 PG 승인 시각, 환불은 PG 취소 **완료** 시각 기준으로 집계한다. 실패한 환불은 제외된다. - 승인 직후 주문 생성에 실패해 자동 취소된 결제(재고 소진 등)와 이중 결제 차단으로 취소된 결제는 결제와 환불 양쪽에 잡히므로 순매출에는 영향이 없다. - 테스트 결제(샌드박스 결제)의 승인·환불은 기본으로 집계에서 빠진다. `includeTest=true`면 포함한다. - 결제수단(`method` 필터·집계)은 **실제 결제수단**이다. PG가 보고한 수단을 쓰고, 모르면 주문서에서 요청한 수단으로 대신한다. 결제창에서 결제수단이 바뀔 수 있다(카드 결제창의 간편결제 탭 등). - `pgFeeAmount`(PG 수수료)는 참고용 필드다. PG에서 확정 값을 받지 못하면 null이다. - 활동이 없는 날짜·PG·결제수단은 `rows`에서 생략된다.
기간·PG·결제수단별 결제·환불·순매출을 집계한다. 스코프 settlement:r.
- 날짜는 Asia/Seoul 기준이며
from·to모두 포함한다. 최대 92일. - 결제는 PG 승인 시각, 환불은 PG 취소 완료 시각 기준으로 집계한다. 실패한 환불은 제외된다.
- 승인 직후 주문 생성에 실패해 자동 취소된 결제(재고 소진 등)와 이중 결제 차단으로 취소된 결제는 결제와 환불 양쪽에 잡히므로 순매출에는 영향이 없다.
- 테스트 결제(샌드박스 결제)의 승인·환불은 기본으로 집계에서 빠진다.
includeTest=true면 포함한다. - 결제수단(
method필터·집계)은 실제 결제수단이다. PG가 보고한 수단을 쓰고, 모르면 주문서에서 요청한 수단으로 대신한다. 결제창에서 결제수단이 바뀔 수 있다(카드 결제창의 간편결제 탭 등). pgFeeAmount(PG 수수료)는 참고용 필드다. PG에서 확정 값을 받지 못하면 null이다.- 활동이 없는 날짜·PG·결제수단은
rows에서 생략된다.
accessTokenAuthorizationBearer <token>Sayren 계정 토큰(로그인 토큰 또는 개인 액세스 토큰, RFC 9068 JWT)
from*string시작일 (YYYY-MM-DD, Asia/Seoul 기준, 포함)
^\d{4}-\d{2}-\d{2}$to*string종료일 (YYYY-MM-DD, 포함). from부터 최대 92일
^\d{4}-\d{2}-\d{2}$provider?stringPG 필터
"tosspayments""portone"method?string결제수단 필터 — 실제 결제수단(PG가 보고한 수단, 모르면 요청 수단) 기준. 결제창에서 결제수단이 바뀔 수 있다(카드 결제창의 간편결제 탭 등). 관리 주문 API의 method는 호환용이며 간편결제를 CARD로 표시한다. 실제 수단은 approvedMethod를 본다
"CARD""BANK_TRANSFER""VIRTUAL_ACCOUNT""MOBILE""EASY_PAY"groupBy?string행 집계 기준. 기본 DAY
"DAY""PROVIDER""METHOD""PROVIDER_METHOD"includeTest?string테스트 결제(샌드박스 결제) 포함 여부. 기본 false — 테스트 결제의 승인·환불은 집계에서 빠진다
"true""false"X-Store-Id*string대상 상점 id. 토큰의 상점 범위 밖이면 403 STORE_NOT_GRANTED, 없으면 400 STORE_ID_REQUIRED다
성공
application/json- response
meta*data*error*|nullcurl -X GET 'https://api.sayren.io/v1/sales-report?from=string&to=string' \ -H 'X-Store-Id: string'{ "meta": { "status": 200, "code": "OK", "message": "OK", "isSuccess": true }, "data": { "from": "string", "to": "string", "timezone": "Asia/Seoul", "currency": "KRW", "groupBy": "DAY", "provider": "tosspayments", "method": "CARD", "includeTest": true, "summary": { "paymentCount": 0, "paymentAmount": 0, "refundCount": 0, "refundAmount": 0, "netAmount": 0, "pgFeeAmount": 0 }, "rows": [ { "paymentCount": 0, "paymentAmount": 0, "refundCount": 0, "refundAmount": 0, "netAmount": 0, "pgFeeAmount": 0, "date": "string", "provider": "tosspayments", "method": "CARD" } ] }, "error": null}