Webhook ตรวจสลิปคืออะไร? ต่างจาก API ตรวจสลิปอย่างไร และควรใช้แบบไหน 

Webhook ตรวจสลิปคืออะไร? ต่างจาก API ตรวจสลิปอย่างไร และควรใช้แบบไหน
Webhook ตรวจสลิปคืออะไร? ต่างจาก API ตรวจสลิปอย่างไร และควรใช้แบบไหน

Webhook ตรวจสลิป คือวิธีที่ระบบตรวจสอบสลิปส่งผลลัพธ์กลับมายังเซิร์ฟเวอร์ของธุรกิจโดยอัตโนมัติ เมื่อการตรวจสอบเสร็จสิ้น ส่วน API ตรวจสลิปคือช่องทางที่ระบบของธุรกิจใช้ส่งข้อมูลสลิปไปตรวจสอบและรับผลกลับมา ทั้งสองอย่างสามารถทำงานร่วมกันได้ ไม่จำเป็นต้องเลือกใช้อย่างใดอย่างหนึ่งเสมอไป

สำหรับธุรกิจที่ต้องการตรวจสอบสลิปโอนเงินอัตโนมัติ EasySlip มีทั้ง API ตรวจสอบสลิปแบบรอผลตอบกลับทันที และการตรวจสอบแบบ Async ที่ส่งผลกลับผ่าน Webhook เหมาะกับการนำไปเชื่อมต่อกับเว็บไซต์ ร้านค้าออนไลน์ และระบบหลังบ้านตามรูปแบบการทำงานของแต่ละธุรกิจ

Webhook ตรวจสลิปคืออะไร?

Webhook คือกลไกที่ระบบหนึ่งส่งข้อมูลไปยัง URL ของอีกระบบหนึ่งเมื่อมีเหตุการณ์ที่กำหนดไว้ ในกรณีของ EasySlip เหตุการณ์นั้นคือการตรวจสอบสลิปเสร็จสมบูรณ์ ระบบจะส่งผลตรวจกลับไปยัง Callback URL ที่ธุรกิจกำหนดผ่าน HTTP POST

ตัวอย่างเช่น ลูกค้าสั่งซื้อสินค้าบนเว็บไซต์และส่งสลิปเข้ามาตรวจสอบ ระบบสามารถส่งข้อมูล QR Payload ไปตรวจสอบแบบ Async จากนั้น EasySlip จะส่งผลกลับมายังเซิร์ฟเวอร์ของร้านค้าเมื่อได้ผลตรวจแล้ว ร้านค้าจึงนำข้อมูลไปประมวลผลต่อ เช่น ตรวจสอบยอดชำระและพิจารณาเปลี่ยนสถานะออเดอร์

API ตรวจสลิปต่างจาก Webhook อย่างไร?
API ตรวจสลิปต่างจาก Webhook อย่างไร?

API ตรวจสลิปต่างจาก Webhook อย่างไร?

จุดต่างสำคัญคือ API ใช้ส่งคำขอให้ระบบตรวจสอบ ส่วน Webhook ใช้รับแจ้งผลเมื่อการตรวจสอบแบบ Async เสร็จแล้ว โดย EasySlip รองรับทั้งรูปแบบ Sync และ Async

หัวข้อAPI ตรวจสลิปแบบ SyncAPI ตรวจสลิปแบบ Async ร่วมกับ Webhook
วิธีรับผลรอผลจาก API Responseรับผลภายหลังผ่าน Webhook
การตอบกลับครั้งแรกได้ผลตรวจเมื่อคำขอเสร็จได้ jobId เพื่อใช้อ้างอิงงาน
รูปแบบการทำงานเหมาะกับการตรวจและใช้ผลในขั้นตอนเดียวกันเหมาะกับการแยกงานตรวจสอบออกจากกระบวนการหลัก
การเชื่อมต่อส่งคำขอแล้วอ่านผลตอบกลับส่งคำขอ ตั้ง Callback URL และจัดการผลที่ส่งกลับ
สิ่งที่ต้องเตรียมระบบเรียก API และจัดการ Responseระบบเรียก API, Endpoint สำหรับ Webhook และการตรวจสอบความปลอดภัย

API แบบ Sync ของ EasySlip ใช้ Endpoint POST /verify/bank ซึ่งรองรับข้อมูลสลิปได้หลายรูปแบบ เช่น QR Payload รูปภาพ Base64 และ URL ส่วนแบบ Async ใช้ POST /verify/bank/async เพื่อส่งข้อมูลเข้าคิวและรับผลภายหลังผ่าน Webhook โดยรูปแบบ Async นี้รองรับ QR Payload ของสลิปธนาคารตามข้อกำหนดของ API

