목차

자동결제는 정기 배송, 음악 스트리밍과 같은 구독형 서비스에서 사용하는 결제 방식입니다. 신용·체크카드 결제를 지원합니다.

자동결제는 추가 계약 후 사용할 수 있습니다. 토스페이먼츠 고객센터(1544-7772, support@tosspayments.com)로 문의해주세요.

자동결제 과정

일반결제는 결제하는 시점에 매번 고객 인증이 필요하지만, 자동결제는 최초의 인증으로 받은 빌링키를 계속 사용할 수 있습니다. 기술적으로는 매 회 결제수단 인증이 일어나지만, 결제 고객 입장에서는 최초 인증 후에는 따로 인증 과정이 없는 결제 경험을 하게 됩니다.

자동결제는 다음과 같은 순서로 이루어집니다.

  1. 고객의 카드 정보로 토스페이먼츠에서 빌링키를 발급받고 저장합니다.

  2. 빌링키로 1시간, 1주, 1달, 1년 등 필요한 시점에 원하는 금액을 자유롭게 결제합니다.

자동결제-흐름

빌링키 발급받기

빌링키란?

빌링키는 암호화된 카드 정보로 생각할 수 있습니다. 빌링키는 한 번 발급되면 고객의 의사와 무관하게 결제가 가능합니다. 반드시 고객의 본인인증을 받고 발급을 요청하세요.

  • 빌링키는 카드사에서 발급하기 때문에 카드사 심사가 진행될 때 자동결제 상품이 있어야 합니다.
  • 빌링키는 고객 정보와 함께 서버에 저장하세요. 한 번 발급받은 빌링키는 다시 조회할 수 없습니다.

빌링키를 발급받는 두 가지 방법

토스페이먼츠 결제창

빌링키 발급에 필요한 고객의 카드 정보 입력, 본인인증은 두 가지 방법으로 구현할 수 있습니다.

  • 위 그림과 같은 토스페이먼츠 결제창을 연동해서 고객의 카드 정보, 본인인증을 받습니다. 결제창의 결과로 빌링키를 발급받습니다. 더 자세한 내용은 결제창 가이드를 참고하세요.
  • 자체적으로 고객의 카드 정보, 본인인증을 받는 UI를 구현합니다. 고객의 카드 정보로 API를 호출해서 빌링키를 발급받습니다. 더 자세한 내용은 API 가이드를 참고하세요.

테스트 환경은 라이브 환경과 달리 아래와 같은 차이가 있으니 유의해주세요.

- 토스페이먼츠 결제창에서 본인인증 기능이 제공되지 않습니다. 본인인증창이 뜨면 인증번호로 000000을 입력하세요.

- 실제 카드번호를 검증하지 않습니다. 카드번호의 앞 6자리 또는 8자리만 유효하면 나머지 카드번호, 유효기간, 생년월일은 임의로 넣어도 에러가 발생하지 않습니다.

자동결제 실행하기

발급받은 빌링키로 카드 자동결제 승인 API를 호출해서 필요한 시점에 원하는 금액을 자유롭게 결제합니다.

curl --request POST \
--url https://api.tosspayments.com/v1/billing/Z_t5vOvQxrj4499PeiJcjen28-V2RyqgYTwN44Rdzk0= \
--header 'Authorization: Basic dGVzdF9za196WExrS0V5cE5BcldtbzUwblgzbG1lYXhZRzVSOg==' \
--header 'Content-Type: application/json' \
--data '{"customerKey":"aENcQAtPdYbTjGhtQnNVj","amount":4900,"orderId":"a4CWyWY5m89PNh7xJwhk1","orderName":"토스 프라임 구독","customerEmail":"customer@email.com","customerName":"박토스","taxFreeAmount":0,"taxExemptionAmount":0}'

자주 묻는 질문

Q. 구독 서비스는 어떻게 만들어야 하나요?

구독 서비스는 자동결제 API를 사용해서 직접 구축해야 합니다. 1달 주기로 결제가 필요한 상품이면 1달마다 고객키, 빌링키, 금액을 설정해서 카드 자동결제 승인 API를 호출하면 됩니다.

Q. 고객이 구독을 취소하면 어떻게 해야 하나요?

다음 결제일에 구독을 취소한 고객의 빌링키, 고객키로 카드 자동결제 승인 API를 호출하지 않으면 됩니다.

Q. 구독 결제 금액이 변경되면 어떻게 해야 하나요?

카드 자동결제 승인 API를 호출할 때 amount 파라미터를 변경된 결제 금액으로 설정하면 됩니다.

Q. 구독 결제 주기가 변경되면 어떻게 해야 하나요?

카드 자동결제 승인 API를 호출하는 주기를 변경해주세요.

Q. NOT_SUPPORTED_METHOD 에러는 왜 발생하나요?

자동결제 계약이 안 되어 있는 클라이언트 키로 연동하면 발생합니다. 자동결제 계약이 되어있는 클라이언트 키를 사용하거나 토스페이먼츠 고객센터(1544-7772, support@tosspayments.com)로 문의해주세요.

Q. NOT_MATCHES_CUSTOMER_KEY 에러는 왜 발생하나요?

customerkey와 일치하는 billingKey를 사용하지 않으면 발생합니다.

연동 시작하기

자동결제를 연동할 준비가 되었나요? 구현 방법을 선택해서 시작하세요.

자동결제창 연동하기토스페이먼츠 UI로 빌링키를 발급받아요
  • 더 궁금한 내용이 있나요?
  • 코드 샘플을 참고하세요
  • 기술지원이 필요한가요?
    디스코드 채팅|이메일 보내기