Stripe Webhook: ทำความเข้าใจและรวม Event ที่ควรใช้
Stripe Webhook คืออะไร?
Webhook คือกลไกที่ Stripe ใช้ในการแจ้งเตือนระบบของคุณเมื่อมีเหตุการณ์บางอย่างเกิดขึ้นในบัญชี Stripe ของคุณ เช่น มีการชำระเงินสำเร็จ, การยกเลิกการสมัครสมาชิก, หรือการคืนเงิน ฯลฯ
Webhook จะช่วยให้ระบบของคุณ ตอบสนองแบบอัตโนมัติ ต่อเหตุการณ์เหล่านี้โดยไม่ต้องเรียก API ตลอดเวลา ทำให้ระบบทันสมัยและมีประสิทธิภาพมากขึ้น
การใช้งาน Stripe Webhook เบื้องต้น
- กำหนด Endpoint บนฝั่งเซิร์ฟเวอร์ของคุณ เช่น
https://yourdomain.com/webhook
- ไปที่ Stripe Dashboard → Developers > Webhooks
- เพิ่ม Endpoint แล้วเลือก Event ที่ต้องการให้ Stripe แจ้ง
- ตรวจสอบ
signature
เพื่อความปลอดภัย (Stripe จะส่งStripe-Signature
header มาให้)
Event ที่ควรตั้งรับใน Stripe Webhook
นี่คือ Event สำคัญที่ควรใช้สำหรับระบบทั่วไป โดยแบ่งตามหมวด:
🔹 การชำระเงิน (Payments)
Event | คำอธิบาย |
---|---|
payment_intent.succeeded | การชำระเงินสำเร็จ |
payment_intent.payment_failed | การชำระเงินล้มเหลว |
charge.succeeded | ยืนยันการหักเงินจากบัตรสำเร็จ (ใช้กับระบบเก่า) |
charge.refunded | การคืนเงินเกิดขึ้น |
🔹 การสมัครสมาชิก (Subscriptions)
Event | คำอธิบาย |
---|---|
customer.subscription.created | มีการสร้าง subscription ใหม่ |
customer.subscription.updated | มีการเปลี่ยนแปลง (เปลี่ยน plan, ปรับราคา) |
customer.subscription.deleted | Subscription ถูกยกเลิก |
invoice.payment_succeeded | ลูกค้าจ่ายค่าสมาชิกสำเร็จ |
invoice.payment_failed | ลูกค้าชำระไม่ผ่าน (อาจต้องแจ้งเตือน) |
🔹 ลูกค้า (Customer)
Event | คำอธิบาย |
---|---|
customer.created | มีการสร้างบัญชีลูกค้าใหม่ |
customer.updated | ข้อมูลลูกค้าถูกแก้ไข |
customer.deleted | ลูกค้าถูกลบออก |
🔹 ใบแจ้งหนี้ (Invoices)
Event | คำอธิบาย |
---|---|
invoice.created | ใบแจ้งหนี้ถูกสร้างขึ้น |
invoice.finalized | ใบแจ้งหนี้ถูกล็อกและพร้อมชำระเงิน |
invoice.payment_action_required | การชำระเงินต้องการการกระทำเพิ่มเติมจากลูกค้า |
ข้อควรระวัง
- ตรวจสอบ Signature ทุกครั้ง เพื่อป้องกัน Webhook ปลอม
- อย่าเชื่อข้อมูลจาก Webhook โดยตรง ให้ใช้เพื่อ แจ้งเตือนแล้วค่อยดึงข้อมูลจาก API เพื่อความแม่นยำ
- ทดสอบ Webhook ด้วย
Stripe CLI
หรือ Dashboard ก่อนใช้งานจริง
Stripe Webhook เป็นเครื่องมือที่จำเป็นสำหรับระบบที่ต้องติดตามสถานะการเงินแบบเรียลไทม์ โดย Event สำคัญที่ควรตั้งมีทั้งด้านการชำระเงิน, ใบแจ้งหนี้, การสมัครสมาชิก และข้อมูลลูกค้า การตั้งค่า Webhook อย่างถูกต้องจะช่วยให้ระบบของคุณมีความแม่นยำและอัตโนมัติมากขึ้น