2024년 12월 05일 ・ 읽는 시간 7분
회원가입이나 사업자 등록 없이도 토스페이먼츠의 온라인 결제를 테스트해볼 수 있다는 사실, 알고 계셨나요? 오늘은 계약 전에 토스페이먼츠의 테스트 환경에서 온라인 결제를 연동하고 시뮬레이션하는 방법을 쉽고 간단하게 소개할게요.
테스트 환경이란?
테스트 환경은 실제 라이브 결제 환경과 분리된 공간으로, 안전하게 가상으로 결제를 할 수 있는 곳이에요. 여기서는 실제 카드번호와 결제수단 정보를 입력해도 가상으로만 결제가 이루어지니 걱정 없이 테스트하셔도 됩니다.
테스트 연동을 시작하기
그럼 이제 본격적으로 테스트 환경에서 결제 연동하는 방법을 살펴볼게요. 이번 아티클에서는 No-code UI와 매끄러운 결제 경험을 제공하는 결제위젯을 예시로 듭니다.테스트 환경에서 결제 연동을 시작하려면 먼저 토스페이먼츠의 문서용 테스트 키를 활용해보세요. 아래 키를 사용하면 회원가입 없이도 토스페이먼츠 SDK, API를 테스트할 수 있습니다.
문서용 테스크 키로 많은 결제수단을 직접 사용해볼 수 있지만, 한계점도 있어요. 테스트를 더 깊이 하고 싶다면 토스페이먼츠 개발자센터에 회원가입하세요. 이메일, 전화번호만 있으면 회원가입을 할 수 있습니다. 회원가입만 하면 개발 연동 체험 상점으로 테스트 API 키가 발급되는데요. 다음 기능들을 사용할 수 있어요.
- API 로그, 테스트 내역을 확인할 수 있어요.
- 웹훅을 설정하고 연결해볼 수 있어요.
- 가상계좌(무통장입금)도 테스트 및 모의 입금할 수 있어요.
온라인 결제는 크게 요청 → 인증 → 승인 세 단계를 거칩니다. 토스페이먼츠에서는 결제 요청이 반드시 SDK에서 시작되기 때문에, 먼저 SDK 연동 테스트 방법부터 살펴볼게요.
- 간편한 샌드박스
코드를 한 줄도 안쓰고 테스트하려면 토스페이먼츠 개발자센터의 샌드박스로 결제위젯을 테스트할 수 있어요. 원하는 결제수단을 선택하고 결제 정보를 입력하면 요청, 인증 단계까지 완료했어요. - GitHub 샘플 프로젝트
만약에 코드를 더 자세히 보고 직접 서버를 띄우고 싶다면 GitHub에 공개된 토스페이먼츠 샘플 프로젝트를 실행해보세요. 사용하는 언어를 선택한 다음에 프로젝트를 실행해보세요. - 내 프로젝트에 연동하기
내 프로젝트에 직접 도입하고 싶다면 결제위젯 연동 가이드를 따라 연동해보세요. Client에 해당되는 부분을 완료하면 결제 요청, 인증을 해볼 수 있어요.
결제 요청과 인증이 끝난 이후에는 결제 승인 API를 호출해야 됩니다. 결제 승인 API를 테스트하려면 아래 방법 중 하나를 선택하세요.
- 간편한 샌드박스
토스페이먼츠 개발자센터의 샌드박스로 결제 요청과 인증을 마쳤다면, 화면에 나오는 결제 승인하기 버튼만 누르면 API가 호출돼요. API를 호출하는 코드도 살펴볼 수 있지만, 샌드박스에서 코드를 수정할 수는 없어요. - GitHub 샘플 프로젝트
API 코드까지 수정하고 싶다면 토스페이먼츠 샘플 프로젝트를 사용해주세요. 서버 사이드 코드를 확인하면 결제 승인 API를 호출하는 코드를 직접 수정할 수 있어요. - Postman 등 API 호출 도구
단순히 API만 호출하고 싶다면 개발자센터의 API 테스트 페이지를 사용하던가, Postman과 같은 도구를 사용해서 API를 호출해보세요. - 내 프로젝트에 연동하기
내 프로젝트에 직접 도입하고 싶다면 결제위젯 연동 가이드를 따라 연동해보세요. Server에 해당되는 부분을 완료하면 결제 승인까지 완료할 수 있습니다.
테스트 환경은 최대한 실제 환경과 동일하게 구성됐지만, 테스트의 편의와 각 결제수단에서 제공하는 테스트 환경의 차이점 때문에 부득이하게 라이브 환경과 다른 점이 있어요. 자세한 내용은 환경 설정하기 가이드에서 확인해주세요.
네이버페이 테스트할 수 있나요?
네, 네이버페이 테스트할 수 있습니다. 다만 포인트 및 계좌 결제는 정상적으로 작동하지 않을 수 있어요. 테스트 환경에서는 카드 결제 위주로 테스트해주세요.
카카오페이 테스트할 수 있나요?
카카오페이는 전자결제 계약이 완료된 이후에 내 상점으로 발급되는 테스크 키로만 테스트할 수 있어요. 문서용 테스트 키 또는 개발 연동 체험 상점의 테스트 키로는 카카오페이를 테스트할 수 없어요.
PayPal(페이팔) 테스트할 수 있나요?
네, 문서용 테스트 키로 PayPal 테스트할 수 있습니다. PayPal 연동하기 가이드를 따라 해보세요. 결제위젯을 렌더링할 때 variantKey
를 PAYPAL
로 설정하면 돼요. 문서용 테스트 키로는 테스트가 가능하지만, 개발 연동 체험 상점의 테스트 키로는 결제위젯으로 PayPal을 테스트할 수 없어요. 대신 개발 연동 체험 상점의 테스트 키로는 결제창 방식으로 PayPal을 테스트할 수 있어요.
테스트용 카드번호가 있나요?
테스트용 국내 카드번호는 없어요. 직접 발급받은 카드 정보를 입력해서 결제를 해도 테스트 환경에서는 실제로 돈이 출금되지 않기 때문에 안심하고 사용해도 괜찮습니다. 테스트용 해외 카드번호는 해외 결제 가이드에서 확인할 수 있어요.
paymentKey
만 발급받을 수 있나요?
네. paymentKey
는 결제 요청과 인증이 완료되면 토스페이먼츠에서 결제를 식별하기 위해 발급하는 값인데요. 개발자센터의 샌드박스를 통해서 간편하게 테스트 paymentKey
, orderId
를 발급받을 수 있어요. 샌드박스에 결제수단을 선택하고 인증 정보를 입력하고 결제를 승인하면, 마지막 화면에서 paymentKey
를 볼 수 있어요.
failUrl
을 테스트할 수 있나요?
네. 결제수단 인증이 실패하거나 구매자가 결제를 취소하면 failUrl
로 리다이렉트됩니다. 테스트 환경에서는 실제로 잔액이 부족하거나 유효기간이 만료된 카드 정보를 넣어도 결제 요청과 인증은 정상적으로 이뤄지기 때문에 가장 쉽게 failUrl
리다이렉트를 재현하는 방법은 모바일 환경에서 결제를 요청하고, 결제창을 닫는 방법입니다. 하지만 결제수단과 환경에 따라 failUrl
로 이동하는 조건이 다르다는 점을 유의해주세요.
API에서 에러를 발생시킬 수 있나요?
네, 토스페이먼츠에서 제공하는 TossPayments-Test-Code API
헤더를 사용하면 토스페이먼츠에서 일어나는 모든 에러를 테스트 환경에서도 라이브 환경과 똑같이 재현할 수 있어요. 자세한 사용 방법은 테스트 환경 가이드에서 확인해주세요. 테스트 헤더는 테스트 환경에서만 작동하고, 라이브 환경에서는 무시됩니다.
테스트 환경에서 receipt.url
에 있는 영수증 링크가 안 열려요.
네. 테스트 환경에서는 영수증 링크가 제공되지만 실제 영수증 데이터는 생성되지 않아요. 영수증 샘플은 결제 결과 안내 가이드에서 확인할 수 있어요. 실제로 영수증을 발급받아 보고 싶다면 라이브 환경에서 결제를 해야 됩니다.