소개
Discord 통합은 결제, 구독, 분쟁 및 기타 Dodo Payments 이벤트를 선택한 Discord 채널에 게시합니다. 팀은 API를 폴링하거나 대시보드를 확인하지 않고도 이미 협업하고 있는 곳에서 각 이벤트를 확인할 수 있습니다.Dodo Payments 대시보드의 Developer → Webhooks에 액세스할 수 있어야 하며, Discord 서버에서 Manage Webhooks 권한이 있어야 합니다.
시작하기
1
Create a Discord Webhook
Discord에서 알림을 받을 채널을 열고 Edit Channel을 클릭합니다. Integrations → Webhooks → New Webhook으로 이동하여 webhook의 이름을 지정하고 채널을 확인한 다음 Copy Webhook URL을 클릭합니다.
2
Open the Webhook Section
Dodo Payments 대시보드에서 Developer → Webhooks로 이동한 다음 Add endpoint를 클릭합니다.

3
Select Discord
Integration에서 Discord를 선택합니다. How to connect Discord 패널에는 Discord webhook을 만드는 단계가 다시 표시됩니다.
4
Paste the Webhook URL
https://discord.com/api/webhooks/로 시작하는 Discord webhook URL을 Endpoint URL에 붙여넣습니다. Discord에는 API key가 필요하지 않습니다.5
Select Events
Subscribed events에서 transformation이 처리할 이벤트를 선택합니다. Discord는
content 또는 embeds가 없는 메시지를 거부하므로, transformation이 변환하지 않는 이벤트는 전송에 실패합니다.6
Edit Transformation Code
Transformation code에서 각 이벤트가 Discord embed에 매핑되는 방식을 조정하거나 examples에서 시작합니다.
7
Test & Create
Test this code에서 Simulate를 클릭하여 샘플 payload의 embed를 미리 봅니다. 그런 다음 Create endpoint를 클릭합니다.
8
Done
이제 Discord 채널은 구독한 각 이벤트에 대한 메시지를 받습니다.
Transformation Code 예시
각 handler는webhook.payload를 하나의 embed가 포함된 Discord 메시지로 대체합니다. Dodo Payments 금액은 통화의 최소 단위로 표시되므로, 예시에서는 100으로 나누고 통화 코드를 표시합니다.
최소 Payment Embed
결제가 성공하면 embed를 게시합니다(payment.succeeded):
payment_embed.js
Subscription 이벤트
구독이 활성화되거나(subscription.active) 취소되면( subscription.cancelled) embed를 게시합니다:
subscription_embed.js
Dispute 알림
dispute.opened, dispute.won, dispute.lost와 같은 모든 dispute 이벤트에 대해 embed를 게시합니다. 제목과 색상은 dispute의 dispute_status를 따릅니다:
dispute_embed.js
팁
- 서식과 색상을 풍부하게 표현하려면 embeds를 사용합니다.
- 제목은 짧게 유지하고, 세부 정보는 fields에 입력합니다.
- 결과를 나타내는 색상을 사용합니다. 성공에는 녹색, 실패에는 빨간색, 경고에는 주황색을 사용합니다.
문제 해결
No Messages in Discord
No Messages in Discord
- 채널의 Integrations → Webhooks에 webhook이 아직 존재하는지, 그리고 Endpoint URL이 해당 URL과 일치하는지 확인합니다.
- transformation이
embeds를 포함하는 JSON object를 반환하는지 확인합니다. - Subscribed events에 예상한 events가 포함되어 있는지 확인합니다.
- Developer → Webhooks의 Logs 탭에서 endpoint의 delivery attempts를 열어 Discord의 response code를 확인합니다.
Transformation Errors
Transformation Errors
- 에디터에서 코드를 검증합니다. Syntax errors가 발생하면 delivery가 차단됩니다.
- field names가 webhook payload structure와 일치하는지 확인합니다.