Skip to main content

소개

Slack integration은 성공한 결제, 구독 변경, 분쟁과 같은 Dodo Payments 이벤트를 사용자가 선택한 Slack 채널에 게시합니다. 팀은 대시보드를 확인하지 않고도 Slack에서 결제를 추적하고 분쟁에 대응할 수 있습니다.
Slack connector는 각 Dodo Payments 이벤트를 변환을 거쳐 Slack 메시지로 전환합니다. 변환은 전송 전에 이벤트에서 실행되는 JavaScript 코드입니다. connector에는 변환 코드가 포함되어 있으므로 시작할 때 코딩이 필요하지 않습니다. Dodo Payments 대시보드의 Developer → Webhooks에 액세스할 수 있어야 하며, Slack workspace에 앱을 추가할 권한도 필요합니다.

시작하기

1

Open the Webhook Section

Dodo Payments 대시보드에서 Developer → Webhooks로 이동한 다음 Add endpoint를 클릭합니다.
Add endpoint dialog with the Integration dropdown set to Custom webhook
2

Select Slack Integration

Integration에서 Slack을 선택합니다. 대시보드가 Slack 변환 코드를 불러오고 How to connect Slack 패널에 설정 단계를 표시합니다.
Add endpoint dialog with Slack selected and the How to connect Slack steps
3

Create a Slack Webhook URL

알림을 받을 채널에 incoming webhook이 포함된 앱을 Slack에서 생성합니다:
  1. api.slack.com/apps를 열고 Create New App을 클릭한 다음 From scratch를 선택합니다.
  2. 앱 이름을 지정합니다. 예를 들어 Dodo Payments Notifications를 입력하고 workspace를 선택한 다음 Create App을 클릭합니다.
  3. 사이드바에서 Incoming Webhooks를 열고 Activate Incoming Webhooks를 켭니다.
  4. Add New Webhook to Workspace를 클릭하고 채널을 선택한 다음 Allow를 클릭합니다.
  5. https://hooks.slack.com/services/로 시작하는 Webhook URL을 복사합니다.
Slack permission screen with a channel picker and an Allow button
4

Paste the Webhook URL

Slack webhook URL을 Endpoint URL에 붙여 넣습니다. Slack에는 API key가 필요하지 않습니다.
5

Select Events

Subscribed events에는 Slack connector가 지원하는 이벤트가 나열됩니다. 변환을 변경하는 경우 변환이 처리하는 이벤트만 유지합니다. Slack은 Slack 메시지가 아닌 요청을 거부하므로 변환이 변경하지 않은 이벤트는 전송에 실패합니다.
6

Customize Transformation Code

Transformation code에서 handler를 편집하여 메시지를 게시할 이벤트와 각 메시지의 형식을 선택합니다. connector의 코드를 유지하거나 예시에서 시작할 수 있습니다.
Transformation code editor with the Slack handler for payment events
7

Test and Create

Test this code에서 이벤트 유형을 선택하고 Simulate를 클릭합니다. Result에는 Slack이 수신하게 될 메시지가 표시됩니다. 그런 다음 Create endpoint를 클릭합니다.
Test this code panel with payment.succeeded selected, a Simulate button, and the Create endpoint button
8

Integration Complete!

이제 Dodo Payments가 구독한 각 이벤트를 Slack 채널에 게시합니다. 테스트 메시지를 게시하려면 endpoint의 Testing 탭을 열고 이벤트 유형을 선택한 다음 Send example를 클릭합니다.

변환 코드 예시

각 핸들러는 webhook.payload를 Slack 메시지로 대체하고, 수신 웹훅 URL인 webhook.url은 유지합니다. Dodo Payments 금액은 통화의 최소 단위로 표시되므로, 예시에서는 100으로 나누고 통화 코드를 표시합니다. JPY 및 KRW와 같은 소수점이 없는 통화는 금액을 그대로 사용합니다.

기본 결제 알림

결제가 성공하거나 실패하거나 처리 중일 때 일반 텍스트 메시지를 게시합니다:
payment_notifs.js

서식이 있는 구독 알림

구독이 활성화되거나 취소되거나 갱신될 때 첨부 필드가 포함된 색상 코드 메시지를 게시합니다:
subscription_notifs.js

분쟁 관리 알림

분쟁이 시작되거나 패소했을 때는 빨간색 메시지를 게시하고, 승소했을 때는 녹색 메시지를 게시합니다:
dispute_notifs.js

모든 이벤트를 처리하는 종합 핸들러

모든 이벤트 유형에 동일한 형식으로 메시지를 게시합니다. 자체 case가 없는 이벤트에는 이벤트 유형과 시간이 포함된 일반 메시지를 사용합니다:
all_events_notifs.js

권장 사례

Slack 알림을 유용하게 유지하려면 다음 사례를 따르세요:
  • 색상과 필드가 포함된 메시지 첨부를 사용하여 각 이벤트를 명확하고 쉽게 조치할 수 있도록 하세요.
  • 금액, 고객 이메일, ID 등 핵심 데이터를 포함하여 팀에서 레코드를 빠르게 찾을 수 있도록 하세요.
  • 이벤트 유형에 맞는 색상을 사용하세요. 성공에는 녹색(good), 분쟁 또는 실패에는 빨간색(danger), 취소에는 노란색(warning), 정보성 이벤트에는 파란색(#3aa3e3)을 사용합니다.
  • 타임스탬프(ts)를 추가하여 각 메시지에 이벤트가 발생한 시간을 표시하세요.
민감한 데이터 처리: 전체 라이선스 키나 개인정보와 같은 민감한 값을 Slack에 게시하지 마세요. 모든 이벤트 예시의 라이선스 키 필드처럼 값을 잘라내거나 마스킹하세요.

문제 해결

  • Slack 웹훅 URL이 올바르고 해당 Slack 앱이 아직 설치되어 있는지 확인합니다.
  • 변환 코드가 유효한 JavaScript인지 확인합니다.
  • 구독한 이벤트가 발생하고 있는지 확인합니다. 이벤트를 보내려면 엔드포인트의 Testing 탭에서 Send example을 사용합니다.
  • Slack 앱에서 Incoming Webhooks가 활성화되어 있고 채널에 게시할 수 있는지 확인합니다.
  • Developer → Webhooks의 Logs 탭을 열고 실패한 전송의 응답을 확인합니다.
  • 코드에서 읽는 페이로드 필드가 해당 이벤트 유형의 event payload와 일치하는지 확인합니다.
  • Simulate와 샘플 페이로드를 사용하여 코드를 테스트합니다.
  • 코드에서 읽는 각 필드가 존재하는지 확인합니다. error_message와 같은 선택적 필드는 null일 수 있습니다.
  • Subscribed events에서 해당 이벤트가 선택되어 있는지 확인합니다. 선택을 변경하려면 엔드포인트를 열고 Edit를 클릭합니다.
  • Slack 커넥터가 해당 이벤트를 지원하는지 확인합니다. Subscribed events에는 커넥터가 지원하는 이벤트만 표시됩니다.
  • 변환에 해당 이벤트에 대한 case가 있는지 확인합니다. 예시에서는 다른 이벤트를 변경하지 않고 그대로 두지만, Slack은 이러한 이벤트를 거부합니다.
마지막 수정일 2026년 9월 26일