# Cách tự động hóa email vòng đời từ sự kiện gói đăng ký Stripe

URL chính tắc: https://brew.new/vi/blog/how-to-automate-lifecycle-emails-from-stripe-subscription-events
Tác giả: Philip Sørensen
Ngày đăng: 2026-09-18
Ngày cập nhật: 2026-09-29

Stripe phát sự kiện khi gói đăng ký, hóa đơn và thanh toán thay đổi. Những sự kiện đó có thể khởi động các email hữu ích, nhưng mỗi email vẫn cần một người nhận xác định, một mục đích rõ ràng và một quy tắc để quyết định email có còn đúng lúc hay không.

[Tích hợp Stripe](/vi/browse/integrations/stripe) của Brew lo phần kết nối OAuth và thiết lập webhook. Hướng dẫn này trình bày cách thiết kế chương trình email dựa trên kết nối đó. Với những luồng bắt đầu từ sự kiện sản phẩm thay vì thanh toán, hãy xem bài [tự động hóa email bằng AI](/vi/blog/ai-email-automation).

## Mỗi sự kiện ứng với một email

| Mục tiêu | Sự kiện phù hợp | Cần xem lại trước khi gửi |
| --- | --- | --- |
| Chào mừng người đăng ký | `customer.subscription.created` | Tránh gửi trùng email chào mừng từ checkout |
| Giải thích việc thời gian dùng thử sắp kết thúc | `customer.subscription.trial_will_end` | Hạn chót thực tế và việc có phát sinh khoản thu phí hay không |
| Thông báo thanh toán hóa đơn thất bại | `invoice.payment_failed` | Hóa đơn hiện tại, liên kết thanh toán, các thông báo Stripe đang gửi |
| Giải thích việc thay đổi gói | `customer.subscription.updated` | Những trường nào đã thay đổi và thay đổi đó có đáng báo hay không |
| Xác nhận việc hủy gói | `customer.subscription.deleted` | Khi nào quyền truy cập kết thúc và khách hàng đã yêu cầu gì |
| Giải thích khoản hoàn tiền | `refund.created` | Các trường riêng về hoàn tiền có trong sự kiện |

