Customer Portal은 고객이 지원팀에 문의하지 않고 구독을 관리하고, 인보이스를 확인 및 다운로드하며, 라이선스 키를 가져올 수 있는 호스팅 사이트입니다.
Create Portal Session (API)
고객 한 명을 위한 포털 링크를 생성합니다. 링크는 24시간 동안 유효합니다.
Subscriptions
반복 결제 플랜, 업그레이드, 다운그레이드 및 애드온입니다.

Customer Portal이란 무엇인가요?
포털은 고객이 다음 작업을 수행할 수 있는 비즈니스 이름으로 브랜딩된 셀프 서비스 사이트입니다:- 결제 내역 액세스: 이전 결제를 확인하고 인보이스를 다운로드합니다.
- 구독 관리: 구독 세부 정보를 확인하고, 설정에 따라 구독을 일시 중지 및 재개하거나 즉시 또는 다음 결제일에 취소합니다.
- 결제 수단 업데이트: 구독의 결제 수단을 변경하거나 보류된 구독을 다시 활성화합니다.
- 라이선스 키 가져오기: 구매에 연결된 라이선스 키를 확인합니다.
- 앱으로 돌아가기:
return_url를 전달하면 포털에 비즈니스로 돌아가는 링크가 표시됩니다. 모바일에서는 헤더의 뒤로 가기 화살표를 누르면 포털 개요로 돌아갑니다.
고객을 차단하면 해당 고객의 포털은 읽기 전용이 됩니다. 고객은 계속 로그인하여 인보이스, 구독 및 라이선스 키를 확인할 수 있지만 구독을 취소, 일시 중지 또는 재개하거나 플랜을 변경하거나 결제 수단을 업데이트할 수 없습니다. 포털 프로필은
read_only: true를 반환하므로 custom integration에서 자체 컨트롤을 비활성화할 수 있습니다.주요 이점
- 지원 요청 감소: 고객이 일반적인 결제 요청을 직접 처리합니다.
- 빠른 액세스: 고객은 로그인하는 즉시 인보이스와 라이선스 키를 확인할 수 있습니다.
- 이탈 위험 감소: 고객은 요금이 청구되기 전에 갱신일과 플랜 세부 정보를 확인할 수 있습니다.
- 서명 및 만료되는 링크: 모든 로그인 링크는 서명되며 24시간 후 만료됩니다.
- 현지화된 경험: 포털은 21개 언어로 제공되며 고객 브라우저 설정에서 언어를 선택합니다.
액세스 방법
고객은 정적 링크 또는 동적 링크를 통해 포털에 접속합니다.정적 링크(이메일 기반 액세스)
정적 링크는 만료되지 않습니다. 고객이 링크를 열고 이메일 주소를 입력하면 이메일로 로그인 링크를 받습니다. 정적 링크는 환경에 따라 다릅니다: Test Mode(테스트 및 개발용):{business_id}를 비즈니스 ID로 바꾼 다음 고객에게 링크를 공유하세요. Share Invite 대화 상자의 Static Link에는 이미 해당 ID가 포함되어 있습니다.

