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
본인인증 결과조회 API
Request
Path
본인인증 결과로 리턴 받은 포트원 인증 고유번호
Response
200
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
본인인증 결과건의 포트원 인증 고유번호
본인인증 결과건의 포트원 가맹점 주문번호
본인인증 결과건의 PG사 본인인증결과 고유번호
본인인증 제공 PG사의 명칭
인증된 사용자의 성명
인증된 사용자의 성별
인증된 사용자의 생년월일 ISO8601 형식의 문자열. YYYY-MM-DD
10자리 문자열
다날 본인인증서비스 계약시 외국인 구분기능을 추가 요청하지 않은 경우 항상 false를 응답합니다.
- true : 외국인
- false : 내국인
특수 기호없이 숫자로만 구성된 휴대폰번호가 전달되며 통신사 사전승인이 이뤄지지 않으면 phone 속성은 존재하지 않습니다.
통신사 사전승인이 필요하므로 cs@portone.io 로 다날 CPID 와 함께 사용승인 요청주시면 안내도와드리겠습니다.
통신사 사전승인이 이뤄지지 않으면 carrier 속성은 존재하지 않습니다.
통신사 사전승인이 필요하므로 cs@portone.io 로 다날 CPID 와 함께 사용승인 요청주시면 안내도와드리겠습니다.
- SKT
- KT
- LGT
- SKT_MVNO
- KT_MVNO
- LGT_MVNO
본인인증 성공여부
본인인증 처리시각 UNIX timestamp
개인별로 고유하게 부여하는 개인 식별키(CI)
본인인증 PG MID별로 할당되는 개인 식별키
본인인증 프로세스가 진행된 웹 페이지의 URL
다날 본인인증서비스 계약시 외국인 구분기능 추가 요청을 해주셔야 사용이 가능합니다. 요청을 하지 않은 경우 null을 응답합니다.
- true:외국인
- false:내국인
401
404
본인인증 정보삭제 API
본인인증 결과정보를 포트원 서버내에서 완전히 삭제하고 싶을 때 요청합니다.
Request
Path
본인인증 결과로 리턴받은 포트원 인증 고유번호
Response
200
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
본인인증 결과건의 포트원 인증 고유번호
본인인증 결과건의 포트원 가맹점 주문번호
본인인증 결과건의 PG사 본인인증결과 고유번호
본인인증 제공 PG사의 명칭
인증된 사용자의 성명
인증된 사용자의 성별
인증된 사용자의 생년월일 ISO8601 형식의 문자열. YYYY-MM-DD
10자리 문자열
다날 본인인증서비스 계약시 외국인 구분기능을 추가 요청하지 않은 경우 항상 false를 응답합니다.
- true : 외국인
- false : 내국인
특수 기호없이 숫자로만 구성된 휴대폰번호가 전달되며 통신사 사전승인이 이뤄지지 않으면 phone 속성은 존재하지 않습니다.
통신사 사전승인이 필요하므로 cs@portone.io 로 다날 CPID 와 함께 사용승인 요청주시면 안내도와드리겠습니다.
통신사 사전승인이 이뤄지지 않으면 carrier 속성은 존재하지 않습니다.
통신사 사전승인이 필요하므로 cs@portone.io 로 다날 CPID 와 함께 사용승인 요청주시면 안내도와드리겠습니다.
- SKT
- KT
- LGT
- SKT_MVNO
- KT_MVNO
- LGT_MVNO
본인인증 성공여부
본인인증 처리시각 UNIX timestamp
개인별로 고유하게 부여하는 개인 식별키(CI)
본인인증 PG MID별로 할당되는 개인 식별키
본인인증 프로세스가 진행된 웹 페이지의 URL
다날 본인인증서비스 계약시 외국인 구분기능 추가 요청을 해주셔야 사용이 가능합니다. 요청을 하지 않은 경우 null을 응답합니다.
- true:외국인
- false:내국인
401
404
500
본인인증 요청 API
통신사 승인을 받은 일부 가맹점에 한해 사용하실 수 있으며, 현재 다날을 통해서만 서비스되고 있습니다.
본인인증 대상자의 성명, 생년월일 + 주민등록 뒷부분 첫 자리, 휴대폰번호, 통신사 정보를 가맹점에서 직접 입력받아 API요청하면 됩니다. 전달된 개인정보가 올바를 경우 해당 휴대폰으로 인증번호 SMS가 전송됩니다.
200응답 시 imp_uid 가 응답데이터로 전달되며, SMS전송된 인증번호를 본인인증 완료 API 로 요청주시면 최종 본인인증 프로세스가 완료됩니다.
Request
Body
본인인증 대상자 성명
- 또는 . 과 같은 기호가 포함되어도 무방 - 포트원 내에서 숫자 외에는 정규식으로 모두 제거처리
YYMMDD
6자리(연/월/일 사이에 - 또는 . 과 같은 기호가 포함되어도 무방 - 포트원 내에서 숫자 외에는 정규식으로 모두 제거처리함)
주민등록번호 13자리 중 7번째 자리
2000년 이전 출생자는 1 또는 2, 2000년 이후 출생자는 3 또는 4
알뜰폰 사용자의 경우, carrier파라메터 SKT, KT, LGT 중 하나를 지정한 후 is_mvno : true 로 설정
- SKT
- KT
- LGT
본인인증 대상자 알뜰폰 사용 여부
KISA에서 대상자에게 발송하는 SMS에 안내될 서비스 명칭
본인인증 요청건을 식별하기 위한 가맹점 주문번호
다날 상점아이디를 2개 이상 동시에 사용하시려는 경우 설정하시면 됩니다. danal.{상점아이디} 형태로 지정
Response
200
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
본인인증 결과건의 포트원 인증 고유번호
400
401
500
본인인증 완료 API
본인인증이 완료되면 대상자의 이름, 전화번호, 통신사, 성별, 외국인 여부, 생년월일, CI, DI 값을 응답받을 수 있습니다.
Request
Path
본인인증 요청 API 요청 후 응답된 인증 고유번호
Body
SMS로 전송된 본인인증 번호
Response
200
0이면 정상적인 조회, 0아닌 값이면 message를 확인해봐야 합니다
code값이 0이 아닐 때, '존재하지 않는 결제정보입니다'와 같은 오류 메세지를 포함합니다
본인인증 결과건의 포트원 인증 고유번호
본인인증 결과건의 포트원 가맹점 주문번호
본인인증 결과건의 PG사 본인인증결과 고유번호
본인인증 제공 PG사의 명칭
인증된 사용자의 성명
인증된 사용자의 성별
인증된 사용자의 생년월일 ISO8601 형식의 문자열. YYYY-MM-DD
10자리 문자열
다날 본인인증서비스 계약시 외국인 구분기능을 추가 요청하지 않은 경우 항상 false를 응답합니다.
- true : 외국인
- false : 내국인
특수 기호없이 숫자로만 구성된 휴대폰번호가 전달되며 통신사 사전승인이 이뤄지지 않으면 phone 속성은 존재하지 않습니다.
통신사 사전승인이 필요하므로 cs@portone.io 로 다날 CPID 와 함께 사용승인 요청주시면 안내도와드리겠습니다.
통신사 사전승인이 이뤄지지 않으면 carrier 속성은 존재하지 않습니다.
통신사 사전승인이 필요하므로 cs@portone.io 로 다날 CPID 와 함께 사용승인 요청주시면 안내도와드리겠습니다.
- SKT
- KT
- LGT
- SKT_MVNO
- KT_MVNO
- LGT_MVNO
본인인증 성공여부
본인인증 처리시각 UNIX timestamp
개인별로 고유하게 부여하는 개인 식별키(CI)
본인인증 PG MID별로 할당되는 개인 식별키
본인인증 프로세스가 진행된 웹 페이지의 URL
다날 본인인증서비스 계약시 외국인 구분기능 추가 요청을 해주셔야 사용이 가능합니다. 요청을 하지 않은 경우 null을 응답합니다.
- true:외국인
- false:내국인