EasySlip Webhook ทำงานอย่างไร?

1. ระบบร้านค้าส่งข้อมูลสลิปไปตรวจสอบ

เมื่อมีสลิปเข้ามา ระบบของร้านค้าจะส่ง QR Payload ไปยัง Endpoint ตรวจสอบแบบ Async ของ EasySlip พร้อมกำหนด Callback URL สำหรับรับผล หากต้องการตรวจสอบยอดเงิน บัญชีผู้รับ หรือสลิปซ้ำ ก็สามารถกำหนดพารามิเตอร์ที่รองรับไว้ในคำขอได้

2. EasySlip รับงานและส่ง Job ID กลับมา

เมื่อระบบรับคำขอเข้าคิวสำเร็จ จะตอบกลับด้วยสถานะ 202 Accepted พร้อม jobId สำหรับติดตามงาน แต่ต้องเข้าใจว่า การได้รับ jobId ไม่ได้หมายความว่าสลิปผ่านการตรวจสอบแล้ว เพราะเป็นเพียงการยืนยันว่ารับงานเข้าสู่คิวเรียบร้อย

3. Webhook ส่งผลกลับเมื่อมีผลตรวจ

หลังการตรวจสอบเสร็จ EasySlip จะส่งผลไปยัง Callback URL ของธุรกิจ โดยผลลัพธ์อาจเป็น success, not_found หรือ failed ตามสถานะที่ระบบรายงาน ร้านค้าจึงควรออกแบบการทำงานให้รองรับทุกกรณี ไม่ใช่เฉพาะเมื่อสลิปตรวจสอบสำเร็จเท่านั้น

4. ระบบร้านค้าประมวลผลผลตรวจสอบต่อ

เมื่อได้รับผลแล้ว ระบบสามารถนำข้อมูลที่เกี่ยวข้อง เช่น จำนวนเงิน สถานะสลิป และข้อมูลการตรวจจับรายการซ้ำ ไปเปรียบเทียบกับคำสั่งซื้อ ก่อนตัดสินใจเปลี่ยนสถานะการชำระเงิน ทั้งนี้ควรตรวจสอบเงื่อนไขให้ครบก่อนเปลี่ยนออเดอร์เป็นชำระเงินสำเร็จ

Webhook ตรวจสลิปเหมาะกับธุรกิจแบบไหน?

ร้านค้าออนไลน์ที่มีออเดอร์จำนวนมาก

ร้านค้าที่มีคำสั่งซื้อเข้ามาตลอดวันสามารถใช้การตรวจสอบแบบ Async เพื่อแยกขั้นตอนรับคำขอออกจากขั้นตอนรอผล ช่วยให้ระบบจัดการงานได้เป็นสัดส่วนมากขึ้น โดยต้องออกแบบการจัดการคิวและผลตอบกลับให้เหมาะสม

เว็บไซต์ที่ต้องเชื่อมระบบชำระเงินกับระบบหลังบ้าน

ธุรกิจที่มีเว็บไซต์หรือระบบจัดการออเดอร์ของตัวเองสามารถนำผลตรวจสอบจาก Webhook ไปใช้ใน Workflow เช่น บันทึกผลลงฐานข้อมูล แจ้งทีมงาน หรือส่งคำสั่งให้ระบบตรวจสอบเงื่อนไขการชำระเงินต่อได้

ธุรกิจที่ต้องตรวจสอบสลิปหลายรายการ

EasySlip มี Endpoint สำหรับส่งสลิปหลายรายการเข้าตรวจสอบแบบ Batch ได้สูงสุด 100 รายการต่อคำขอตามเอกสาร API v2 โดยแต่ละสลิปจะมีผล Webhook ของตัวเอง จึงเหมาะกับระบบที่ต้องการแยกติดตามผลเป็นรายรายการ

ข้อควรรู้ก่อนใช้ Webhook ตรวจสลิป
ข้อควรรู้ก่อนใช้ Webhook ตรวจสลิป

ข้อควรรู้ก่อนใช้ Webhook ตรวจสลิป

แม้ Webhook จะช่วยให้ระบบรับผลตรวจสอบโดยไม่ต้องรอคำขอเดิม แต่การเชื่อมต่อควรคำนึงถึงความปลอดภัยและการจัดการข้อผิดพลาดด้วย

  • ตรวจสอบลายเซ็น: ตั้งค่า Webhook Secret และตรวจสอบ HMAC-SHA256 Signature ก่อนเชื่อถือข้อมูลที่ได้รับ ตามวิธีที่ EasySlip แนะนำ
  • ป้องกันการประมวลผลซ้ำ: ระบบอาจส่ง Callback เดิมซ้ำเมื่อมีการ Retry จึงควรใช้ jobId เพื่อป้องกันการทำงานซ้ำกับรายการเดียวกัน
  • รองรับกรณีไม่ได้รับ Webhook: เก็บ jobId ไว้และใช้ Endpoint สำหรับตรวจสอบสถานะงานเป็นช่องทางสำรองเมื่อจำเป็น
  • อย่าเปลี่ยนสถานะเป็นชำระเงินสำเร็จทันที: ต้องตรวจสอบสถานะ ผลการตรวจสลิป ยอดเงิน และเงื่อนไขที่ธุรกิจกำหนดให้ครบก่อน

