Skip to main content

Giới thiệu

Tích hợp Resend gửi email giao dịch qua Resend khi một sự kiện Dodo Payments xảy ra. Sử dụng tích hợp này để xác nhận thanh toán, chào mừng người đăng ký mới và thông báo cho khách hàng khi thanh toán thất bại, từ tên miền gửi email của riêng bạn.
Tích hợp này yêu cầu API key Resend có Sending access và một tên miền gửi email đã được xác minh trong Resend. Bạn cũng cần quyền truy cập vào Developer → Webhooks trong dashboard Dodo Payments.

Bắt đầu

1

Open the Webhook Section

Trong bảng điều khiển Dodo Payments, hãy đi tới Developer → Webhooks và nhấp vào Add endpoint.
Add endpoint dialog with Resend selected in the Integration dropdown and the How to connect Resend steps
2

Select Resend

Trong Integration, chọn Resend. Dashboard sẽ điền Endpoint URL và mã chuyển đổi cho Resend, đồng thời bảng How to connect Resend sẽ hiển thị các bước thiết lập.
3

Enter API Key

Trong Resend, mở API Keys, nhấp vào Create API Key và cấp cho key quyền Sending access. Resend chỉ hiển thị key bắt đầu bằng re_ một lần. Dán key đó vào API key. Dodo Payments gửi key này dưới dạng bearer token trong header Authorization của mọi request đến Resend.
4

Select Events

Trong Subscribed events, chỉ chọn các sự kiện mà mã chuyển đổi của bạn xử lý. Một sự kiện không được mã chuyển đổi thay đổi sẽ đến Resend theo định dạng Dodo Payments và bị Resend từ chối.
5

Configure Transformation

Trong Transformation code, chỉnh sửa handler để mỗi sự kiện đã đăng ký trở thành một email Resend. Bắt đầu với các ví dụ.
6

Test & Create

Trong Test this code, chọn một loại sự kiện và nhấp vào Simulate để xem trước request gửi đến Resend. Sau đó nhấp vào Create endpoint.
7

Done

Dodo Payments giờ đây sẽ gửi email qua Resend cho mỗi sự kiện đã đăng ký. Để xem từng lần gửi và phản hồi của Resend, mở tab Logs trong Developer → Webhooks.

Ví dụ về mã chuyển đổi

Mỗi handler đặt webhook.url thành endpoint gửi email của Resend và thay webhook.payload bằng email. Số tiền của Dodo Payments được tính 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ệ. Đối với các loại tiền tệ không có chữ số thập phân như JPY và KRW, hãy sử dụng nguyên giá trị số tiền.

Email xác nhận thanh toán

Gửi biên lai khi thanh toán thành công (payment.succeeded):
payment_confirmation.js

Email chào mừng người đăng ký

Chào mừng khách hàng khi gói đăng ký chuyển sang trạng thái hoạt động (subscription.active):
subscription_welcome.js

Thông báo thanh toán thất bại

Yêu cầu khách hàng cập nhật phương thức thanh toán khi thanh toán thất bại (payment.failed):
payment_failure.js

Mẹo

  • Gửi email từ tên miền bạn đã xác minh trong Resend để cải thiện khả năng gửi email thành công.
  • Bao gồm cả phiên bản html và text của mỗi email.
  • Cá nhân hóa nội dung bằng dữ liệu khách hàng từ payload, chẳng hạn như customer.name.
  • Viết tiêu đề email nêu rõ kết quả hoặc hành động cần thực hiện.
  • Bao gồm liên kết hủy đăng ký trong mọi email có nội dung tiếp thị.
  • Xem trước từng template bằng Simulate trước khi tạo endpoint.
  • Để bỏ qua một sự kiện trong code, đặt webhook.cancel = true trước khi trả về webhook. Logs ghi nhận lần gửi bị bỏ qua là thành công.

Khắc phục sự cố

  • Kiểm tra API key có chính xác, đang hoạt động và có quyền Sending access hay không. Để thay thế key, chỉnh sửa endpoint và dán key mới vào API key.
  • Kiểm tra tên miền người gửi đã được xác minh trong Resend.
  • Kiểm tra địa chỉ email người nhận có hợp lệ hay không.
  • Kiểm tra giới hạn và hạn ngạch gửi email của Resend đối với gói của bạn.
  • Mở tab Logs trong Developer → Webhooks và đọc phản hồi của Resend đối với lần gửi thất bại.
  • Kiểm tra payload có khớp với định dạng send-email của Resend hay không. Resend yêu cầu from, to và subject.
  • Kiểm tra mọi sự kiện mà code của bạn xử lý đều đặt tất cả các trường bắt buộc.
  • Kiểm tra giá trị html có phải là HTML đúng định dạng hay không.
  • Kiểm tra địa chỉ from sử dụng tên miền đã được xác minh trong Resend.
Lần sửa đổi cuối 26 tháng 9, 2026