Chọn các sự kiện Stripe của bạn
Bắt đầu với bốn sự kiện bao gồm thanh toán, thất bại và hủy đăng ký. Bạn có thể thêm sau.
- checkout.session.completed – khách hàng hoàn tất thanh toán một lần hoặc đăng ký mới.
- invoice.payment_succeeded – một hóa đơn định kỳ được thanh toán, bao gồm cả gia hạn đăng ký.
- invoice.payment_failed – một giao dịch hoặc gia hạn thất bại, thường là dấu hiệu đầu tiên của vấn đề về thẻ.
- customer.subscription.deleted – một đăng ký kết thúc, dù bị hủy ngay lập tức hay vào cuối kỳ.
Bên trong trình xử lý webhook Stripe của bạn, chuyển tiếp các trường quan trọng.
Xác minh chữ ký Stripe trước, sau đó gửi một lệnh gọi HTTP đến LogsNinja với số tiền là metadata – nó cung cấp dữ liệu cho cả cảnh báo và biểu đồ doanh thu.
$ curl -X POST https://api.logsninja.com/v1/events \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -d '{ "project": "YOUR_PROJECT_ID", "stream": "payments", "title": "New subscription", "content": "[email protected] subscribed to Pro", "emoji": "💳", "metadata": {"plan": "pro", "amount": 49}, "notify": true }' ✓ Event received ✓ Push sent to 2 devices # revenue chart updated
Triển khai an toàn
Xác minh trước khi tin tưởng
- Kiểm tra header Stripe-Signature với khóa bí mật ký webhook của bạn trước khi xử lý bất kỳ điều gì.
- Giữ khóa bí mật Stripe và token API LogsNinja của bạn ngoài mã nguồn phía client.
- Không bao giờ chuyển tiếp số thẻ đầy đủ hoặc CVC – Stripe cũng không bao giờ gửi chúng đến webhook của bạn.
Xử lý thử lại
- Stripe thử lại các webhook chưa gửi được – trả về 200 nhanh chóng và xử lý bất đồng bộ nếu cần.
- Sử dụng ID sự kiện Stripe làm khóa idempotency để webhook thử lại không tạo ra cảnh báo trùng lặp.
- Ghi lại các lỗi gửi ở phía bạn; các sự kiện LogsNinja gửi sau vẫn sẽ đến đúng biểu đồ.
Xây dựng các biểu đồ này trên bảng điều khiển của bạn
Mỗi tiện ích bên dưới đọc chính các sự kiện bạn vừa bắt đầu gửi, không cần tích hợp lần hai. Doanh thu hôm nay cộng siêu dữ liệu amount trong luồng payments; các tiện ích khác đếm sự kiện theo tiêu đề.
Giá trị ví dụ chỉ mang tính minh họa.
Câu hỏi thường gặp
Tôi có cần thay đổi tích hợp Stripe của mình không?
Không. Giữ nguyên endpoint webhook Stripe hiện có của bạn. Thêm một lệnh gọi HTTP đến LogsNinja bên trong trình xử lý hiện có, sau khi bạn xác minh chữ ký.
Tôi nên thêm những sự kiện Stripe nào sau này?
customer.subscription.created cho các bản dùng thử mới, charge.refunded cho hoàn tiền, và invoice.payment_action_required nếu bạn hỗ trợ 3D Secure.
Gửi số tiền thanh toán đến LogsNinja có an toàn không?
Có. Số tiền được lưu dưới dạng metadata của sự kiện, cùng trường được dùng để cung cấp dữ liệu cho biểu đồ doanh thu của bạn. Không bao giờ gửi số thẻ đầy đủ hoặc CVC – Stripe cũng không gửi chúng đến webhook của bạn ngay từ đầu.




