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