1
Merchant Flow
- Sales → Customers로 이동하여 고객을 열거나 목록의 Invite 열을 사용합니다.
- Share Invite를 클릭합니다.
- Static Link를 복사하여 고객에게 공유합니다.
2
Customer Flow
- 정적 링크를 엽니다.
- 구매에 사용한 이메일 주소를 입력하고 Get Access Link를 클릭합니다.
- 이메일로 받은 로그인 링크를 엽니다. 링크는 24시간 동안 유효합니다.
페이지에는 항상 동일한 확인 메시지가 표시됩니다. Dodo Payments는 해당 주소가 비즈니스 고객의 주소인 경우에만 링크를 이메일로 보내므로, 페이지에서 고객인지 여부를 알 수 없습니다.
Test Mode에서는 로그인 이메일이 전송되지 않습니다. Test Mode 포털을 열려면 Dynamic Link를 사용하거나 API를 통해 세션을 생성하세요.
동적 링크(Magic Link)
동적 링크를 사용하면 이메일 단계 없이 고객 한 명을 포털에 바로 로그인시킬 수 있습니다. 동적 링크는 생성 후 24시간이 지나면 만료됩니다.
1
Merchant Flow
- Sales → Customers로 이동하여 고객을 엽니다.
- Share Invite를 클릭합니다.
- Dynamic Link를 복사하여 고객에게 공유합니다.
2
Customer Flow
- 동적 링크를 엽니다.
- 이메일 주소 입력 없이 Customer Portal이 바로 열립니다.
포털 기능
포털 개요는 하나의 페이지로 구성됩니다. 데스크톱에서는 왼쪽 패널에 포털 설명이 표시됩니다. 기본 영역에는 고객의 구독, 결제 수단 및 결제 내역이 나열됩니다.Active Subscriptions
각 구독에는 플랜 이름, 가격, 갱신일 및 유효 기간이 표시됩니다. Manage subscription을 클릭하면 고객이 결제 정보를 수정하고, 플랜을 변경하고, 일시 중지하거나 취소할 수 있는 세부 정보가 열립니다.
Payment Methods
네트워크 및 마지막 4자리 숫자가 표시된 카드, UPI, 지갑 및 은행 결제 수단과 같은 저장된 결제 수단입니다. 세부 정보 페이지에서 구독의 결제 수단을 변경할 수 있습니다.
Billing History
모든 결제가 Date, Status, Amount, Pricing Type, Entitlements 및 Invoice 다운로드 열이 있는 표에 표시됩니다.
Billing Information
구독 세부 정보 페이지에 이름, 이메일, 전화번호 및 청구 주소가 표시됩니다. 고객은 이름과 청구 주소를 수정할 수 있습니다.
포털 개요
개요 페이지에는 활성 구독, 저장된 결제 수단 및 결제 내역이 하나의 스크롤 가능한 화면에 표시됩니다.
결제 수단 및 청구 내역
페이지 아래쪽에는 저장된 결제 수단과 결제 내역이 표시되며, 각 결제의 상태와 각 인보이스의 다운로드 링크를 확인할 수 있습니다.
언어 지원
Customer Portal은 21개 언어로 제공되므로 고객은 자신의 언어로 구독, 결제 수단 및 결제 내역을 관리할 수 있습니다.언어 선택 방식
- 자동 감지: 최초 방문 시 포털이 브라우저의 기본 설정 언어를 읽고 지원되는 언어이면 해당 언어로 로드합니다. 지원되지 않으면 영어를 사용합니다.
- 수동 변경: 고객은 데스크톱과 모바일에서 페이지 오른쪽 아래의 언어 선택기를 사용하여 언제든지 언어를 변경할 수 있습니다.
- 환경 설정 저장: 포털은
NEXT_LOCALEcookie에 선택한 언어를 1년 동안 저장하므로 방문할 때마다 해당 언어를 기억합니다.
지원 언어
플랜 변경(업그레이드/다운그레이드)
고객은 동일한 Product Collection에 속한 제품 간에 포털에서 업그레이드하거나 다운그레이드할 수 있습니다.사용 가능한 작업
플랜 변경 방식
- 고객이 구독 세부 정보 페이지에서 Change Plan을 클릭합니다.
- 포털에 Product Collection의 다른 플랜이 표시됩니다.
- 고객이 플랜을 선택합니다. Confirm Plan Change 패널에는 현재 플랜과 변경된 플랜, 항목별 내역(기존 플랜에 대한 크레딧 및 새 플랜에 대한 청구 금액), 세금 및 지금 결제할 금액이 표시됩니다. 이곳에서 할인 코드도 입력할 수 있습니다.
- 고객이 결제할 금액이 표시된 Pay 버튼으로 확인합니다.
- Dodo Payments가 일할 계산을 수행하고 저장된 결제 수단에서 금액을 청구합니다. 플랜 변경 결제를 payment link로 수금하도록 설정한 경우에는 호스팅된 checkout 페이지에서 결제합니다(Collecting Plan Change Payments by Payment Link 참조).
- 구독이 새 플랜으로 이동합니다. 이 작업이 즉시 수행되는지, 아니면 청구가 성공한 후에만 수행되는지는 payment failure handling에 따라 달라집니다. payment link로 결제한 플랜 변경은 항상 결제를 기다립니다.


