API & SDK

링크 복사API 키

토스페이먼츠 API 키는 클라이언트 및 서버 요청을 확인하고 인증하는 역할을 해요. 요청자의 인증 정보를 확인하고 토스페이먼츠는 요청에 따른 올바른 응답을 내려줘요.

링크 복사API 키 확인하기

  1. 개발자센터에 회원가입하고 로그인하세요. 이메일 주소만으로 토스페이먼츠에 회원가입할 수 있어요.

  2. 전자결제 신청을 완료했다면, 상점을 선택하세요. 신청 전이라면 개발 연동 체험 상점의 일부 테스트 키만 확인할 수 있어요.

    API 키 확인하기 1

  3. 개발자센터의 API 키 메뉴를 들어가서 필요한 키를 확인하세요.

    API 키 확인하기2

  4. 다른 사람에게 API 키를 공유해야 된다면 화면 왼쪽 하단에 있는 '사용자 추가하기'를 눌러서 권한을 추가하세요.

    개발자센터 API 키 페이지

로그인한 상태로 개발자센터 문서를 보면, 코드 예제의 API 개별 연동 키값이 내 개발 연동 체험 상점 키로 바뀌어요. 테스트 결제내역, 웹훅을 사용해보세요.

링크 복사API 키 이해하기

링크 복사테스트 키와 라이브 키

테스트 키와 라이브 키

테스트 키test로 시작해요. 테스트 환경에서는 실제 결제 정보(카드 번호, 휴대폰 번호 등)를 사용해도 결제 승인은 가상으로 이루어져요. 결제수단에서 금액이 차감되지 않아요.

링크 복사클라이언트 키와 시크릿 키

클라이언트 키와 시크릿 키

클라이언트 키와 시크릿 키는 항상 ‘세트’로 묶여 있고, 한 세트로 써야 돼요. 세트가 아닌 키를 사용하거나 테스트 또는 라이브 키를 섞어 사용하면 INVALID_API_KEY 오류가 발생해요. 클라이언트 키는 브라우저에서 토스페이먼츠 SDK를 초기화할 때 사용해요. 내 상점의 계약 정보, 결제 설정을 불러와요. 결제 클라이언트 키는 중간에 gck가 있고, API 개별 연동 키는 중간에 ck가 있어요.

시크릿 키토스페이먼츠 API를 호출할 때 사용해요. ID와 비밀번호 대신 시크릿 키로 API 요청을 인증해요. 결제 시크릿 키는 중간에 gsk가 있고, API 개별 연동 키는 중간에 sk가 있어요.

  • 시크릿 키를 사용하는 방법은 인증 가이드에서 확인하세요.
  • 시크릿 키는 외부에 노출되면 안 돼요. GitHub, 클라이언트 코드 등 외부에 보이는 곳에 추가하지 마세요.

링크 복사연동 키의 차이점

그래서 어떤 키를 사용하면 되나요? 간단히 말하자면 결제위젯 SDK를 사용하면 주문서형, 결제창형 연동 키를 사용하고, 결제창(구버전)・브랜드페이 SDK를 사용하면 API 개별 연동 키를 사용하세요.

링크 복사주문서형, 결제창형 연동 키

클라이언트 키

결제위젯 SDK를 초기화할 때 사용하세요. 일반 결제, 브랜드페이, 해외결제 서비스를 함께 사용해도 클라이언트 키는 하나만 필요해요.

시크릿 키

결제 클라이언트 키로 생성한 모든 결제를 승인, 취소, 조회하고 싶을 때 사용하세요. API 버전은 2022-11-16으로 고정되어 있고 바꿀 수 없어요.

  • 코어 API: 결제 승인, 결제 취소, paymentKey로 결제 조회, 거래 조회, 정산 조회, 수동 정산 조회
  • 브랜드페이 API: 결제 승인

사용 방법

주문서형, 결제창형 연동 키는 토스페이먼츠 전자결제 신청 이후에만 확인할 수 있어요. 신청 전에는 문서에 있는 테스트 키로 결제를 연동해보세요.

주문서형, 결제창형 연동 키

링크 복사API 개별 연동 키

클라이언트 키

결제창(구버전) SDK 또는 브랜드페이 SDK를 초기화할 때 사용하세요. 자동결제(빌링), 결제창(구버전), 브랜드페이 등 서비스마다 다른 상점아이디(MID)에 각각 API 개별 연동 키가 발급돼요.

각 서비스에 맞는 연동 키를 사용하세요. 예를 들어, 브랜드페이 MID로 발급된 클라이언트 키로 결제창(구버전) SDK를 초기화하면 오류가 납니다.

시크릿 키

API 개별 클라이언트 키로 생성한 결제를 승인, 취소, 조회하고 싶을 때 사용하세요. 결제 외에 현금영수증, 지급대행과 같은 부가서비스 API를 사용할 때도 사용하세요.

