Skip to main content
Customer Blocklist는 알려진 악성 사용자가 다시 구매하는 것을 차단합니다. 차단된 고객은 결제할 수 없고 활성 구독이 해지되며, Customer Portal에서 계정을 확인할 수는 있지만 구독을 변경할 수는 없습니다. Settings → Blocklist에서 또는 Blocklist API를 통해 차단 목록을 관리하세요.
차단된 고객의 총 수, identifier, blocked by, blocked on 열이 있는 차단 항목 테이블 및 Add to Blocklist 버튼이 표시된 Blocklist 설정 페이지

The Blocklist tab under Settings

고객을 차단하면 발생하는 일

차단은 추가하는 즉시 다음 각 영역에 적용됩니다:
차단은 과거 결제를 환불하지 않으며, 진행 중인 disputes에도 영향을 주지 않습니다. 환불이 필요한 경우 Refunds 페이지에서 별도로 처리하세요.

차단 대상 고객 매칭 방식

customer ID 또는 email로 차단할 수 있습니다. 어느 방법을 사용하든 차단은 customer record가 아니라 고객의 이메일을 기준으로 적용됩니다:
  • 해당 이메일을 사용하는 모든 record가 적용 대상입니다. Checkout에서는 기존 이메일로 다시 방문한 고객에 대해 새 customer record를 만들 수 있으므로, 하나의 customer ID만 차단하면 우회할 수 있습니다. 이메일을 기준으로 차단하면 우회할 수 없습니다.
  • Aliases도 적용 대상입니다. 이메일은 소문자로 비교하며 +alias가 제거됩니다. 따라서 buyer+promo@example.com와 Buyer@example.com는 동일한 고객으로 간주됩니다. 주소의 점은 입력된 그대로 유지됩니다.
  • 귀사의 business에만 적용됩니다. 차단은 귀사의 business에만 적용됩니다. 동일한 이메일로도 Dodo Payments의 다른 business에서는 계속 구매할 수 있습니다.
  • 이메일은 기존 고객에게 속해야 합니다. 귀사의 어떤 고객과도 일치하지 않는 이메일은 차단할 수 없으며, 이메일이 없는 customer record도 차단할 수 없습니다.

고객 차단하기

Blocklist 페이지 또는 고객의 전용 페이지에서 고객을 차단할 수 있습니다.
1

Open the Blocklist

대시보드에서 Settings → Blocklist로 이동합니다.
2

Add to Blocklist

Add to Blocklist를 클릭한 다음 Customer ID or email에 고객의 이메일 또는 customer ID를 입력합니다. 패널에 일치하는 고객이 표시됩니다.
3

Confirm

패널에서 Add to Blocklist를 클릭합니다. 고객의 live subscriptions가 즉시 취소되고 항목이 Blocked entries 테이블에 표시됩니다. 일부 subscriptions가 아직 취소 중이면 대시보드에 알림이 표시됩니다. 잠시 후 페이지를 새로 고쳐 확인하세요.
대시보드에서는 사유를 묻지 않습니다. 고객을 차단한 이유를 기록하려면 고객 페이지에 note를 추가하거나 API를 통해 차단할 때 reason를 전송하세요.

차단된 고객 관리

Blocklist 페이지에는 모든 활성 차단이 표시됩니다:
  • Total Customers Blocked: 현재 차단된 고객 수입니다.
  • Blocked entries: 차단당 하나의 행이 표시되며, 입력한 Identifier(email 또는 customer ID), Blocked By, Blocked On이 포함됩니다. Blocked By에는 차단을 추가한 팀원이 표시되며, API key로 추가된 차단은 API로 표시됩니다.
  • Search Identifier 및 Filters: email 또는 customer ID로 항목을 검색하거나 Blocked By 및 Blocked Between으로 필터링할 수 있습니다.
  • Action: See Details를 클릭하면 차단된 고객의 페이지가 열리고, Unblock을 클릭하면 차단이 해제됩니다. Viewer role의 팀원은 차단을 해제할 수 없습니다.

차단된 고객의 페이지

Blocked 배지, Unblock Customer 버튼, note가 포함된 Activity Log 및 Added to blocklist 이벤트, customer ID가 포함된 Reference IDs 패널이 표시된 차단 고객의 Customer Information 페이지

A blocked customer's details page

Sales → Customers 또는 Blocklist 페이지에서 차단된 고객을 열어 다음을 확인할 수 있습니다:
  • 고객 이름 옆의 Blocked 배지 및 Unblock Customer 버튼
  • Activity Log: 고객이 blocklist에 추가된 시점, 사유 및 이후 팀에서 추가한 notes입니다. Add Note를 클릭하여 chargeback 처리 결과와 같은 새로운 맥락을 기록할 수 있습니다. 나중에 API를 통해 note를 수정할 수 있습니다.
  • Reference IDs: 이 차단에 연결된 customer ID이며, 복사할 수 있습니다.

고객 차단 해제하기

고객의 페이지에서 Unblock Customer를 클릭하거나 Blocklist 페이지의 Action 열에서 Unblock을 선택합니다. 그런 다음 Unblock으로 확인합니다.
  • Checkout 및 Customer Portal 변경 사항이 즉시 복원됩니다.
  • 취소된 subscriptions는 다시 활성화되지 않습니다. 고객은 다시 구매해야 합니다.
  • 항목은 notes와 함께 audit record로 보존되지만 활성 목록에는 더 이상 표시되지 않습니다.
  • 나중에 같은 고객을 다시 차단할 수 있습니다. 이 경우 새 항목이 생성됩니다.

