가이드/자동결제(빌링)
목차

자동결제란?

는 정기 배송, 음악 스트리밍과 같은 구독형 서비스에서 사용하는 결제 방식입니다. 정기 구독형 서비스가 아니라면 자동결제 사용이 제한되니 유의하세요.

결제수단으로는 신용·체크카드만 지원해요. 자동결제 서비스 연동에 필요한 카드 빌링키를 발급받으려면 카드 번호, 유효기간, 카드 소유자의 생년월일 또는 사업자번호가 필요해요.

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

연동하기

결제창 SDK로 연동하기토스페이먼츠 결제창 UI에서 구매자 정보를 입력받고 빌링키를 발급받아요.

자동결제 과정

일반결제는 결제하는 시점에 매번 구매자의 본인인증이 필요하지만, 자동결제는 구독 주기마다 본인인증 없이 결제할 수 있습니다. 최초 본인인증을 해서 발급된 빌링키가 이후의 본인인증 과정을 대신하기 때문입니다. 기술적으로는 매 회 본인인증이 일어나지만, 결제 고객 입장에서는 최초 인증 후에는 따로 인증 과정이 없는 결제 경험을 하게 됩니다.

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

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

  2. 빌링키로 구독 주기마다 원하는 금액을 자유롭게 결제합니다.

자동결제-흐름

1. 빌링키 발급받기

빌링키란?

빌링키는 고객의 카드번호, 유효기간, CVC 등 결제 정보를 암호화한 값으로 생각할 수 있어요. 본인인증을 마치고 한 번 빌링키를 발급받으면, 고객의 의사와 무관하게 빌링키로 계속 결제가 가능해요. 악용되지 않게 반드시 고객 본인인증을 받은 뒤에 빌링키를 발급받는 것을 추천해요.

빌링키는 결제수단을 관리하는 곳에서 발급해요. 예를 들어, 고객이 카드 정보를 등록했다면 카드사에서 빌링키를 발급해요. PG사는 카드사에 발급한 빌링키를 상점에게 전달해요.

빌링키는 고객 정보와 함께 서버에 저장하세요. 한 번 발급받은 빌링키는 다시 조회할 수 없습니다. 더 자세한 빌링키 설명은 에서 확인해보세요.

정기 결제 빌링키 사용 흐름도

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

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

토스페이먼츠 결제창
토스페이먼츠 결제창토스페이먼츠 결제창으로 구매자의 카드 정보, 본인인증을 받아요. 카드 등록 요청 결과로 빌링키를 발급받습니다.
자체 제작 UI
자체 제작 UI자체적으로 구매자의 카드 정보, 본인인증을 받는 UI를 구현해요. 구매자의 카드 정보로 API를 호출해서 빌링키를 발급받습니다.

2. 자동결제 실행하기

발급받은 빌링키로 카드 자동결제 승인 API를 호출해서 구독 주기에 맞춰 원하는 금액을 자유롭게 결제합니다.

자주 묻는 질문

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

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

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

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

새로운 카드 정보로 빌링키를 다시 발급받으세요. 별도로 빌링키를 갱신하는 과정은 없습니다.

별도로 제공하지 않습니다. 자동결제에 등록할 카드의 유효성 여부는 빌링키 발급을 요청할 때 카드사를 통해 확인합니다. 만약 유효하지 않다면 에러를 응답합니다. 카드 잔고 부족이나 한도 초과는 결제 승인을 요청할 때 카드사를 통해 확인합니다.

발급된 빌링키를 삭제하는 API는 제공되지 않습니다. 발급된 빌링키가 더 이상 필요하지 않으면 데이터베이스에서 삭제하고 더 이상 사용하지 않으면 됩니다.

혹시 누군가가 빌링키 정보를 알고 있더라도 빌링키와 매칭이되는 customerKey를 모른다면 결제가 불가능합니다. 빌링키를 사용한 결제는 빌링키를 발급할 때 같이 전달된 customerKey와 매핑이 되어있기 때문에, 결제 요청을 할 때 빌링키와 customerKey가 같이 전달되어야 결제가 진행됩니다.

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

customerkey와 매핑되지 않은 billingKey를 사용하면 발생합니다.

  • 더 궁금한 내용이 있나요?
  • 코드 샘플을 참고하세요
  • 기술지원이 필요한가요?
    실시간 문의|이메일 보내기