Hãy dùng [tài liệu tham khảo sự kiện Stripe](https://docs.stripe.com/api/events/types) và lược đồ của trình kích hoạt Brew đã chọn. Một lần cập nhật gói đăng ký có thể ứng với nhiều loại thay đổi; đừng gửi email thay đổi gói cho mọi lần cập nhật mà không kiểm tra dữ liệu của nó.

## Kết nối và xuất bản một cách thận trọng

Cấp quyền kết nối Stripe trên trang Tích hợp của Brew. Brew đăng ký webhook và khởi tạo các trình kích hoạt được hỗ trợ. Không có công tắc bật/tắt cho từng sự kiện. Chỉ những tự động hóa ở trạng thái Đang hoạt động được gắn với sự kiện đó mới chạy.

Dùng “Đồng bộ khách hàng từ Stripe” nếu bạn cần nhập các liên hệ hiện có. Việc nhập một liên hệ thanh toán không đồng nghĩa với việc họ đã đồng ý nhận email tiếp thị. Cài đặt “Đồng bộ họ và tên” của từng sự kiện chỉ kiểm soát việc cập nhật tên, chứ không quyết định email có được gửi hay không.

Hãy dựng tự động hóa đầu tiên ở dạng bản nháp, kiểm tra email được tạo và thử nghiệm với những người nhận do bạn kiểm soát trước khi xuất bản. Làm theo [hướng dẫn thiết lập Stripe](https://docs.brew.new/integrations/import/stripe) để biết chi tiết về kết nối; Brew kết nối tài khoản Stripe thực tế, và sự kiện ở chế độ thử nghiệm không khởi chạy tự động hóa.

## Xử lý thanh toán thất bại mà không gửi email nhắc đã lỗi thời

Thông báo thất bại gửi ngay lập tức có thể bắt đầu từ `invoice.payment_failed`. Hãy giải thích chuyện gì đã xảy ra và dẫn liên kết đến trang thanh toán của riêng bạn. Đừng hứa rằng Brew sẽ thử thu tiền lại; Stripe mới là bên phụ trách các thao tác thanh toán.

Với email nhắc ba ngày sau đó, hãy để ứng dụng của bạn lên lịch kiểm tra trạng thái hóa đơn. Nếu hóa đơn vẫn chưa được thanh toán và khách hàng vẫn đủ điều kiện, hãy kích hoạt một sự kiện nhắc nhở riêng trong Brew. Nếu khoản thanh toán đã được khôi phục, hãy kết thúc mà không kích hoạt sự kiện đó.

Sau một bước Chờ, các trường sự kiện vẫn chứa payload gốc. Điều kiện theo `contact.stripe_subscription_status` đọc giá trị hiện tại của trường liên hệ trong Brew tại thời điểm nút đó chạy. Điều kiện này không truy vấn Stripe và không chứng minh rằng chính hóa đơn này đã được thanh toán. Một sự kiện `invoice.paid` đến sau không tự động hủy lượt chạy trước đó. Việc cập nhật phương thức thanh toán cũng không phải là bằng chứng đã thanh toán.

Hãy thử nghiệm trường hợp thanh toán được khôi phục trước lần kiểm tra để gửi email nhắc, trường hợp hóa đơn vẫn chưa được thanh toán, và một tác vụ được thử lại. Dùng lại cùng một khóa lũy đẳng cho cùng một sự kiện logic trong [khoảng thời gian thử lại được mô tả trong tài liệu](https://docs.brew.new/api-reference/api/idempotency).

## Cá nhân hóa từ các trường đã khai báo

Brew có thể đồng bộ các trường thanh toán vào liên hệ, bao gồm trạng thái gói đăng ký và gói. Payload sự kiện và trường liên hệ là hai nguồn khác nhau. Hãy đọc lược đồ của trình kích hoạt trước khi dùng `amount`, `currency`, `invoiceNumber`, `previousPlan`, `newPlan` hoặc `failureMessage`; không phải sự kiện nào cũng cung cấp đủ từng trường.

ID đối tượng Stripe bị loại khỏi payload của tự động hóa. Đừng tự dựng URL cổng thanh toán của khách hàng từ một ID hóa đơn hay ID gói đăng ký mà bạn phỏng đoán. Hãy dùng trang thanh toán có xác thực của ứng dụng, hoặc một liên kết được chủ ý truyền vào trong sự kiện tùy chỉnh. Làm theo [hướng dẫn về thẻ cá nhân hóa](https://docs.brew.new/create-emails/merge-tags).

## Mỗi hệ thống một trách nhiệm

Hãy xem lại [cài đặt email khách hàng của Stripe](https://docs.stripe.com/billing/revenue-recovery/customer-emails). Quyết định hệ thống nào gửi biên lai, thông báo thanh toán thất bại và email nhắc. Việc bật một tự động hóa trong Brew không tắt email của Stripe.

Đừng đưa nội dung quảng cáo vào thông báo tài khoản, trừ khi bạn đã xem xét mục đích của email và các quyền liên quan. Email nhắc mang tính tiếp thị cần có sự đồng ý tương ứng và cơ chế xử lý hủy đăng ký.

## Kiểm tra toàn bộ đường đi

Hãy xác nhận sự kiện xuất hiện trong Brew, tự động hóa được gắn đang ở trạng thái Đang hoạt động, và lịch sử thực thi cho thấy đúng người nhận cùng kết quả như mong đợi. Sau đó, kiểm tra email nhận được và liên kết thanh toán. Nếu sự kiện đã đến nhưng không có email nào được gửi, hãy kiểm tra bộ lọc, danh sách chặn và mức độ sẵn sàng của tên miền gửi trước khi kết luận webhook bị lỗi.

Hãy bắt đầu với một sự kiện và một email đã được thử nghiệm. Chỉ thêm các email nhắc sau đó khi bài kiểm thử của ứng dụng đã bao quát bước kiểm tra trạng thái hiện tại và cách xử lý thử lại.
