Skip to main content

Giới thiệu

Tích hợp Discord đăng các sự kiện thanh toán, gói đăng ký, tranh chấp và các sự kiện Dodo Payments khác lên kênh Discord bạn chọn. Nhóm của bạn xem từng sự kiện ngay tại nơi họ cộng tác, mà không cần polling API hoặc kiểm tra dashboard.
Bạn cần có quyền truy cập Developer → Webhooks trong dashboard Dodo Payments và quyền Manage Webhooks trên máy chủ Discord.

Bắt đầu

1

Create a Discord Webhook

Trong Discord, mở kênh sẽ nhận thông báo và nhấp vào Edit Channel. Đi đến Integrations → Webhooks → New Webhook, đặt tên cho webhook, xác nhận kênh và nhấp vào Copy Webhook URL.
2

Open the Webhook Section

Trong dashboard Dodo Payments, đi đến Developer → Webhooks và nhấp vào Add endpoint.
Hộp thoại Add endpoint với Discord được chọn trong danh sách Integration
3

Select Discord

Trong Integration, chọn Discord. Bảng How to connect Discord lặp lại các bước tạo Discord webhook.
4

Paste the Webhook URL

Dán URL Discord webhook, bắt đầu bằng https://discord.com/api/webhooks/, vào Endpoint URL. Discord không cần API key.
5

Select Events

Trong Subscribed events, chọn các sự kiện mà transformation của bạn xử lý. Discord từ chối một message không có content hoặc embeds, vì vậy một sự kiện mà transformation không chuyển đổi sẽ không gửi được.
6

Edit Transformation Code

Trong Transformation code, tùy chỉnh cách mỗi sự kiện ánh xạ vào Discord embed hoặc bắt đầu từ các ví dụ.
7

Test & Create

Trong Test this code, nhấp vào Simulate để xem trước embed cho một payload mẫu. Sau đó nhấp vào Create endpoint.
8

Done

Kênh Discord của bạn giờ đây sẽ nhận một message cho mỗi sự kiện đã đăng ký.

Ví dụ về Transformation Code

Mỗi handler thay thế webhook.payload bằng một message Discord chứa một embed. Số tiền Dodo Payments được biểu thị theo đơn vị tiền tệ nhỏ nhất, vì vậy các ví dụ chia cho 100 và hiển thị mã tiền tệ.

Payment Embed Tối giản

Đăng một embed khi thanh toán thành công (payment.succeeded):
payment_embed.js

Sự kiện gói đăng ký

Đăng một embed khi gói đăng ký trở nên hoạt động (subscription.active) hoặc bị hủy (subscription.cancelled):
subscription_embed.js

Cảnh báo tranh chấp

Đăng một embed cho mọi sự kiện tranh chấp, chẳng hạn như dispute.opened, dispute.won và dispute.lost. Tiêu đề và màu sắc tuân theo dispute_status của tranh chấp:
dispute_embed.js

Mẹo

  • Sử dụng embeds để định dạng phong phú và thêm màu sắc.
  • Giữ tiêu đề ngắn gọn và đặt thông tin chi tiết trong các field.
  • Sử dụng màu sắc thể hiện kết quả: xanh lá cho thành công, đỏ cho thất bại và cam cho cảnh báo.

Khắc phục sự cố

  • Xác nhận webhook vẫn tồn tại trong Integrations → Webhooks của channel và Endpoint URL khớp với URL của webhook.
  • Kiểm tra để đảm bảo transformation trả về một JSON object có embeds.
  • Kiểm tra để đảm bảo Subscribed events bao gồm các event bạn mong muốn.
  • Mở các lần thử delivery của endpoint trong tab Logs của Developer → Webhooks để xem response code của Discord.
  • Validate code của bạn trong editor. Lỗi cú pháp sẽ chặn delivery.
  • Kiểm tra để đảm bảo tên field khớp với cấu trúc webhook payload.
Lần sửa đổi cuối 28 tháng 9, 2026