---
updatedAt: 2026-08-27T04:52:17.000Z
agentTools:
  projectIndex: https://sdk.sendon.io/llms.txt
---

# 결제 히스토리 목록 조회

사용자의 결제 내역을 기간별로 조회합니다. 결제 상태, 금액, 결제 수단 등의 정보를 페이징 방식으로 확인할 수 있습니다.

<Callout icon="🚧" theme="warn">
  센드온 API는 네트워크 에러를 분리하기 위해 HTTP 상태 코드 200으로 응답합니다.

자세한 응답 코드는 [API 응답 코드 가이드](https://sdk.sendon.io/reference/4-api-%EC%9D%91%EB%8B%B5-%EC%BD%94%EB%93%9C-%EA%B0%80%EC%9D%B4%EB%93%9C#/) 를 참고해주세요.
</Callout>

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "paths": {
    "/v2/payment/payment-histories": {
      "get": {
        "operationId": "PaymentController_getPaymentHistories",
        "summary": "결제 히스토리 목록 조회",
        "description": "사용자의 결제 내역을 기간별로 조회합니다. 결제 상태, 금액, 결제 수단 등의 정보를 페이징 방식으로 확인할 수 있습니다.",
        "parameters": [
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "조회할 기간의 종료일입니다. 미지정시 현재 날짜까지 조회됩니다.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "example": "2024-12-31"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "조회할 기간의 시작일입니다. 미지정시 최근 30일부터 조회됩니다.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "example": "2024-01-01"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "한 번에 조회할 결제 내역의 개수입니다. 기본값은 10개이며, 너무 큰 값을 설정하면 응답 속도가 느려질 수 있습니다.",
            "schema": {
              "type": "number",
              "nullable": true,
              "default": 10,
              "example": 20
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "페이지 번호",
            "schema": {
              "type": "number",
              "nullable": true,
              "default": 1,
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "결제 히스토리 목록 조회 요청의 처리 결과입니다. 결제 내역 목록과 페이징 정보가 포함됩니다.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPaymentHistoriesResponseDto"
                }
              }
            }
          }
        },
        "tags": [
          "Payment"
        ],
        "security": [
          {
            "basic": []
          }
        ]
      }
    }
  },
  "info": {
    "title": "Sendon API",
    "description": "Sendon API Generated on 2026-08-27T02:12:51.075Z",
    "version": "v2",
    "contact": {
      "name": "센드온",
      "url": "https://console.sendon.io/",
      "email": ""
    },
    "license": {
      "name": "서비스 이용약관",
      "url": "https://olive-challenge-eca.notion.site/1a43c16d2709804e9de1dd81e0abf477"
    }
  },
  "servers": [
    {
      "url": "https://api.sendon.io/",
      "description": "prd"
    }
  ],
  "components": {
    "securitySchemes": {
      "basic": {
        "type": "http",
        "scheme": "basic"
      }
    },
    "schemas": {
      "PaymentHistoryItemDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "nullable": true,
            "description": "결제 내역 ID입니다. 이 ID로 특정 결제를 조회하거나 관리할 수 있습니다.",
            "example": 12345
          },
          "amount": {
            "type": "number",
            "nullable": true,
            "description": "실제 결제된 금액입니다. 단위는 원(KRW)이며, 부가세가 포함된 최종 결제 금액입니다.",
            "example": 50000
          },
          "chargeStatus": {
            "type": "string",
            "enum": [
              "CHARGE_COMPLETE",
              "CANCEL_PENDING",
              "CANCEL_FAILED",
              "CANCEL_COMPLETE"
            ],
            "description": "결제 상태 \n- CHARGE_COMPLETE: 결제 완료,\n- CANCEL_PENDING: 취소 대기,\n- CANCEL_FAILED: 취소 실패,\n- CANCEL_COMPLETE: 취소 완료"
          },
          "chargeMethod": {
            "type": "string",
            "enum": [
              "VACCOUNT",
              "CREDIT_CARD",
              "BANK_TRANSFER"
            ],
            "description": "결제 수단 \n- VACCOUNT: 가상계좌,\n- CREDIT_CARD: 신용카드,\n- BANK_TRANSFER: 계좌이체"
          },
          "proofDocumentType": {
            "type": "string",
            "enum": [
              "CASH_RECEIPT",
              "TAX_INVOICE",
              "NONE"
            ],
            "description": "증빙서류 유형 \n- CASH_RECEIPT: 현금영수증,\n- TAX_INVOICE: 세금계산서,\n- NONE: 미발행"
          },
          "proofDocumentId": {
            "type": "string",
            "nullable": true,
            "description": "발행된 증빙서류 ID입니다.",
            "example": "doc_123456"
          },
          "memo": {
            "type": "string",
            "description": "해당 결제에 대한 관리자의 메모나 특이사항입니다. 추가 할인이나 특별 조건 등을 기록합니다.",
            "example": "추가 할인 적용됨"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "결제가 최초 생성된 날짜와 시간입니다. ISO 8601 형식으로 표시됩니다.",
            "example": "2024-01-15T10:30:00Z"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "결제 정보가 마지막으로 수정된 날짜와 시간입니다. 상태 변경이나 정보 업데이트 시 갱신됩니다.",
            "example": "2024-01-15T10:30:00Z"
          },
          "expiredAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "결제의 유효기간 만료 날짜와 시간입니다. 가상계좌의 경우 입금 기한을 의미합니다.",
            "example": "2024-02-15T10:30:00Z"
          }
        },
        "required": [
          "id",
          "amount",
          "chargeStatus",
          "chargeMethod",
          "proofDocumentType",
          "proofDocumentId",
          "createdAt",
          "updatedAt",
          "expiredAt"
        ]
      },
      "GetPaymentHistoriesResponse": {
        "type": "object",
        "properties": {
          "histories": {
            "description": "조회 조건에 맞는 결제 내역 목록입니다. 각 항목에는 결제 정보와 상태가 포함됩니다.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentHistoryItemDto"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "검색 조건에 맞는 전체 결제 이력의 총 개수입니다. 페이징 처리를 위해 사용됩니다.",
            "example": 1250
          },
          "totalPages": {
            "type": "number",
            "description": "전체 페이지 수입니다. 현재 페이지 크기를 기준으로 계산된 총 페이지 개수입니다.",
            "example": 63
          },
          "currentPage": {
            "type": "number",
            "description": "현재 조회 중인 페이지 번호입니다. 1부터 시작하는 페이지 인덱스입니다.",
            "example": 1
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "다음 페이지가 존재하는지 여부입니다. true이면 더 많은 데이터가 있음을 의미합니다.",
            "example": true
          }
        },
        "required": [
          "histories",
          "totalCount",
          "totalPages",
          "currentPage",
          "hasNextPage"
        ]
      },
      "GetPaymentHistoriesResponseDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "HTTP 상태 코드입니다. 200이면 성공, 400대는 클라이언트 오류, 500대는 서버 오류를 나타냅니다.",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "API 호출 결과에 대한 사람이 읽을 수 있는 메시지입니다. 성공 시 \"OK\", 실패 시 구체적인 오류 사유가 포함됩니다.",
            "example": "OK"
          },
          "data": {
            "description": "결제 히스토리 목록 조회 요청의 처리 결과입니다. 결제 내역 목록과 페이징 정보가 포함됩니다.",
            "allOf": [
              {
                "$ref": "#/components/schemas/GetPaymentHistoriesResponse"
              }
            ]
          }
        },
        "required": [
          "code",
          "message",
          "data"
        ]
      }
    }
  }
}
```