보안 키

보안 키는 지급대행과 같이 ENCRYPTION 보안을 요구하는 서비스에서 Request Body를 JWE로 암호화하는데 사용됩니다.

사용 방법

1. 연동하는 결제 서비스의 상점아이디(MID)를 선택하세요.

2. 사용하고 싶은 API 버전을 선택하세요. 각 버전에 대한 정보는 릴리즈 노트 > API 업데이트에서 확인하세요.

3. 클라이언트 키, 시크릿 키를 복사해서 사용하세요.

API 개별 연동 키

링크 복사API 키 접근 정책

API 키에 허용 IP를 지정해두면 시크릿 키가 유출되어도 등록하지 않은 IP에서는 API를 호출할 수 없어서 안전해요. 개발자센터의 API 키 접근 정책 메뉴에서 정책을 만들어 API 키에 연결하세요.

결제 취소, 지급대행 요청처럼 특정 서버에서만 호출하는 API를 안전하게 관리하고 싶다면 접근 정책을 등록해보세요.

API 키 접근 정책

접근 정책은 테스트・라이브 환경에 각각 등록해야 해요. 화면 상단 탭에서 환경을 전환하세요.

링크 복사정책 등록하기

  1. 개발자센터의 API 키 접근 정책 메뉴를 열고 등록하기를 누르세요.

  2. 아래 정보를 입력하세요.

    필드설명
    정책 이름최대 20자. 예: 배치 서버
    정책 설명최대 100자. 예: 정산 배치 전용
    허용할 IP 주소서버의 공인 IP. 여러 개는 쉼표(,)로 구분하고, CIDR 표기(198.51.100.0/24)도 지원해요
    연결할 키정책을 적용할 API 키를 골라주세요
  3. 등록을 누르면 정책이 바로 적용되고, 연결한 키는 등록한 IP에서만 호출할 수 있어요. 이미 운영 중인 서버라면 IP를 잘못 등록해서 호출이 막히지 않도록 주의해서 적용하세요.

    정책 등록하기

  • 허용할 IP는 서버가 외부에서 사용하는 공인 IP(NAT IP)로 등록해주세요. 잘못된 IP나 내부 가상 IP를 등록하면 정상적인 요청까지 차단될 수 있어요.
  • 라이브 환경에 반영하기 전에 테스트 환경에 먼저 등록해서 API 호출이 정상적으로 이뤄지는지 확인해보세요.
  • 하나의 API 키에는 정책 하나만 연결할 수 있어요. 이미 연결된 정책이 있으면 새 정책으로 교체돼요.
  • 허용하지 않은 IP에서 호출하면 API_KEY_ACCESS_DENIED(403) 에러가 응답돼요.

링크 복사API 키 재발급하기

키가 유출됐거나 교체가 필요할 때는 개발자센터 API 키 페이지에서 직접 시크릿 키와 보안 키를 재발급할 수 있어요. 재발급하면 신규 키가 발급되고 기존 키는 만료 예정으로 표시돼서 7일 안에 무중단으로 갈아 끼울 수 있어요. 최대 2개 키가 공존하고 만료 전까지 1회만 재발급할 수 있어요.

  • 재발급 대상: 결제 시크릿 키, API 개별 연동 시크릿 키·보안 키
  • 클라이언트 키는 외부에 노출돼도 되는 공개 식별값이라 재발급 대상이 아니에요.
  • 기존 키를 즉시 폐기하고 싶다면 재발급 후 만료 대기 중인 기존 키를 직접 삭제할 수 있어요. 삭제 시 결제 중단에 동의하는 체크가 필요해요.

키를 재발급하면 기존 키로 요청하던 결제·API 호출이 만료 후 실패해요. 만료 전에 서버 코드의 시크릿 키·보안 키를 신규 키로 교체하고 배포하세요.

링크 복사API 키 에러

상태 코드에러 코드에러 메시지해결 방법
400INVALID_CLIENT_KEY잘못된 클라이언트 연동 정보입니다.클라이언트 키값을 다시 확인해주세요.
400INVALID_API_KEY잘못된 시크릿 키 연동 정보입니다.클라이언트 키와 매칭된 시크릿 키를 사용하고 있는지 확인하세요.
401UNAUTHORIZED_KEY인증되지 않은 시크릿 키 혹은 클라이언트 키입니다.클라이언트 키와 매칭된 시크릿 키를 사용하고 있는지 확인하세요. 시크릿 키 인코딩을 다시 확인하세요.
401INCORRECT_BASIC_AUTH_FORMAT잘못된 요청입니다. :를 포함해 인코딩해주세요.시크릿 키 인코딩을 다시 확인하세요.