เลือกใช้ API ตรวจสลิปหรือ Webhook แบบไหนดี?

หากต้องการส่งสลิปแล้วนำผลตรวจสอบไปใช้ต่อทันที API แบบ Sync เป็นตัวเลือกที่ตรงไปตรงมา เพราะระบบสามารถรอผลตอบกลับแล้วประมวลผลต่อได้ แต่หากต้องการแยกงานตรวจสอบออกจากกระบวนการหลัก รองรับคิวงาน หรือส่งสลิปหลายรายการเข้าตรวจสอบแบบ Async การใช้ API ร่วมกับ Webhook จะเหมาะกว่า เพราะระบบรับคำขอและประมวลผลผลลัพธ์คนละช่วงเวลา สิ่งสำคัญคือ Webhook ไม่ได้ทำให้การตรวจสอบสลิปถูกต้องโดยอัตโนมัติทุกกรณี ความน่าเชื่อถือยังขึ้นอยู่กับผลตรวจจากบริการ การกำหนดเงื่อนไขในระบบ และการจัดการข้อผิดพลาดของธุรกิจเอง

คำถามที่พบบ่อย (FAQ)

Q: Webhook ตรวจสลิปกับ API ตรวจสลิปเป็นสิ่งเดียวกันไหม?

A: ไม่ใช่ API เป็นช่องทางที่ระบบใช้ส่งคำขอและรับข้อมูล ส่วน Webhook เป็นกลไกส่งแจ้งเตือนหรือผลลัพธ์กลับมายัง URL ที่กำหนด ทั้งสองอย่างทำงานร่วมกันได้ โดย EasySlip ใช้ Webhook ส่งผลตรวจสำหรับงาน Async

Q: ใช้ Webhook แล้วต้องเรียก API อีกไหม?

A: โดยทั่วไปยังต้องเรียก API เพื่อส่งข้อมูลสลิปเข้าตรวจสอบก่อน ส่วน Webhook จะส่งผลกลับเมื่อการตรวจสอบเสร็จ หากไม่ได้รับ Callback สามารถใช้วิธีตรวจสอบสถานะงานตามเอกสาร API ที่รองรับได้

Q: Webhook ตรวจสลิปช่วยตรวจจับสลิปปลอมและสลิปซ้ำได้ไหม?

A: Webhook เป็นช่องทางส่งผล ไม่ใช่ตัวตรวจสอบสลิปด้วยตัวเอง ส่วนการตรวจข้อมูลธุรกรรมและตรวจจับสลิปซ้ำขึ้นอยู่กับบริการตรวจสลิปและพารามิเตอร์ที่ใช้งาน เช่น EasySlip มีตัวเลือก checkDuplicate สำหรับตรวจสอบสลิปซ้ำตามเงื่อนไขที่ระบุไว้ในเอกสาร

Q: Webhook ไม่ส่งผลกลับ ต้องทำอย่างไร?

A: ควรตรวจสอบว่า Callback URL เข้าถึงได้ผ่าน HTTPS และระบบตอบกลับด้วยสถานะ HTTP 2xx รวมถึงตรวจสอบ Log และลายเซ็นตามคู่มือ หากยังไม่ได้รับผล สามารถใช้ jobId ตรวจสอบสถานะงานผ่าน Endpoint ที่กำหนดไว้ได้

ลดความเสี่ยงจากสลิปปลอมด้วย EasySlip Slip Verification API

ธุรกิจที่ต้องการลดงานตรวจสลิปด้วยมือ สามารถนำ Slip Verification API จาก EasySlip ไปเชื่อมต่อกับเว็บไซต์หรือระบบหลังบ้าน เพื่อช่วยตรวจสอบสถานะและรายละเอียดการโอนจ่าย รวมถึงใช้ความสามารถที่รองรับ เช่น การตรวจจับสลิปซ้ำและการตรวจสอบยอดเงินตามเงื่อนไข ดูรายละเอียดบริการ แพ็กเกจ และเริ่มต้นใช้งานได้ที่ EasySlip Slip Verification API หรือศึกษาวิธีเชื่อมต่อจาก เอกสาร EasySlip API

บทความที่เกี่ยวข้อง