플랜 변경은 동일한 컬렉션에 속한 제품 간에만 가능하며 대상 제품은 구독 제품 또는 사용량 기반 제품이어야 합니다. 일회성 제품은 거부됩니다.
Payment Link를 통한 플랜 변경 결제 수집
기본적으로 즉시 플랜 변경 시 고객의 저장된 결제 수단으로 금액이 청구됩니다. Collect Plan Change Payments by Payment Link를 켜면 포털이 대신 새 탭에서 호스팅된 Dodo Payments checkout 페이지를 열고 고객은 해당 페이지에서 결제합니다. 이는 청구 금액이 발생하는 업그레이드와 다운그레이드에 적용됩니다.

checkout 결제가 성공할 때까지 구독은 current plan을 유지합니다. 결제에 실패하거나 중단하면 구독은 변경되지 않으며 고객은 동일한 checkout 세션에서 다시 시도할 수 있습니다. 예약된 다운그레이드(
effective_at: next_billing_date)는 checkout을 거치지 않고 평소와 같이 다음 결제일에 적용됩니다.Plan Change via Payment Link (API)
collect_via_payment_link로 payment link를 요청하고 응답을 처리하는 방법입니다.Business 제어
Settings → Subscriptions에서 고객이 구독에 대해 수행할 수 있는 작업을 설정합니다:- Allow Subscription Updates: 고객이 업그레이드 또는 다운그레이드할 수 있습니다. 기본값은 꺼짐입니다.
- Allow Immediate Cancellation: 고객이 구독을 즉시 종료하고 액세스 권한을 잃도록 합니다. 기본값은 켜짐입니다.
- Allow Cancellation at Next Billing Date: 고객이 결제한 기간이 끝날 때 구독을 취소할 수 있습니다. 기본값은 켜짐입니다.
- Allow Subscription Pause: 고객이 직접 구독을 일시 중지하고 재개할 수 있습니다. 기본값은 꺼짐입니다.
- Collect Plan Change Payments by Payment Link: 저장된 결제 수단으로 청구하는 대신 고객을 checkout 페이지로 보내 즉시 플랜 변경 비용을 결제하도록 합니다. 기본값은 꺼짐입니다.
Product Collections
제품 컬렉션을 설정하고 업그레이드 및 다운그레이드 경로를 구성합니다.
구독 세부 정보
활성 구독에서 Manage subscription을 클릭하면 다음 내용이 표시되는 세부 정보 페이지가 열립니다:- 플랜 세부 정보: 구독 이름, 가격, 갱신일 및 유효 기간입니다.
- 결제 수단: 구독에 사용되는 결제 수단과 Edit 버튼입니다.
- 결제 정보: 이름, 이메일, 전화번호 및 청구 주소와 이름 및 청구 주소를 수정하는 Edit 버튼입니다.
- 결제 내역: 이 구독의 모든 결제가 표시된 표입니다.
- Pause Subscription: 셀프 서비스 일시 중지를 허용한 경우 표시됩니다.
- Cancel Subscription: 취소 대화 상자를 엽니다.

