Webhook ไม่มาถึง

การแก้ปัญหา Webhook การจัดส่ง
อาการ
มี event เกิดขึ้นแน่นอน แต่ Webhook กลับไม่มาถึง endpoint ผู้รับ

ขั้นตอนการแยกแยะสาเหตุ

ขั้นตอนที่ 1: ดูประวัติการจัดส่งในพอร์ทัลนักพัฒนา

พอร์ทัลนักพัฒนา → แอป → Webhook → endpoint ที่เกี่ยวข้อง →「ประวัติการจัดส่ง」

สถานะของประวัติการจัดส่ง สาเหตุ
ไม่มีบันทึกเลยยังไม่ได้ถูกจัดส่ง (ปัญหาการตั้งค่า)
มีบันทึกแต่เป็น 5xxเซิร์ฟเวอร์ฝั่งผู้รับเกิดข้อผิดพลาด
มีบันทึกแต่เป็น 4xxฝั่งผู้รับปฏิเสธ (ไม่มีการส่งซ้ำ)
ไทม์เอาต์ไม่ตอบกลับภายใน 10 วินาที
เชื่อมต่อล้มเหลวปัญหา DNS / TLS / เครือข่าย

ขั้นตอนที่ 2: การตรวจสอบเมื่อ「ไม่มีบันทึกเลย」

  • ☐ endpoint ตั้งเป็น「เปิดใช้งาน」อยู่หรือไม่ (ระหว่างปิดใช้งานจะไม่มีการจัดส่งตั้งแต่ต้น)
  • ☐ ได้สมัครรับ event ที่เกี่ยวข้องแล้วหรือไม่
  • ☐ ตัวเองไม่ได้ถูกคัดออกด้วยฟิลเตอร์ร้านค้าเป้าหมายใช่หรือไม่
  • ☐ event นั้นเกิดขึ้นจริงหรือไม่ (มีความล่าช้าปรากฏในหน้าสถานะหรือไม่)
  • ☐ ตัวแอปเองไม่ได้ถูกหยุดหรือยกเลิกใช่หรือไม่

ขั้นตอนที่ 3: กรณี「ไทม์เอาต์」หรือ「เชื่อมต่อล้มเหลว」

  • ☐ URL ผู้รับเข้าถึงได้จากภายนอกหรือไม่ (ลองเรียกดูผ่านเบราว์เซอร์)
  • ☐ ไม่ได้อยู่ภายใน VPN ภายในองค์กรใช่หรือไม่
  • ☐ ใบรับรอง TLS ยังใช้งานได้หรือไม่ (self-signed ใช้ไม่ได้)
  • ☐ ไฟร์วอลล์อนุญาต IP ต้นทางของ ReceiptRoller ไว้หรือไม่
  • ☐ กระบวนการรับส่งคืน 2xx ภายใน 10 วินาทีหรือไม่

ขั้นตอนที่ 4: กรณี「4xx ปฏิเสธ」

  • ☐ การตรวจสอบลายเซ็นล้มเหลวหรือไม่ (ส่งคืน 401 อยู่หรือไม่)
  • ☐ URL ที่เกี่ยวข้องกลายเป็น 404 เพราะ routing ผิดหรือไม่
  • ☐ มีข้อผิดพลาดจากการ implement ปรากฏใน response body หรือไม่

ตรวจสอบด้วยการจัดส่งแบบทดสอบ

คุณสามารถส่ง event ตัวอย่างเพื่อทดสอบฝั่งผู้รับได้จากปุ่ม「จัดส่งแบบทดสอบ」ในพอร์ทัลนักพัฒนา

  1. endpoint ที่เกี่ยวข้อง →「จัดส่งแบบทดสอบ」
  2. เลือกชนิดของ event
  3. 「ส่ง」
  4. ตรวจสอบ log และ response code ของฝั่งผู้รับ

การจัดส่งซ้ำ dead letter

หลังจากแก้ไขฝั่งผู้รับแล้ว คุณสามารถจัดส่งซ้ำด้วยตนเองได้จากฟิลเตอร์「dead letter」ในประวัติการจัดส่ง มีอายุการใช้งานภายใน 30 วันนับจากการจัดส่ง

คู่มือที่เกี่ยวข้อง

วันที่เผยแพร่: 2569-04-27 วันที่อัปเดต: 2569-07-06
แท็ก
API (22) OAuth (15) Android (10) iOS (9) Webhook (8) api (7) oauth (5) getting-started (4) การลงทะเบียนแอป (4) การแก้ปัญหา (4)
บทความที่เกี่ยวข้อง