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, 클라이언트 코드 등 외부에 보이는 곳에 추가하지 마세요.

링크 복사연동 키의 차이점

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

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

클라이언트 키

토스페이먼츠 SDK를 초기화할 때 사용하세요. 일반 결제, 브랜드페이, 해외결제 서비스를 함께 사용해도 클라이언트 키는 하나만 필요해요. test_gck 또는 live_gck로 시작해요.

시크릿 키

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

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

사용 방법

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

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

링크 복사API 개별 연동 키

클라이언트 키

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

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

시크릿 키

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

보안 키

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

사용 방법

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

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

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

API 개별 연동 키

링크 복사API 키 재발급하기

시크릿 키·보안 키는 개발자센터 API 키 페이지에서 직접 재발급할 수 있어요. 아래 상황에서 재발급하세요.

  • 시크릿 키가 외부에 노출됐거나 노출이 의심될 때
  • 정기 교체 정책에 따라 키를 바꿔야 할 때
  • 결제 연동을 맡겼던 외주사·연동 솔루션과의 계약이 끝나 키를 회수해야 할 때
  • 담당 개발자가 퇴사·이동해서 키를 알고 있는 사람이 바뀌었을 때

시크릿 키는 상점의 결제를 승인·취소·조회할 수 있는 자격증명이에요. 유출되면 실제 금전 손실로 이어질 수 있으니 의심 단계에서 교체하는 편이 안전해요.

키 재발급 대상

링크 복사재발급 대상

키 종류재발급비고
결제 시크릿 키 (live_gsk_*, test_gsk_*)가능주문서형·결제창형 연동
API 개별 연동 시크릿 키 (live_sk_*, test_sk_*)가능결제창(구버전)·브랜드페이·부가서비스
보안 키가능API 개별 연동 키에만 발급돼요. 지급대행 요청 본문 JWE 암호화용이면서 payout.changed·seller.changed 웹훅 서명 검증에도 쓰여요. 재발급하면 웹훅 검증 코드의 키도 함께 교체해야 해요.
클라이언트 키 (live_gck_*, live_ck_*)불가브라우저에 노출되는 공개 식별값이라 재발급 개념이 없어요.

링크 복사재발급 절차

  1. 개발자센터에 로그인하고 상점을 선택하세요.
  2. API 키 메뉴로 이동하세요. 화면 상단 탭에서 테스트/라이브 환경을 확인하세요. 환경별로 따로 재발급해야 해요.
  3. 교체할 키의 재발급을 누르세요.
  4. 신규 키가 발급되고, 기존 키는 만료 예정으로 표시돼요.
  5. 신규 키를 서버 설정·시크릿 저장소에 반영하고 배포하세요.
  6. 배포 후 결제·조회 API가 정상 응답하는지 확인하세요.
  7. 기존 키로 들어오는 호출이 없는 것을 확인한 뒤 즉시 폐기하세요.

재발급 전에 시크릿 키를 쓰는 서버·배치·스크립트를 전부 목록화하세요. 한 곳이라도 빠지면 만료 시점에 그 경로만 실패해요. 정산 배치나 취소 스크립트처럼 평소에 안 도는 코드가 자주 누락돼요.

신·구 키 중첩 기간

링크 복사신·구 키 중첩 기간

재발급하면 신규 키와 기존 키가 최대 2개까지 동시에 유효해요. 이 기간에 무중단으로 갈아 끼우면 돼요.

항목값
중첩 기간재발급 시점부터 7일
동시 유효 키 수최대 2개
재발급 횟수기존 키 만료 전까지 1회

7일이 지나면 기존 키로 보낸 요청은 실패해요. 만료 전에 반드시 키 교체를 완료해 주세요.

재발급을 1회로 제한한 이유는 키가 3개 이상 발급되는 상황을 막기 위해서예요. 잘못 발급했더라도 기존 키가 만료될 때까지는 다시 재발급할 수 없으니, 재발급 버튼을 누르기 전에 교체 준비가 끝났는지 확인하세요.

링크 복사롤백 방법

교체 후 문제가 생겼을 때 대응 방법은 중첩 기간 이내인지 여부에 따라 달라져요.

  • 중첩 기간(7일) 이내라면 기존 키가 아직 유효해요. 서버에서 설정을 기존 키로 되돌리고 재배포하면 즉시 복구돼요. 이때 신규 키는 그대로 두세요. 개발자센터에서 삭제할 수 있는 것은 만료 대기 중인 기존 키이고, 재발급은 기존 키가 만료될 때까지 1회로 제한되므로 신규 발급된 키를 삭제할 수는 없어요.
  • 중첩 기간이 지났다면 기존 키는 이미 만료돼 되돌릴 수 없어요. 신규 키로 정상 동작하도록 고치는 것 외에 방법이 없어요.

그래서 만료 하루 전까지는 롤백 가능 상태를 유지하고, 그 사이에 결제·취소·조회·정산 경로를 모두 검증하는 것을 권장해요.

권장 교체 타임라인

시점할 일
D-day키 재발급. 신규 키를 스테이징에 먼저 반영해 검증
D+1운영 서버 반영·배포. 결제/취소/조회 작동 테스트
D+2 ~ D+5배치·정산 등 전체 실행 경로가 문제없이 한 사이클 동작하는지 관찰
D+6기존 키로 실행되는 API 호출은 없는지 확인
D+7기존 키 자동 만료

링크 복사호스팅사·연동 솔루션을 이용할 때

호스팅사·연동 솔루션·외주 개발사를 통해 결제를 연동했다면, 시크릿 키가 내 서버가 아닌 곳에 저장돼 있을 수 있어요.

  • 재발급 전에 반드시 해당 업체에 교체 일정을 알려주세요. 업체 측 반영이 7일 안에 끝나지 않으면 중첩 기간이 지나 결제가 멈춰요.
  • 업체가 여러 상점의 키를 함께 관리하는 구조라면 반영에 시간이 더 걸려요. 최소 영업일 3일 전 통보를 권장해요.
  • 계약이 종료된 업체가 있다면, 그 업체가 키를 알고 있던 시점 기준으로 교체하세요. 계약 종료는 키 회수 사유예요.
  • 업체에 키를 전달할 때 메신저·이메일로 평문 전송하지 마세요. 개발자센터의 사용자 추가 기능으로 권한을 주고 직접 조회하도록 하는 편이 안전해요. 작업이 끝나면 권한을 회수하세요.

링크 복사기존 키 즉시 폐기

키가 실제로 유출돼 중첩 기간을 기다릴 수 없다면, 재발급 후 만료 대기 중인 기존 키를 직접 삭제할 수 있어요. 삭제할 때 결제 중단에 동의하는 체크가 필요해요. 기존 키를 쓰는 경로가 남아 있으면 그 즉시 실패하기 때문이에요.

즉시 폐기를 선택해야 하는 경우는 아래처럼 키가 외부에 공개된 것이 확인된 때예요. 이때는 결제 실패를 감수하더라도 폐기가 우선이에요.

  • 공개 저장소에 커밋된 것을 확인했을 때
  • 클라이언트 번들·앱에 포함된 것을 확인했을 때
  • 로그·메신저·이메일로 유출된 것을 확인했을 때
  • 토스페이먼츠로부터 키 유출 안내를 받았을 때

기존 키 즉시 폐기

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

링크 복사API 키 에러

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