토스 결제 모듈 구현하기 - 1(Nest.js)

jonghyun.log·2022년 6월 8일
0

결제

목록 보기
2/3
post-thumbnail

지난 글에서는 PG 사들이 어떤식으로 결제를 진행하는 지 구조를 알아봤다면 이번에는 토스 페이먼츠에서 제공하는 api들을 연동해서 직접 결제를 구현해 보도록 하겠습니다.

(이 글에서는 Nest.js를 통한 벡엔드 구현 부분만 다룰 예정입니다.)

연동 준비 시작하기

토스페이먼츠 api 연동준비 링크

결제를 시작하기 전에 먼저 준비 사항이 필요합니다.
토스페이먼츠 문서에 들어가 보면 SDK 준비 파트가 있고 복잡하게 있지만 이건 프론트에서 사용하는 것이므로 스킵하고~
벡엔드는 바로 API 연동 준비 탭으로 넘어가 줍니다.

api 키 발급받기

프로토콜과 방화벽 등등 어려운 설정들이 문서에 나와있긴 하지만
제가 직접 로컬에서 구현해보니 로컬환경에서는 딱히 문제 없이 잘 돌아가는것을 확인하였습니다.
또한 헤로쿠 배포환경에서도 별다른 조작없이 헤로쿠가 기본적으로 제공하는 세팅으로도 잘 돌아가는것을 확인하였습니다.

토스에서 제공하는 api를 사용하려면 토스에서 제시하는 api 키들을 할당받아 사용해야 합니다.

토스 api키 발급 가이드 문서

테스트키는 로컬 환경에서만 api가 응답을 하니 배포 환경에서는 회원가입 후 사업자 등록을 통한 키 발급을 받아서 사용해 주세요.

키는 두가지가 있습니다.
바로 클라이언트 키시크릿 키 인데요 클라인언트 키는 프론트에서 SDK 연동을 통해 사용할 때 사용하는 값이고 시크릿 키는 벡엔드 서버에서 토스 서버로 요청을 보낼 때 사용하는 키 입니다.
이 글에서는 벡엔드 부분을 다룰 것이므로 시크릿 키를 사용하도록 하겠습니다.

먼저 위의 토스 api 발급 가이드 문서에서 시크릿 키를 복사하시거나

토스페이먼츠에 가입후 로그인한 화면에서

내 상점 클릭 후 나오는 탭에서 개발 테스트 패이지로 들어갑니다.
개발 테스트 페이지에 나오는 테스트 키로 테스트를 진행하면 됩니다.

주의) 이때 테스트 키와 클라이언트 키는 항상 쌍을 맞추어 사용해야 합니다
다른 키를 사용할 경우 결제가 제대로 이뤄지지 않습니다.
또한, 키를 맞춰서 사용해야 하므로
만약 계정으로 발급받은 키를 사용한다면
개발 테스트 탭에서 같이 개발하는 사람을 초대후
같은 키를 공유해서 개발해야 합니다.

위에서 발급 받은 테스트 키로 진행한 결제는 실제 결제로 이루어 지지 않고 테스트만 가능합니다.
실제 결제를 하고 싶다면 사업자 등록 후 토스에 인증과정을 거쳐서 발급 받은 라이브 키를 사용해야 합니다.

글이 너무 길어져서 일단 끊고 다음 글에서 다음 과정을 마저 작성하도록 하겠습니다.

0개의 댓글