Giới thiệu
Gửi email giao dịch và tự động quản lý giao tiếp với khách hàng khi các sự kiện thanh toán xảy ra. Gửi xác nhận thanh toán, cập nhật đăng ký và thông báo quan trọng với hạ tầng email của Vòng lặp.
Tích hợp này yêu cầu Khóa API Loops của bạn để xác thực.
Bắt đầu
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 thả xuống tích hợp.
Select Loops
Chọn thẻ tích hợp Loops .
Enter API Key
Cung cấp Khóa API Loops của bạn trong phần cấu hình.
Configure Transformation
Chỉnh sửa mã chuyển đổi để định dạng email cho API của Loops.
Test & Create
Kiểm tra bằng các payload mẫu và bấm Create để kích hoạt việc gửi email.
Done!
🎉 Các sự kiện thanh toán giờ sẽ tự động kích hoạt email giao dịch thông qua Loops.
Ví dụ Mã Biến đổi
Email Xác nhận Thanh toán
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "payment_confirmation" ,
email: p . customer . email ,
properties: {
customer_name: p . customer . name ,
payment_id: p . payment_id ,
amount: ( p . total_amount / 100 ). toFixed ( 2 ),
currency: p . currency || "USD" ,
payment_method: p . payment_method || "unknown" ,
payment_date: new Date ( webhook . payload . timestamp ). toLocaleDateString ()
}
};
}
return webhook ;
}
See all 19 lines
Email Chào mừng Đăng ký
function handler ( webhook ) {
if ( webhook . eventType === "subscription.active" ) {
const s = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "subscription_welcome" ,
email: s . customer . email ,
properties: {
customer_name: s . customer . name ,
subscription_id: s . subscription_id ,
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
}
};
}
return webhook ;
}
See all 19 lines
Thông báo Thất bại Thanh toán
function handler ( webhook ) {
if ( webhook . eventType === "payment.failed" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "payment_failed" ,
email: p . customer . email ,
properties: {
customer_name: p . customer . name ,
payment_id: p . payment_id ,
amount: ( p . total_amount / 100 ). toFixed ( 2 ),
error_message: p . error_message || "Payment processing failed" ,
retry_link: `https://yourdomain.com/retry-payment/ ${ p . payment_id } `
}
};
}
return webhook ;
}
See all 18 lines
Mẹo
Sử dụng tên sự kiện mô tả để tổ chức mẫu email tốt hơn
Bao gồm các thuộc tính khách hàng liên quan để cá nhân hóa
Thiết lập các mẫu email trong bảng điều khiển Loops cho mỗi sự kiện
Sử dụng tên thuộc tính nhất quán giữa các sự kiện
Kiểm tra việc gửi email trước khi đưa vào hoạt động
Khắc phục sự cố
Xác minh Khóa API đúng và đang hoạt động
Kiểm tra tên sự kiện khớp với mẫu Loops của bạn
Đảm bảo địa chỉ email người nhận hợp lệ
Xem lại giới hạn và hạn mức gửi của Loops