PortOne REST API - V1
결제완료된 정보, 결제취소, 상태별 결제목록 조회 등의 기능을 하는 REST API를 제공합니다.
비인증 결제, 정기 자동결제 등 부가기능을 위한 REST API도 제공합니다.
V1 API hostname: api.iamport.kr
인증 관련 API
포트원 API를 호출할 때는 액세스 토큰을 Authorization
헤더에 넣어주어야 합니다.
액세스 토큰은
액세스 토큰 발급 API를 호출하려면 API 키와 API 시크릿을 인자로 넣어주어야 합니다.
API 키와 API 시크릿 확인하기
API 키와 API 시크릿 확인하기
- 관리자 콘솔
상점・계정 관리
화면 접속 내 식별코드・API Keys
버튼 클릭
API 시크릿은 절대로 외부에 노출되어서는 안되는 값입니다.
실제 구현에서 액세스 토큰 발급은 꼭 서버사이드에서 해주세요.
액세스 토큰 발급 받기
액세스 토큰 발급 받기
포트원 REST API 서버는 Google Public NTP의 시간과 동기화되고 있습니다.
하위 상점 연동을 할 경우 액세스 토큰을 발급받을 때 Agent 계정의 API 키 와 API 시크릿을 사용해야 합니다.
액세스 토큰 사용하기
액세스 토큰 사용하기
발급받은 액세스 토큰은 다른 API를 호출할 때
Authorization
헤더에 Bearer <액세스 토큰>
형식의 값을 넣어주면 됩니다.
자세한 내용은 MDN - HTTP 인증 문서를 참고해주세요.
하위 상점 연동을 할 경우 포트원 API 호출시 Tier
헤더에 하위 상점 티어 코드를 입력해야 합니다.
액세스 토큰 만료기한 연장
액세스 토큰 만료기한 연장
만료된 액세스 토큰으로 API를 호출하면 401 Unauthorized
응답을 받습니다.
액세스 토큰의 만료기한은 발행시간부터 30분입니다.
- 기존 액세스 토큰이 만료되기 전
access_token 발급 API post/users/getToken 를 다시 호출했을 경우- 기존 액세스 토큰이 반환됩니다.
만료기한이 1분 안쪽으로 남았을 때 요청했다면 기존 액세스 토큰의 만료시간이 5분 연장됩니다.
- 기존 액세스 토큰이 반환됩니다.
- 기존 액세스 토큰이 만료된 다음
access_token 발급 API post/users/getToken 를 다시 호출했을 경우- 새로운 액세스 토큰이 반환됩니다.
액세스 토큰의 재사용과 만료기한 5분 연장 동작방식은 다음과 같은 상황을 고려해서 설계되었습니다.
- 한 고객사에서 여러 대의 웹서버가 동시에 경쟁적으로 REST API(
/users/getToken
)를 호출하는 상황 - 한 고객사에서 여러 대의 웹서버가 시간 동기화 되어있지 않은 상황
결제 관련 API
목차
결제 금액 사전 등록 관련 API
비인증 결제 관련 API
정기 결제 관련 API
목차
빌링키 관련 API
목차
가상계좌 관련 API
PG사 관련 API
카카오 관련 API
KCP 퀵페이 관련 API
페이코 관련 API
페이먼트월 관련 API
페이먼트월 배송등록 API
해당 배송등록을 누락한 경우 페이먼트월 PG사로부터 정산대금을 받지 못합니다.
Request
Body
배송등록 할 결제건의 포트원 거래고유번호
배송등록 할 결제건의 가맹점 주문번호
배송등록 할 결제건의 상품 구분 코드
배송등록 할 결제건의 배송 상태코드
배송등록 할 결제건의 운송장 번호 (physical
주문인 경우 필수 파라미터)
운송사 이름 (physical
주문인 경우 필수 파라미터)
도착예상시간 Unix timestamp sec (digital
인 경우, 지금 시간을 기록해도 무방)
배송상태 업데이트 예정시간 Unix timestamp sec (digital
인 경우, 지금 시간을 기록해도 무방)
결제건의 환불가능여부를 나타내는 파라미터
수신자의 email주소
수신자의 국가 (physical
주문인 경우 필수 파라미터)
수신자 주소 중 시 (physical
주문인 경우 필수 파라미터)
수신자 우편번호 (physical
주문인 경우 필수 파라미터)
수신자 주소 중 주. 미국이 아닌 경우 'N/A'로 표기 (physical
주문인 경우 필수 파라미터)
수신자 거리명 (physical
주문인 경우 필수 파라미터)
수신자 전화번호 (physical
주문인 경우 필수 파라미터)
수신자 이름 (physical
주문인 경우 필수 파라미터)
수신자 성 (physical
주문인 경우 필수 파라미터)
Response
200
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code 값이 0이 아닐 때, ‘존재하지 않는 결제정보입니다’와 같은 오류 메세지를 포함합니다
이 값이 없으면 정상적인 경우, 없으면 notices를 확인해봐야 합니다
에러코드에 대응하는 오류메세지를 반환합니다.
error_code
값이 없는 경우 확인이 필요한 상세 에러메세지