PortOne REST API - V1
결제완료된 정보, 결제취소, 상태별 결제목록 조회 등의 기능을 하는 REST API를 제공합니다.
비인증 결제, 정기 자동결제 등 부가기능을 위한 REST API도 제공합니다.
2026년 1월 26일부로 포트원 V1 결제내역 단건조회 API에 동작 변경이 있습니다.
자세한 사항은 V1 결제내역 단건조회 API 동작 변경 안내를 참고해주세요.
V1 API hostname: api.iamport.kr
하위호환성
포트원이 제공하는 모든 Stable API에 대해 아래와 같은 하위호환성이 보장됩니다.
-
현재 사용 가능한 입력 형식은 앞으로도 사용할 수 있습니다.
-
입력 형식 내 필드 정의가 삭제되지 않습니다.
-
필수 입력 정보가 추가되거나, 선택 입력 정보가 필수로 변경되지 않습니다.
- 오로지 선택 입력 정보만 추가될 수 있습니다.
-
하위 필드의 형식(타입) 또한 위 규칙을 지키며 변경됩니다.
-
enum 타입의 값이 삭제되지 않습니다.
-
-
출력 형식이 확장될 수 있지만, 축소되지 않습니다.
-
출력 형식 내 필드 정의가 삭제되지 않습니다.
-
사용 중인 필수 출력 정보가 선택사항으로 변경되거나 출력 시 누락되지 않습니다.
- 이미 존재하는 용례 내에서는 필수 출력 정보가 언제나 유지됩니다.
- 단, 기능이 추가 및 확장되는 등 새로운 용례로 사용될 때의 출력 정보에 한하여 선택사항으로 변경될 수 있습니다.
-
하위 필드의 형식(타입) 또한 위 규칙을 지키며 변경됩니다.
-
단, 새로운 필드 또는 enum 값, oneOf 케이스가 추가될 수 있습니다.
- 알지 못하는 필드 및 값이 주어지더라도 crash가 발생하지 않도록 유의하여 개발해주세요.
-
UNSTABLE이 표기된 일부 API의 경우, 위 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
하위 상점의 API 사용
하위 상점에 대해 API를 사용하려는 경우 API 호출 시 Tier 헤더(HTTP Request Header)로 하위상점의 티어코드를 전달해야 합니다.
[Agency & Tier 란?]
인증 관련 API
포트원 API를 호출할 때는 액세스 토큰을 Authorization 헤더에 넣어주어야 합니다.
액세스 토큰은 access_token 발급 API post/users/getToken를 호출해서 발급받을 수 있습니다.
액세스 토큰 발급 API를 호출하려면 API 키와 API 시크릿을 인자로 넣어주어야 합니다.
결제 관련 API
목차
결제 상세내역 조회 API
Request
Path
상세정보를 조회할 결제건의 포트원 거래고유번호
Response
200 Ok
정상 조회
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
401 Error
인증 Token이 전달되지 않았거나 유효하지 않은 경우
404 Error
유효하지 않은 imp_uid
405 Error
허용되지 않는 HTTP METHOD
결제내역 단건조회 API
Request
Path
결제내역을 확인할 결제건의 포트원 거래고유번호
Query
테스트 채널을 통해 발생한 결제건을 조회 결과에 포함할지 여부 (기본값: false)
(본 파라미터는 2026년 1월 26일부터 추가 예정입니다.)
Response
200 Ok
정상 조회
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
401 Error
인증 Token이 전달되지 않았거나 유효하지 않은 경우
404 Error
유효하지 않은 imp_uid
결제내역 복수조회 API
(예시) /payments?imp_uid[]=imp_448280090638&imp_uid[]=imp_448280090639&merchant_uid[]=merchant_143434085216
Request
Query
조회할 결제건의 포트원 거래고유번호 리스트
결제요청 시 고객사에서 요청한 고객사 주문번호
Response
200 Ok
요청된 모든 imp_uid 에 대한 결제정보 응답완료
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
207 Partial Success
요청된 imp_uid 중 일부 거래 조회 실패(ex. 접근권한없음 또는 존재하지 않는 imp_uid)
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
401 Error
인증 Token이 전달되지 않았거나 유효하지 않은 경우
404 Error
해당되는 결제건을 찾지 못하였습니다.
결제 단건조회(고유 고객사 주문번호 조회) API
동일한 merchant_uid가 여러 건 존재하는 경우, 정렬 기준에 따라 가장 첫 번째 해당되는 건을 반환합니다. (모든 내역에 대한 조회가 필요하시면 GET 결제 복수조회(고객사 주문번호 중복 포함) API를 사용해주세요.)
payment_status를 추가로 지정하시면, 해당 status에 해당하는 가장 최신 데이터를 반환합니다.
Request
Path
결제요청 시 고객사에서 요청한 고객사 주문번호
특정 status상태의 값만 필터링하고 싶은 경우에 사용하는 파라미터로 지정하지 않으면 모든 상태를 대상으로 조회합니다
Query
정렬 기준을 설정하는 파라미터로 기본값은 -started입니다.
Response
200 Ok
정상 조회
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
401 Error
인증 Token이 전달되지 않았거나 유효하지 않은 경우
404 Error
거래건이 존재하지 않는 경우
결제 복수조회(고객사 주문번호 중복 포함) API
동일한 merchant_uid가 여러 건 존재하는 경우, 존재하는 모든 거래가 조회됩니다.
payment_status를 추가로 지정하시면, 해당 status에 해당하는 가장 최신 데이터를 반환합니다.
Request
Path
결제요청 시 고객사에서 요청한 고객사 주문번호
특정 status상태의 값만 필터링하고 싶은 경우에 사용하는 파라미터로 지정하지 않으면 모든 상태를 조회합니다.
Query
1부터 시작하며 기본값은 1입니다.
한 번에 조회할 결제건수.(최대 1000건, 기본값 20건)
정렬기준을 나타내는 파라미터로 기본값은 -started입니다.
Response
200 Ok
정상 조회
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
400 Error
merchant_uid누락, 올바르지 않은 status 등 파라메터가 잘못된 경우
401 Error
인증 Token이 전달되지 않았거나 유효하지 않은 경우
404 Error
유효하지 않은 merchant_uid
결제상태기준 복수조회 API
검색기간은 최대 90일까지이며 to파라메터의 기본값은 현재 unix timestamp이고 from파라메터의 기본값은 to파라메터 기준으로 90일 전입니다. 때문에, from/to 파라메터가 없이 호출되면 현재 시점 기준으로 최근 90일 구간에 대한 데이터를 검색하게 됩니다.
from, to 파라메터를 지정하여 90일 단위로 과거 데이터 조회는 가능합니다.
Request
Path
조회할 결제건의 결제상태 코드
Query
1부터 시작하며 기본값 1입니다.
한 번에 조회할 결제건수.(최대 1000건, 기본값 20건)
기본값은 to 파라메터 기준으로 90일 전 unix timestamp입니다. (시간별 검색 시작 시각(>=) UNIX TIMESTAMP)
기본값은 현재 unix timestamp입니다. (시간별 검색 종료 시각(<=) UNIX TIMESTAMP)
정렬기준을 나타내는 파라미터로 기본값은 -started입니다.
Response
200 Ok
정상 조회
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
400 Error
유효하지 않은 payment_status인 경우, 데이터 범위를 넘어선 page인 경우
401 Error
인증 Token이 전달되지 않았거나 유효하지 않은 경우
결제취소 API
신용카드/실시간계좌이체/휴대폰소액결제의 경우 즉시 취소처리가 이뤄지게 되며, 가상계좌와 휴대폰소액결제 익월 환불(KCP)의 경우는 환불받으실 계좌정보를 같이 전달해주시면 환불정보가 PG사에 등록되어 익영업일에 처리됩니다. (가상계좌 환불, 휴대폰소액결제 익월 환불(KCP)의 경우 관련 특약계약 필요)
Request
Body
취소할 거래의 포트원 거래고유번호
고객사에서 전달한 거래 고유번호로 imp_uid, merchant_uid 중 하나는 필수이어야 합니다. (두 값이 모두 넘어오면 imp_uid를 우선 적용합니다.)
(부분)취소요청 금액으로 (누락하거나 0을 입력하는 경우 전액 취소 요청합니다.)
단, 아래 PG사의 경우 자동으로 0원 처리 되지 않으므로 면세 결제에 한하여 필수 입력 바랍니다.
단, 결제 시 부가세를 지정했던 경우 필수 입력 바랍니다.
API요청자가 기록하고 있는 취소가능 잔액과 포트원이 기록하고 있는 취소가능 잔액이 일치하는지 사전에 검증하고, 검증에 실패하면 트랜잭션을 수행하지 않습니다. null인 경우에는 검증 프로세스를 생략합니다.
결제건을 취소하려는 사유
환불받을 계좌의 예금주
환불받을 계좌번호
환불받을 계좌의 예금주 연락처 (가상계좌 취소인 경우 필수)
프로모션이 적용된 결제일 경우 결제 취소 이후 잔여 금액이 프로모션 정책에 위반되더라도 프로모션을 유지할지에 대한 여부 (default: false)
결제 취소 요청시 필요한 추가 정보
Response
200 Ok
정상 조회
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
401 Error
인증 Token이 전달되지 않았거나 유효하지 않은 경우