Giới thiệu
Chạy các function của Inngest và background job khi xảy ra các sự kiện payment. Dodo Payments gửi từng sự kiện đến Inngest, nơi các function của bạn có thể gửi thông báo, cập nhật database và chạy các workflow nhiều bước với tính năng retry và xử lý lỗi của Inngest.Bạn cần một URL webhook của Inngest. Bạn tạo URL này trong Inngest dashboard tại Manage → Webhooks.
Bắt đầu
1
Open the Webhook Section
Trong dashboard Dodo Payments, đi đến Developer → Webhooks và nhấp vào Add endpoint.

2
Select Inngest
Trong Integration, chọn Inngest. Trong Subscribed events, chọn các sự kiện sẽ kích hoạt function của bạn.
3
Create an Inngest Webhook
Trong Inngest dashboard, mở tab Manage và chọn Webhooks. Tạo một webhook và sao chép URL của webhook. Inngest chạy transform function của webhook trên mỗi request, vì vậy hãy kiểm tra để đảm bảo function này giữ lại các field
name và data mà các function của bạn yêu cầu.4
Paste Webhook URL
Dán URL webhook của Inngest vào Endpoint URL.
5
Configure Transformation
Trong Transformation code, chỉnh sửa code để định dạng các sự kiện cho các function Inngest của bạn. Xem các ví dụ bên dưới.
6
Test & Create
Trong Test this code, chọn một loại sự kiện và nhấp vào Simulate để chạy transformation trên một payload mẫu. Sau đó nhấp vào Create endpoint để kích hoạt integration.
7
Done
Các sự kiện Dodo Payments giờ đây sẽ kích hoạt các function Inngest của bạn.
Ví dụ Mã Biến đổi
Mỗi ví dụ chuyển đổiwebhook.payload thành một sự kiện Inngest. name là sự kiện mà function của bạn kích hoạt, data chứa thông tin chi tiết về sự kiện, user chứa thông tin customer và ts là thời gian sự kiện tính bằng milliseconds, theo yêu cầu của event format của Inngest.
Basic Event Payload
basic_event.js
Subscription Event Handler
subscription_event.js
Dispute Event Handler
Handler này chuyển tiếp mọi sự kiệndispute.* và đánh dấu dispute.opened là khẩn cấp. Dispute payload không bao gồm thông tin customer, vì vậy handler không gửi object user.
dispute_event.js
Các trường hợp sử dụng Inngest phổ biến
Payment Processing
Payment Processing
- Gửi email xác nhận
- Cập nhật bản ghi customer
- Xử lý refund
- Tạo invoice
- Cập nhật inventory
Subscription Management
Subscription Management
- Chào mừng subscriber mới
- Xử lý cancellation
- Gửi lời nhắc gia hạn
- Cập nhật billing cycle
- Xử lý payment thất bại
Analytics & Reporting
Analytics & Reporting
- Cập nhật các chỉ số doanh thu
- Theo dõi hành vi customer
- Tạo report
- Đồng bộ dữ liệu với các nền tảng analytics
- Tính churn rate
Mẹo
- Sử dụng tên sự kiện có tính mô tả. Inngest khuyến nghị thêm tiền tố là nguồn, chẳng hạn như
dodo/payment.succeeded. - Đặt thông tin customer vào
user, nơi Inngest mã hóa dữ liệu khi lưu trữ. - Đặt
tstừtimestampcủa webhook, tính bằng milliseconds, để các sự kiện giữ nguyên thứ tự và thời gian ban đầu. - Sử dụng cùng một cấu trúc dữ liệu cho các sự kiện.
- Sử dụng các tính năng retry và xử lý lỗi của Inngest.
Khắc phục sự cố
Functions not triggering
Functions not triggering
- Kiểm tra để đảm bảo Endpoint URL khớp với URL webhook của Inngest và webhook đang hoạt động.
- Kiểm tra để đảm bảo function Inngest của bạn đã được deploy và đang hoạt động.
- Kiểm tra để đảm bảo tên sự kiện khớp với các trigger của function.
- Xem log của function Inngest để tìm lỗi.
Data not received correctly
Data not received correctly
- Kiểm tra để đảm bảo cấu trúc payload khớp với event format của Inngest.
- Kiểm tra để đảm bảo tên sự kiện được định dạng chính xác.
- Kiểm tra để đảm bảo transform function của Inngest webhook giữ lại các field mà transformation của Dodo Payments thiết lập.
- Kiểm tra để đảm bảo tất cả field bắt buộc đều được đưa vào.
- Kiểm thử bằng công cụ kiểm thử webhook của Inngest.