介绍
Resend 集成会在 Dodo Payments 事件发生时通过 Resend 发送事务性邮件。您可以使用它确认付款、欢迎新订阅者,并从您自己的发件域名通知客户付款失败。此集成需要一个具有 发送权限 的 Resend API key,以及一个已在 Resend 中验证的发件域名。您还需要拥有 Dodo Payments 控制面板中 Developer → Webhooks 的访问权限。
开始使用
1
Open the Webhook Section
在 Dodo Payments 仪表板中,前往 Developer → Webhooks,然后点击 Add endpoint。

2
Select Resend
在 Integration 中选择 Resend。控制面板会填充用于 Resend 的 Endpoint URL 和转换代码,How to connect Resend 面板则会显示设置步骤。
3
Enter API Key
在 Resend 中打开 API Keys,点击 Create API Key,并为密钥授予 发送权限。Resend 只会显示一次以
re_ 开头的密钥。将其粘贴到 API key 中。Dodo Payments 会在每个发送到 Resend 的请求的 Authorization header 中将其作为 bearer token 发送。4
Select Events
在 Subscribed events 中,仅选择您的转换代码会处理的事件。转换代码保持不变的事件会以 Dodo Payments 格式到达 Resend,而 Resend 会拒绝此类事件。
5
Configure Transformation
在 Transformation code 下编辑处理程序,使每个订阅事件都变成一封 Resend 电子邮件。请从示例开始。
6
Test & Create
在 Test this code 下选择事件类型,然后点击 Simulate 预览发送到 Resend 的请求。接着点击 Create endpoint。
7
Done
Dodo Payments 现在会为每个订阅事件通过 Resend 发送一封电子邮件。要查看每次发送及 Resend 的响应,请打开 Developer → Webhooks 中的 Logs 选项卡。
转换代码示例
每个处理程序都会将webhook.url 设置为 Resend 的 send-email endpoint,并将 webhook.payload 替换为电子邮件内容。Dodo Payments 的金额以货币的最小单位表示,因此示例会将金额除以 100,并显示货币代码。对于 JPY 和 KRW 等零小数位货币,请直接使用原始金额。
付款确认邮件
付款成功后发送收据(payment.succeeded):
payment_confirmation.js
订阅欢迎邮件
订阅激活后欢迎客户(subscription.active):
subscription_welcome.js
付款失败通知
付款失败时要求客户更新其付款方式(payment.failed):
payment_failure.js
提示
- 使用您在 Resend 中验证过的域名作为发件域名,这有助于提高送达率。
- 为每封邮件同时包含
html和text版本。 - 使用 payload 中的客户数据(例如
customer.name)个性化内容。 - 编写能够说明结果或所需操作的主题行。
- 在任何包含营销内容的邮件中加入退订链接。
- 创建 endpoint 前,使用 Simulate 预览每个模板。
- 如需在代码中跳过某个事件,请在返回 webhook 前设置
webhook.cancel = true。日志会将跳过的发送记录为成功。
故障排查
Emails Not Being Sent
Emails Not Being Sent
- 检查 API key 是否正确、处于启用状态,并具有 发送权限。如需替换 API key,请编辑 endpoint,然后在 API key 中粘贴新的密钥。
- 检查发件域名是否已在 Resend 中验证。
- 检查收件人的电子邮件地址是否有效。
- 检查 Resend 针对您的套餐设置的发送限制和配额。
- 打开 Developer → Webhooks 中的 Logs 选项卡,查看 Resend 对发送失败的响应。
Transformation Errors
Transformation Errors
- 检查 payload 是否符合 Resend 的 send-email 格式。Resend 要求提供
from、to和subject。 - 检查您的代码处理的每个事件是否设置了所有必需字段。
- 检查
html的值是否为格式正确的 HTML。 - 检查
from地址使用的域名是否已在 Resend 中验证。