Skip to main content

소개

Resend 통합은 Dodo Payments 이벤트가 발생할 때 Resend를 통해 트랜잭션 이메일을 전송합니다. 이를 사용하면 자체 발신 도메인에서 결제를 확인하고, 새로운 구독자를 환영하며, 결제가 실패했음을 고객에게 알릴 수 있습니다.
이 통합을 사용하려면 Sending access 권한이 있는 Resend API key와 Resend에서 인증된 발신 도메인이 필요합니다. 또한 Dodo Payments 대시보드의 Developer → Webhooks에 액세스할 수 있어야 합니다.

시작하기

1

Open the Webhook Section

Dodo Payments 대시보드에서 Developer → Webhooks로 이동한 다음 Add endpoint를 클릭합니다.
Add endpoint dialog with Resend selected in the Integration dropdown and the How to connect Resend steps
2

Select Resend

Integration에서 Resend를 선택합니다. 대시보드에 Endpoint URL과 Resend용 transformation code가 입력되고, How to connect Resend 패널에 설정 단계가 표시됩니다.
3

Enter API Key

Resend에서 API Keys를 열고 Create API Key를 클릭한 다음 키에 Sending access 권한을 부여합니다. Resend는 re_로 시작하는 키를 한 번만 표시합니다. 이 키를 API key에 붙여넣습니다. Dodo Payments는 Resend에 보내는 모든 요청의 Authorization 헤더에 이 키를 bearer token으로 전송합니다.
4

Select Events

Subscribed events에서 transformation이 처리하는 이벤트만 선택합니다. transformation이 변경하지 않은 이벤트는 Dodo Payments 형식으로 Resend에 전달되며, Resend는 이를 거부합니다.
5

Configure Transformation

Transformation code에서 handler를 편집하여 각 구독 이벤트가 Resend 이메일이 되도록 합니다. 예시에서 시작할 수 있습니다.
6

Test & Create

Test this code에서 이벤트 유형을 선택하고 Simulate를 클릭하여 Resend로 전송될 요청을 미리 봅니다. 그런 다음 Create endpoint를 클릭합니다.
7

Done

이제 Dodo Payments는 구독한 각 이벤트에 대해 Resend를 통해 이메일을 전송합니다. 각 전송 및 Resend의 응답을 확인하려면 Developer → Webhooks에서 Logs 탭을 엽니다.

Transformation Code 예시

각 handler는 webhook.url를 Resend의 send-email 엔드포인트로 설정하고 webhook.payload를 이메일로 바꿉니다. Dodo Payments의 금액은 통화의 최소 단위로 표시되므로, 예시에서는 100으로 나누고 통화 코드를 표시합니다. JPY 및 KRW와 같은 소수점 이하 자릿수가 0인 통화는 금액을 그대로 사용합니다.

결제 확인 이메일

결제가 성공하면 영수증을 전송합니다 (payment.succeeded):
payment_confirmation.js

구독 환영 이메일

구독이 활성화되면 고객을 환영합니다 (subscription.active):
subscription_welcome.js

결제 실패 알림

결제가 실패하면 고객에게 결제 수단을 업데이트하도록 요청합니다 (payment.failed):
payment_failure.js

팁

  • Resend에서 인증한 도메인에서 이메일을 발송하면 이메일 도달률이 향상됩니다.
  • 각 이메일에 html 버전과 text 버전을 모두 포함합니다.
  • customer.name와 같은 payload의 고객 데이터로 콘텐츠를 개인화합니다.
  • 결과 또는 필요한 작업을 명시하는 제목을 작성합니다.
  • 마케팅 콘텐츠가 포함된 모든 이메일에 수신 거부 링크를 포함합니다.
  • 엔드포인트를 생성하기 전에 Simulate를 사용하여 각 템플릿을 미리 봅니다.
  • 코드에서 이벤트를 건너뛰려면 webhook을 반환하기 전에 webhook.cancel = true를 설정합니다. 로그에는 건너뛴 전송이 성공으로 기록됩니다.

문제 해결

  • API key가 정확하고 활성 상태이며 Sending access 권한이 있는지 확인합니다. API key를 교체하려면 엔드포인트를 편집하고 API key에 새 키를 붙여넣습니다.
  • 발신자 도메인이 Resend에서 인증되었는지 확인합니다.
  • 수신자 이메일 주소가 유효한지 확인합니다.
  • 요금제의 Resend 전송 한도와 할당량을 확인합니다.
  • Developer → Webhooks에서 Logs 탭을 열고 실패한 전송에 대한 Resend의 응답을 확인합니다.
  • payload가 Resend의 send-email 형식과 일치하는지 확인합니다. Resend에는 from, to, subject가 필요합니다.
  • 코드가 처리하는 모든 이벤트에서 필요한 필드를 모두 설정하는지 확인합니다.
  • html 값이 올바른 형식의 HTML인지 확인합니다.
  • from 주소가 Resend에서 인증한 도메인을 사용하는지 확인합니다.
마지막 수정일 2026년 9월 26일