고객에게 표시되는 내용

차단된 고객에게는 차단되었다는 사실이 절대 알려지지 않습니다.
  • Checkout에서 결제가 일반적인 거부 메시지와 함께 실패합니다: “This payment cannot be processed.” API는 원인을 표시하지 않는 오류 코드 PAYMENT_NOT_PERMITTED와 함께 HTTP 403를 반환합니다. 실제 사유는 Dodo Payments의 logs에만 기록됩니다.
  • Customer Portal에서 모든 항목이 표시되지만 계정을 변경하는 모든 action은 거부됩니다. 거부된 action은 PORTAL_ACTION_NOT_PERMITTED 및 “This action is not available.” 메시지와 함께 HTTP 403를 반환합니다. 포털 profile에는 read_only: true가 포함되므로 custom portal integration에서 자체 controls를 비활성화할 수 있습니다. 포털에는 blocklist 항목이나 notes가 절대 표시되지 않습니다.
자체 product에서 checkout 또는 portal errors를 표시하는 경우에도 이 동작을 유지하세요. PAYMENT_NOT_PERMITTED 및 PORTAL_ACTION_NOT_PERMITTED에는 일반적인 메시지를 표시하세요. 차단 사실을 공개하면 악성 사용자가 다른 이메일을 시도하게 됩니다.

API 사용

Blocklist API를 사용하면 chargeback이 접수되는 경우처럼 자체 tooling에서 고객을 차단할 수 있습니다. 이를 사용하려면 secret API key가 필요합니다. 모든 key는 entries를 나열하고 notes를 읽을 수 있습니다. write access가 활성화된 key는 고객 차단, 차단 해제 및 notes 관리를 수행할 수 있습니다. 대시보드에서도 team roles에 동일한 권한 구분이 적용됩니다. Viewer role은 목록을 읽고, Editor role은 변경을 수행합니다. Blocklist API에는 6개의 endpoints가 있습니다: 목록에는 활성 차단만 반환됩니다. 필터링하려면 identifier(이메일 또는 customer ID에 대한 대소문자를 구분하지 않는 부분 일치), blocked_by_email, created_at_gte 또는 created_at_lte를 전달하세요. 기본적으로 페이지당 10개의 entries가 반환됩니다. 최대 100개를 반환하려면 page_size를 설정하고, 페이지를 탐색하려면 page_number를 설정하세요.

고객 차단하기

body의 최상위 수준에 customer_id 또는 email 중 하나를 전송합니다. 둘 다 전송하면 차단에는 customer_id가 사용됩니다. reason는 선택 사항이며 entry 페이지에 표시됩니다. 새 차단이 생성되면 HTTP 201가 반환됩니다.
response에는 entry와 call로 취소된 subscriptions가 설명됩니다:
Response
다음 fields를 특히 주의하세요:
이미 차단된 고객을 다시 차단하면 HTTP 409 및 CUSTOMER_ALREADY_BLOCKED가 반환됩니다. 단, subscriptions가 아직 취소 대기 중인 경우에는 예외입니다. 이 경우 call이 취소 작업을 계속 진행하고 HTTP 200를 반환합니다.

고객이 차단되었는지 확인

Get Customer Detail은 두 개의 추가 fields를 반환합니다. blocked_at는 활성 차단이 추가된 시간이며, 고객이 차단되지 않은 경우 null입니다. blocklist_entry_id는 해당 차단의 entry입니다. List Customers endpoint에서는 두 fields가 모두 비어 있습니다.

고객 차단 해제하기

endpoint는 성공 시 HTTP 204를 반환하며, ID가 활성 차단과 일치하지 않으면 HTTP 404를 반환합니다. 차단을 해제하면 checkout 및 portal writes가 복원되지만 subscription은 다시 활성화되지 않습니다.

모범 사례

  • 사유를 기록하세요. 차단에 짧은 사유를 남기고 이후 발생하는 일은 notes로 기록하면 대시보드를 벗어나지 않고도 support team이 전체 상황을 파악할 수 있습니다.
  • chargeback 후 차단하세요. dispute 또는 payment에서 고객 페이지를 열어 차단하거나, dispute.opened webhook의 POST /blocklist/customers를 사용하여 자동화하세요. Disputes를 참고하세요.
  • subscriptions_swept를 확인하세요. API를 통해 차단할 때 response에 true가 표시될 때까지 call을 반복하여 live subscription이 남지 않도록 하세요.
  • 환불은 별도로 처리하세요. 차단은 향후 구매만 중지합니다. 고객에게 지급해야 할 금액이 있다면 평소와 같이 payment를 환불하세요.
  • 목록을 검토하세요. 문제가 해결된 고객은 차단을 해제하세요. 차단 해제는 즉시 적용되며 기록은 유지됩니다.

관련 문서

Customer Management

고객을 찾고 세부 정보 페이지를 열어 subscriptions를 관리합니다.

Customer Portal

차단된 고객이 portal에서 할 수 있는 작업과 할 수 없는 작업입니다.

Disputes

chargeback에 대응하고 차단이 필요한 시점을 결정합니다.

Error Codes

PAYMENT_NOT_PERMITTED 및 PORTAL_ACTION_NOT_PERMITTED의 의미입니다.
마지막 수정일 2026년 9월 26일