Chuyển đến nội dung chính

Giới thiệu

Kết nối Dodo Payments với hàng ngàn ứng dụng và dịch vụ thông qua N8N. Tự động hóa quy trình làm việc bằng cách kích hoạt các quy trình N8N khi xảy ra sự kiện thanh toán, từ việc gửi email đến cập nhật bảng tính, tạo nhiệm vụ, thực hiện các thao tác cơ sở dữ liệu và nhiều hơn nữa.
Tích hợp này yêu cầu một URL webhook N8N từ cấu hình quy trình làm việc của bạn.

Bắt đầu

1

Open the Webhook Section

Trong bảng điều khiển Dodo Payments của bạn, điều hướng đến Webhooks → + Add Endpoint và mở rộng menu tích hợp.
Add Endpoint and integrations dropdown
2

Select N8N

Chọn thẻ tích hợp N8N.
3

Create Webhook in N8N

Trong N8N, tạo một quy trình làm việc mới và thêm nút Webhook làm trigger. Cấu hình nó là webhook POST và sao chép URL webhook.
4

Paste Webhook URL

Dán URL webhook N8N vào cấu hình endpoint.
5

Configure Transformation

Chỉnh sửa mã chuyển đổi để định dạng dữ liệu cho quy trình N8N của bạn.
6

Test & Create

Kiểm tra với payload mẫu và nhấp Create để kích hoạt tích hợp.
7

Activate Workflow

Trong N8N, kích hoạt quy trình của bạn để bắt đầu nhận sự kiện webhook.
8

Done!

🎉 Sự kiện thanh toán giờ sẽ tự động kích hoạt quy trình N8N của bạn.

Ví Dụ Mã Biến Đổi

Payload Webhook Cơ Bản

basic_webhook.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.payload = {
      event_type: webhook.eventType,
      payment_id: p.payment_id,
      amount: (p.total_amount / 100).toFixed(2),
      currency: p.currency || "USD",
      customer_email: p.customer.email,
      customer_name: p.customer.name,
      payment_method: p.payment_method || "unknown",
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}

Bộ Xử Lý Sự Kiện Đăng Ký

subscription_webhook.js
function handler(webhook) {
  const s = webhook.payload.data;
  switch (webhook.eventType) {
    case "subscription.active":
      webhook.payload = {
        event_type: "subscription_started",
        subscription_id: s.subscription_id,
        customer_email: s.customer.email,
        customer_name: s.customer.name,
        product_id: s.product_id,
        amount: (s.recurring_pre_tax_amount / 100).toFixed(2),
        frequency: s.payment_frequency_interval,
        next_billing: s.next_billing_date,
        timestamp: webhook.payload.timestamp
      };
      break;
    case "subscription.cancelled":
      webhook.payload = {
        event_type: "subscription_cancelled",
        subscription_id: s.subscription_id,
        customer_email: s.customer.email,
        cancelled_at: s.cancelled_at,
        cancel_at_next_billing: s.cancel_at_next_billing_date,
        timestamp: webhook.payload.timestamp
      };
      break;
  }
  return webhook;
}

Bộ Xử Lý Cảnh Báo Tranh Chấp

dispute_webhook.js
function handler(webhook) {
  if (webhook.eventType.startsWith("dispute.")) {
    const d = webhook.payload.data;
    webhook.payload = {
      event_type: webhook.eventType,
      dispute_id: d.dispute_id,
      payment_id: d.payment_id,
      amount: (d.amount / 100).toFixed(2),
      status: d.dispute_status,
      stage: d.dispute_stage,
      remarks: d.remarks || "",
      urgent: webhook.eventType === "dispute.opened",
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}

Các Trường Hợp Sử Dụng N8N Phổ Biến

  • Gửi email Gmail/Outlook để xác nhận thanh toán
  • Tạo chuỗi email trong Mailchimp/ConvertKit
  • Gửi thông báo Slack/Discord qua webhook
  • Tạo bản ghi Google Sheets tự động
  • Gửi tin nhắn Telegram/WhatsApp
  • Thêm liên hệ vào HubSpot/Salesforce
  • Tạo giao dịch trong Pipedrive/Close
  • Cập nhật hồ sơ khách hàng trong Airtable
  • Ghi lại hoạt động trong Monday.com
  • Đồng bộ dữ liệu đến cơ sở dữ liệu PostgreSQL/MySQL
  • Tạo nhiệm vụ trong Asana/Trello
  • Thêm mục cần làm trong Notion
  • Tạo sự kiện lịch trong Google Calendar
  • Gửi thông báo SMS qua Twilio
  • Tạo issue GitHub cho tranh chấp
  • Chuyển đổi và làm phong phú dữ liệu thanh toán
  • Lưu sự kiện vào cơ sở dữ liệu (PostgreSQL, MongoDB)
  • Tổng hợp chỉ số và phân tích
  • Tạo báo cáo và xuất dữ liệu
  • Kích hoạt quy trình nhiều bước phức tạp

Mẹo

  • Giữ cấu trúc payload đơn giản để dễ dàng phân tích nút N8N
  • Sử dụng tên trường nhất quán trên tất cả các sự kiện
  • Bao gồm dấu thời gian cho thời gian và lập lịch quy trình làm việc
  • Kiểm tra quy trình làm việc của bạn với dữ liệu mẫu trước khi kích hoạt
  • Sử dụng nút IF của N8N cho logic điều kiện và định tuyến
  • Tận dụng nút Code của N8N cho các biến đổi dữ liệu tùy chỉnh
  • Sử dụng nút Switch để định tuyến các loại sự kiện khác nhau đến các đường dẫn khác nhau
  • Thiết lập quy trình làm việc lỗi để xử lý các lần giao hàng webhook không thành công

Khắc Phục Sự Cố

  • Xác nhận URL webhook đúng và có thể truy cập
  • Kiểm tra quy trình đã được kích hoạt trong N8N
  • Đảm bảo nút webhook được cấu hình theo phương thức POST
  • Kiểm tra việc gửi webhook trong lịch sử thực thi của N8N
  • Xác minh cấu hình tường lửa/mạng cho phép webhook đến
  • Kiểm tra cài đặt xác thực webhook N8N nếu có cấu hình
  • Kiểm tra tên trường trong cấu hình nút N8N
  • Xác minh loại dữ liệu khớp định dạng mong đợi trong các nút
  • Sử dụng chức năng kiểm tra của N8N để kiểm tra dữ liệu đến
  • Đảm bảo mã chuyển đổi trả về JSON hợp lệ
  • Kiểm tra cài đặt định dạng phản hồi của nút webhook
  • Sử dụng nút Set để đổi tên hoặc cấu trúc lại các trường
  • Xem lại nhật ký thực thi trong N8N để biết thông báo lỗi chi tiết
  • Kiểm tra cài đặt kết nối nút và thông tin xác thực
  • Xác minh tất cả trường bắt buộc có trong payload
  • Kiểm tra từng nút riêng lẻ với dữ liệu mẫu
  • Bật quy trình lỗi để bắt và xử lý thất bại
  • Kiểm tra giới hạn tốc độ và hạn mức API cho các dịch vụ kết nối