sayren Docs
결제

결제 내역 조회

PG에 오간 결제를 건 단위로 조회한다. 스코프 `settlement:r`. - 주문 목록과 다르다. **주문이 만들어지지 않은 결제도 나온다**(카드 거절, 결제창 이탈, 승인 결과 확인 중). - 한 결제 건에 시도가 여럿일 수 있다(거절 뒤 다른 PG로 재시도). 응답의 `provider`·`method`·`pgTransactionId`는 승인한 시도의 값이고, 승인이 없으면 마지막 시도의 값이다. - `status`는 환불까지 반영한다. 부분 환불은 `PARTIALLY_REFUNDED`, 전액 환불은 `REFUNDED`다. - `method`는 **실제 결제수단**이다. PG가 보고한 수단을 쓰고, 모르면 주문서에서 요청한 수단으로 대신한다. - 테스트 결제는 기본으로 빠진다. `includeTest=true`면 포함한다. - 기간 기준은 결제 시작 시각이고 최대 92일이다. 생략하면 최근 30일이다.

GET
/v1/payments

PG에 오간 결제를 건 단위로 조회한다. 스코프 settlement:r.

  • 주문 목록과 다르다. 주문이 만들어지지 않은 결제도 나온다(카드 거절, 결제창 이탈, 승인 결과 확인 중).
  • 한 결제 건에 시도가 여럿일 수 있다(거절 뒤 다른 PG로 재시도). 응답의 provider·method·pgTransactionId는 승인한 시도의 값이고, 승인이 없으면 마지막 시도의 값이다.
  • status는 환불까지 반영한다. 부분 환불은 PARTIALLY_REFUNDED, 전액 환불은 REFUNDED다.
  • method는 실제 결제수단이다. PG가 보고한 수단을 쓰고, 모르면 주문서에서 요청한 수단으로 대신한다.
  • 테스트 결제는 기본으로 빠진다. includeTest=true면 포함한다.
  • 기간 기준은 결제 시작 시각이고 최대 92일이다. 생략하면 최근 30일이다.
AuthorizationBearer <token>

userToken(계정 스코프) 또는 storeToken(스토어 스코프)

In: header

Query Parameters

from?string

조회 시작 시각 (ISO 8601, 포함). 생략하면 최근 30일

to?string

조회 끝 시각 (ISO 8601, 포함). 기간은 최대 92일

status?string

결제 상태 필터 (PaymentRecordStatus)

provider?string

PG 필터

method?string

실제 결제수단 필터

keyword?string

결제 id·주문번호·PG 거래 id·시도 id(일치), 구매자명(포함)

includeTest?string

테스트 결제 포함 여부 (true·false. 기본 false — 실결제만)

page?string

페이지 번호 (1부터)

size?string

페이지 크기 (기본 20, 최대 100)

Response Body

application/json

curl -X GET "https://example.com/v1/payments"
{  "meta": {    "status": 200,    "code": "OK",    "message": "OK",    "isSuccess": true  },  "data": {    "page": 0,    "size": 0,    "totalElements": 0,    "totalPages": 0,    "contents": [      {        "paymentId": "string",        "orderId": "string",        "orderName": "string",        "customerName": "string",        "status": "APPROVED",        "amount": 0,        "refundedAmount": 0,        "provider": "tosspayments",        "method": "CARD",        "environment": "TEST",        "testPayment": true,        "pgTransactionId": "string",        "attemptId": "string",        "attemptCount": 0,        "failCode": "string",        "failMessage": "string",        "paidAt": "string",        "createdAt": "string"      }    ]  },  "error": null}