Search

카드 - 자동결제 (정기결제 포함)

이 문서에 대한 내용에 대한 문의는 토스페이먼츠 디스코드 사이트(https://discord.gg/44w6tQkw8N) 를 통해 언제든 가능합니다.

정의

자동결제는 다른 이름으로 빌링, 또는 정기결제 라고도 불리는 결제 방식입니다.
최초 사용자가 본인의 카드관련 정보를 입력한 후 토스페이먼츠에서 이 카드 정보를 이용해서 자동결제키(빌링키) 를 생성해서 가맹점으로 응답합니다.
가맹점에서는 해당 자동결제키를 DB 에 저장해 두었다가 결제가 필요한 시점에 자동결제키를 이용해서 필요한 금액 결제를 요청하면 되는 방식입니다.
다른 결제 방식과 다른점은 사용자의 결제요청 없이 가맹점이 원하는 시점에 원하는 금액을 미리 등록한 카드로 결제한다는 점입니다.

사용 시나리오

1.
넷*릭스, 멜* 처럼 구독형 서비스를 제공하여 사용자가 등록한 카드로 정기적(매주, 매월)인 결제가 필요한 경우

고려 사항

정기결제는 정기적으로 결제가 필요한 경우를 위해 카드사에서 제공하는 기능입니다. 그렇기 때문에 정기결제 기능을 사용하기 위해 카드사 심사가 진행될 때는 정기결제용 상품이 있어야 심사를 통과할 수 있습니다. 정기결제 기능을 사용하시려면 카드사 심사 시 정기결제로 진행되는 상품을 쇼핑몰에 노출해 주시기 바랍니다.
일반적으로 정기결제 형태로 자동결제를 사용하시는 경우, 카드사 즉시할인이나, 할부 등을 사용하지 않습니다. 그러나 특별한 경우 카드사 즉시할인이나, 할부 결제가 필요한 경우가 있습니다.
자동결제에 즉시할인, 할부가 필요할지 논의해 주시기 바랍니다.
(즉시할인은 프로모션과 같이 이벤트 성격을 갖고 있고, 일반적으로 사용자의 결제를 유도하기 위한 도구와 같아서 정기 또는 자동결제에서 사용되는 케이스는 거의 없습니다.)
또한 카드 자동결제의 경우, 유저가 카드정보를 최초등록(1회차 결제/인증을 시도한 이후) 카드를 재발급한 경우, 유저가 카드비밀번호를 바뀌는 경우 결제실패가 발생합니다. 이에 따라 일반 일반 카드결제에 비해 결제 실패율이 높을 수 있는 점 참고하여 주시기 바랍니다.
자동 결제시 할부지원은 카드사 별로 다른 정책을 가지고 있습니다. 일부 카드사(BC) 의 경우 최대 3개월까지만 할부를 지원하고 있습니다. 자동결제시에 할부를 이용하시려면 카드사의 이러한 제약사항을 감안해 주시기 바랍니다.
카드사 별로 빌링 결제 지원가능한 최대 할부개월수는 다음과 같습니다. (가맹점의 계약 상태에 따라 이것보다 더 적을수 있습니다.)
국민 : 18 개월
비씨 : 3개월
하나 : 2-24 개월 (카드 별로 다름)
롯데 : 24개월
신한 : 30개월
삼성 : 24개월
현대 : 18개월
농협 : 24개월 ( 개인 신용 기준 ) , 법인,사업자 카드의 경우 최대 6개월
자동결제는 유효한 자동결제키를 이용해서 결제가 진행되지만 결제시점에 분실신고나 유효기간 만료, 잔액부족, 한도 초과 등의 이슈로 결제가 불가할수 있습니다. 이런 경우에는 가맹점에서 고객에게 관련 내용을 알리고, 신규로 카드 등록을 하는 등의 추가적인 구현이 필요합니다.

토스페이먼츠가 제공하는 자동결제 방식

자동결제는 자동결제 키를 발급받는 인증 단계와, 발급된 자동결제키를 이용해서 실제 결제를 내는 승인 단계로 구분됩니다. 인증은 여러가지 방식을 지원하지만 승인은 RESTful API 를 사용하는 한가지 방법만 제공합니다.
결제 발생이 필요할때마다 가맹점에서 API를 호출해 주셔야 하고, 그러므로 정기결제가 필요하시다면 가맹점이 자체적으로 스케쥴러 등을 사용해서 결제가 필요한 시점에 API 를 호출하도록 구현이 필요합니다.
참고 : 자동결제키는 기본적으로 가맹점의 사용자와 매핑되어야 합니다. 그래서 모든 자동결제키 요청 방식에는 사용자를 구분하는 key 인 customerKey 를 보내야 합니다. 해당 키는 가맹점에서 생성하시면 되는 것으로 일반적으로는 가맹점에서 관리하는 사용자 ID, 사용자 일련 번호 또는 ID 를 암호화 하거나 hash 한 값 등, 중복 되지 않은 값을 사용해 주시면 됩니다.

A. 자동결제 키 발급을 위한 인증창 with 본인인증

B. 자동결제 키 발급을 위한 인증창 without 본인인증

C. 자동결제 키 발급을 위한 API

자동결제 키 발급후

최종적으로 자동결제 키를 발급하시게 되면 빌링키와, 해당 자동결제 키를 발급한 카드 정보를 같이 받을수 있습니다. 해당 정보를 이용해서 사용자에게 등록한 카드 정보를 표시해 주시고, 특히 체크 카드의 경우 할부가 불가능하므로 이 정보를 이용해서 할부 불가 등을 사용자에게 안내해 주시기 바랍니다.
추가로 카드 번호를 마스킹해서 제공합니다. (ex. 42215500***562*) 만약 가맹점에서 카드 BIN 정보를 관리하신다면, 카드번호에 제공되는 앞 6자리 혹은 8자리를 이용해서 제휴카드등 특정 목적의 카드인지를 구분할 수 있습니다.

자동결제 키를 이용한 결제

자동결제 키를 받으셨다면 이제 언제든 해당 키를 이용해 결제가 가능합니다. 실제 결제를 하시려면 결제가 필요한시점에 “카드 자동 결제 승인 요청” API [링크] 를 이용해서 결제해 주시면 됩니다. 이 때 주의 하실점은 customerKey 파라미터에 해당 빌링키를 발급할 때 사용했던 customerKey 값을 같이 넣어주셔야 합니다. 만약 customerKey 값이 일치하지 않는 다면 “NOT_MATCHES_CUSTOMER_KEY” 에러가 발생합니다.