Search

브랜드페이 자동결제

1. 브랜드페이 자동결제란

브랜드페이에 등록된 결제수단을 활용하여, 고객의 인증 과정 없이 자동으로 결제를 진행할 수 있는 기능입니다.
고객이 브랜드페이에 카드를 등록하면 methodKey가 발급됩니다. methodKey는 암호화된 카드 정보로, 일반적으로 정기결제에 사용되는 빌링키(Billing Key)와 동일한 역할을 합니다.
자동결제를 실행하기 위해서는 상점에서 발급된 methodKey를 관리하며, 자동결제 실행 API(문서 링크)를 호출하여 결제를 요청합니다.
자동결제는 다음과 같은 특징이 있습니다.
고객의 직접적인 개입 없이, 특정 시점에 서버 간(Server-to-Server) 결제 요청이 가능합니다.
자동결제 실행 API 호출 시, 결제 금액(amount)을 파라미터로 전송해야 합니다. 따라서, 매 결제 요청마다 금액을 다르게 설정할 수 있습니다.
이 기능을 활용하면 정기결제(구독), 후불 결제 등 다양한 결제 서비스를 구축할 수 있습니다.
주의사항
브랜드페이 MID에 기능 활성화를 통해 자동결제를 사용할 수 있습니다.
활성화는 토스페이먼츠에서 진행하며, 판매하는 상품이나 서비스의 특성에 따라 자동결제 기능이 제공되지 않을 수 있습니다.
자동결제 기능은 브랜드페이에 등록된 ‘카드’로만 사용할 수 있으며, ‘계좌’는 지원되지 않습니다.
자동결제를 사용하려면 고객의 개별 약관 동의가 필요합니다. 자세한 내용은 2.연동방법을 참고하세요.

2. 연동방법

정기결제(구독) 서비스를 예시로 들어 연동 방법을 설명합니다. 응용하여 후불결제, 분할결제 등 다양한 결제 방식을 구현할 수 있으며, 구현 방법은 3. 사용 사례에서 간략히 소개하고 있으니 참고하시기 바랍니다.
리디 - 정기결제 등록 화면 예시
b. 자동결제 약관 동의c.비밀번호 검증의 순서는 바뀌어도 무방합니다. 고객이 카드 등록 후 자동결제를 항상 사용하는 서비스라면, 결제수단 등록 과정에서 약관동의를 받아도 문제없이 운영할 수 있습니다.
브랜드페이 자동결제 구현을 위해서는 v1 브랜드페이 SDK를 사용해주셔야합니다. v1브랜드페이 SD에 자동결제 구현을 위한 여러 기능이 포함되어있습니다.
<script src="https://js.tosspayments.com/v1/brandpay"></script>
** API 개별연동키 사용

a. 결제수단 선택

고객이 브랜드페이에 등록한 여러 카드 중 정기결제에 사용할 카드를 선택해야 합니다. 아래 방법 중 사용하여 구현할 수 있습니다.
브랜드페이 위젯 사용 (문서 링크)
브랜드페이 위젯을 사용하면 토스페이먼츠에서 제공하는 UI를 활용하여 쉽게 구현할 수 있습니다. 이를 통해 고객에게 결제수단 선택 화면을 제공할 수 있으며, 고객이 결제수단을 선택한 후 CTA 버튼을 클릭하면 getPaymentParams()를 호출하여 선택한 결제수단의 methodId를 가져올 수 있습니다.
methodKey는 보안상 Client단에서 노출 되지 않으므로, getPaymentParams() 에서 바로 획득할 수 없습니다. 따라서 methodId를 활용하여, methodKey를 별도로 획득해야 합니다.
methodId로 methodKey를 획득하는 법
결제수단 조회API 활용
결제수단조회API(문서 링크)를 호출하여 methodId를 사용해 methodKey를 획득할 수 있습니다.
고객사 DB 활용
사용자가 브랜드페이에 결제수단을 등록하면 METHOD_UPDATE 웹훅(문서 링크)이 발송됩니다.
해당 웹훅을 활용하여 사용자별 결제수단 정보를 미리 DB에 저장 및 관리할 수 있습니다.
고객이 결제수단을 삭제 했을 때도 동일한 웹훅을 활용하여 DB 및 정기결제 관리 목록에서 삭제할 수 있습니다.
브랜드페이 위젯 사용 시 주의사항
createPaymentMethodsWidget(결제금액)을 호출할 때 입력하는 결제금액은 실제 결제에 사용되지 않습니다.
위젯은 결제수단을 선택하는 기능만 수행합니다.
결제금액은 10,000원 미만의 가장 적은 금액을 설정하는 것이 권장됩니다.
10,000원을 초과하면 카드사에 따라 할부 선택 창이 활성화될 수 있습니다.
직접 결제수단 선택 UI 구현
결제수단조회API(문서 링크)를 활용하면, 결제수단 선택 UI를 직접 구현할 수 있습니다. 이 API를 호출하면 카드 정보, 카드사 로고 등 다양한 정보를 포함한 응답값을 받을 수 있어, 이를 활용하여 맞춤형 UI를 구성할 수 있습니다. 3. 사용사례-정기(구독) 결제 의 삼성전자 사례를 참고바랍니다.

b. 자동결제 약관 동의

자동결제는 자동결제 약관 동의가 완료된 경우에만 사용할 수 있습니다.약관 동의는 결제수단별이 아닌 고객별(customerKey)로 1회만 진행하면 됩니다. 고객이 약관 동의를 하지 않은 상태에서 자동결제 실행 API를 호출하면, REQUIRED_BILLING_TERMS 오류가 반환됩니다. 약관 동의는 아래 중 사용하여 구현할 수 있습니다.
브랜드페이 SDK 사용 (문서 링크)
requestAgreement("빌링") method를 사용하면 토스페이먼츠에서 UI 부터 약관동의까지 모두 처리해드립니다. 상단 리디 - 정기결제 등록 화면 예시b. 자동결제 약관 동의가 method 호출 시 제공되는 화면입니다.
약관 동의 Process 직접 구현
약관 동의 UI를 직접 구현한 후, 약관 동의 API(문서 링크)를 활용하여 동의 정보를 처리할 수 있습니다. 약관 내용은 아래 URL(https://pages.tosspayments.com/terms/brandpay/billing/)을 직접 링크하여 사용할 수도 있습니다.

c. 비밀번호 검증

requestPasswordAuth() 를 사용하여 비밀번호 검증창을 띄울 수 있습니다. 이 기능은 공식 문서에 공개되어있지 않은 히든 스펙이며, 브랜드페이 단건 결제시 사용하는 requestPayment() 와는 다르게 결제 없이 비밀번호만 검증합니다. 비밀번호 검증이 성공하면 Promise가 Resolve되며, 이를 활용하여 인증 프로세스를 구현할 수 있습니다.
brandpay.requestPasswordAuth({}).then(function (data) { console.log("success"); })
JavaScript
복사
 정기결제 등록이 완료된 후, 획득한 methodKey를 활용하여 원하는 시점에 반복적으로 결제가 이루어지도록 배치 서비스 등을 구현하면 됩니다.

3. 사용 사례

정기(구독) 결제

후불결제 (충전업 / 드로우)

분할결제