구독 취소
고객은 구독 세부 정보 페이지에서 구독을 취소합니다. Cancel Subscription을 클릭하면 두 가지 옵션이 있는 대화 상자가 열립니다:- Cancel at next billing date: 현재 결제 기간이 끝날 때까지 구독이 활성 상태로 유지된 후 취소됩니다.
- Cancel now: 구독이 즉시 취소됩니다.
Settings → Subscriptions의 두 설정인 Allow Immediate Cancellation과 Allow Cancellation at Next Billing Date가 이 옵션을 각각 제어합니다. 두 설정은 기본적으로 모두 켜져 있습니다. 하나를 끄면 해당 옵션만 제거되므로 다른 옵션은 계속 제공할 수 있습니다. 두 설정을 모두 끄면 Cancel Subscription이 비활성화되고 툴팁에 고객에게 문의하라는 메시지가 표시됩니다. 이미 취소가 예약된 고객에게는 계속 구독할 수 있는 Revoke Cancellation과 Cancel immediately가 표시되며, 후자는 Cancel now와 동일한 작업입니다. 이러한 설정은 직접 수행하는 취소에는 영향을 주지 않습니다.

취소 사유
확인하기 전에 고객은 고정된 목록에서 이유를 선택하여 **Why are you cancelling?**에 답해야 합니다. 또한 Additional comments 아래에 최대 500자의 선택적 의견을 추가할 수 있습니다. Dodo Payments는 두 항목을 모두 구독에 저장하고 webhook payload와 API에서 반환하므로 고객이 이탈하는 이유를 분석하고 재유치 메시지를 맞춤 설정할 수 있습니다.
이유는 구독의
cancellation_feedback 필드에 저장되고 의견은 cancellation_comment에 저장됩니다.
subscription.cancelled webhook payload에도 포함됩니다. API를 통해 구독을 취소하거나 취소를 예약할 때 직접 설정하려면 PATCH /subscriptions/{subscription_id}에 전달하세요.
구독 일시 중지
일시 중지는 고객에게 구독을 유지하거나 취소하는 대신 선택할 수 있는 옵션을 제공합니다. 일시 중지된 구독은 청구를 중단하지만 플랜과 내역은 유지하므로 고객은 다시 구매하지 않고 나중에 재개할 수 있습니다. 고객은 구독 세부 정보 페이지에서 Pause your subscription 대화 상자를 엽니다. 대화 상자에는 현재 플랜이 표시되고 액세스가 즉시 종료된다는 경고와 결제일이 변경되는 방식이 설명됩니다. 고객은 Pause subscription으로 확인합니다.
- 액세스가 즉시 중지됩니다. 구독에 포함된 기능, 다운로드 및 라이선스 키는 구독을 재개할 때까지 작동하지 않습니다.
- 일시 중지에는 종료일이 없습니다. 고객이 재개할 때까지 구독은 일시 중지된 상태로 유지됩니다.
- 유료 시간이 손실되지 않습니다. 다음 결제일과 갱신일은 모두 일시 중지 기간만큼 뒤로 이동합니다.
active로 돌아가고 액세스가 복원됩니다.
Settings → Subscriptions의 Allow Subscription Pause 설정이 셀프 서비스 일시 중지를 제어하며 기본값은 off입니다. 이 설정이 꺼져 있으면 고객은 새로 일시 중지할 수 없지만, 직접 시작한 일시 중지는 계속 재개할 수 있습니다. 대시보드에서 직접 시작한 일시 중지에는 영향을 주지 않습니다.
How Pausing Works
billing 효과, usage settlement, webhook을 포함한 전체 일시 중지 동작입니다.
결제 수단 업데이트
고객은 구독 세부 정보 페이지의 결제 수단 옆에 있는 Edit를 클릭하여 구독의 결제 수단을 변경합니다. 실패한 결제로 인해 보류된 구독을 다시 활성화할 때도 동일한 방법을 사용합니다.보류 중인 구독 재활성화
결제에 실패하면 구독이on_hold로 이동합니다. 포털에는 Your subscription is currently on hold가 표시되고 고객에게 결제 수단을 업데이트하라는 메시지가 표시됩니다. 고객이 업데이트하면 Dodo Payments는 다음을 수행합니다:
- 남은 미납 금액에 대한 청구를 생성합니다
- 청구에 대한 인보이스를 생성합니다
- 새 결제 수단으로 결제를 수금합니다
- 결제가 성공하면 구독을
active로 다시 활성화합니다
on_hold 구독의 미납 요금이 결제되면 구독은 다시 active 상태가 됩니다.Grace Period의 구독 재활성화
유예 기간을 설정한 경우 갱신에 실패하면 구독이on_hold 대신 past_due로 이동합니다. 고객은 기한까지 액세스 권한을 유지합니다.
복구 방식은 동일합니다. 고객이 결제 수단을 업데이트하면 구독이 active로 돌아갑니다. 아무 작업도 하지 않으면 기한에 구독이 설정에 따라 on_hold 또는 cancelled로 이동하고 액세스가 종료됩니다.
결제 수단 업데이트 흐름
1
Access Subscription Details
포털 개요에서 구독의 Manage subscription을 클릭합니다.
2
Click Edit on Payment Method
결제 수단 옆에 있는 Edit를 클릭합니다.
3
Select or Add Payment Method
저장된 결제 수단을 선택하거나 Add Payment Method를 클릭하고 새 정보를 입력합니다.
4
Confirm Changes
업데이트를 확인합니다.
on_hold 상태의 구독인 경우 남은 미납 금액에 대한 청구가 생성됩니다.5
Complete Payment (If On Hold)
구독이 보류 상태인 경우 고객은 남은 미납 금액을 결제하도록 리디렉션됩니다. 결제가 성공하면 구독이 다시 활성화됩니다.
6
Confirmation
포털에는 결제 수단이 업데이트되었으며, 보류된 구독의 경우 다시 활성화되었다는 확인 메시지가 표시됩니다.
Integration 예시
앱에서 고객을 포털로 보내려면 서버에서 포털 세션을 생성하고 반환된link로 고객을 리디렉션하세요. 링크는 24시간 동안 유효합니다.
send_email: true를 전달하세요.
Unified Customer Portal
비즈니스 포털 외에도 Dodo Payments는 customer.dodopayments.com에서 Unified Customer Portal을 운영합니다. 이곳에서 고객은 Dodo Payments를 통해 판매하는 모든 비즈니스의 구매 내역과 구독을 확인하고 관리할 수 있습니다.
Unified Portal 기능
- 비즈니스 간 통합 보기: 모든 Dodo Payments merchant의 구매 내역과 구독을 한곳에서 확인합니다.
- 중앙 집중식 관리: 하나의 사이트에서 여러 비즈니스의 구독을 관리합니다.
- 통합 결제 내역: 모든 구매의 인보이스와 결제 내역에 액세스합니다.
- 단일 로그인: 이메일 주소로 한 번 로그인하여 모든 Dodo Payments merchant의 구매 내역에 액세스합니다.
문제 해결
- 링크 만료: 새 동적 링크를 생성하여 고객에게 보냅니다.
- 이메일 인식 안 됨: 고객에게 구매에 사용한 이메일 주소를 사용하도록 안내합니다. 비즈니스 고객이 아닌 주소로는 로그인 이메일이 전송되지 않습니다.
- 보류된 구독: 고객이 포털에서 결제 수단을 업데이트합니다. Dodo Payments는 결제가 성공하면 남은 미납 금액을 청구하고 구독을 다시 활성화합니다.
- 결제 수단 업데이트 실패:
on_hold상태의 구독에서 결제 수단을 업데이트하는 중 결제에 실패하면 구독은 보류 상태로 유지됩니다. 고객은 다른 결제 수단으로 다시 시도할 수 있습니다.
Design & Theme Customization
Design 페이지에서 미리 구성된 테마, 서체 및 색상을 사용하여 포털을 맞춤 설정하고 실시간 미리보기를 확인할 수 있습니다.