Skip to main content

เว็บฮุค (Webhook)

webhook คือการแจ้งสถานะการชำระเงินของคำสั่งซื้อ เมื่อสถานะการชำระเงินเกิดการเปลี่ยนแปลง ผ่านทาง API

ร้านค้าสามารถตั้งค่า Webhook URL บนอินเทอร์เฟซของ portal เมื่อสถานะการชำระเงินมีการเปลี่ยนแปลง portal จะทำการส่งข้อมูลดังกล่าวไปยัง Webhook URL.

img.png

เมื่อใดก็ตามที่สถานะการสั่งซื้อเปลี่ยนแปลง request GET จะถูกส่งไปยัง webhook URL โดยมีพารามิเตอร์ดังต่อไปนี้

ชื่อ Parameterชนิดตัวแปรคำอธิบาย
typestringชนิด Event กำหนดไว้เป็นค่า "order"
instancestringหมายเลขคำสั่งซื้อจากฝั่งร้านค้า หรือค่า Merchant_order_id
codestringEvent code กำหนดไว้เป็นค่า "statuschange"
messagestringสถานะคำสั่งซื้อ
signaturestringRequest signature
  • response ของ webhook สามารถทำ signature และตรวจสอบ signature ได้ โดยใช้รูปแบบเดียวกัน และ apiUrl ใน signature จะใช้ที่อยู่แบบเต็มของเว็บฮุค

  • การส่งข้อมูลผ่าน webhook จะถือว่าสำเร็จหาก http response ที่ได้รับเท่ากับ 200 มิฉะนั้น webhook จะทำการส่งซ้ำทุกๆ 5 วินาที สูงสุด 6 ครั้ง

  • เมื่อได้รับการแจ้งเตือนผ่าน webhook พารามิเตอร์จะต้องได้รับการตรวจสอบ สำหรับกระบวนการตรวจสอบ สามารถตรวจสอบได้โดยวิธีการสร้าง signature ที่ด้านล่าง

  • หมายเหตุ การตรวจสอบว่า signature ที่ใช้บน Webhook มาจาก Payment Gateway จริงหรือไม่ ควรตรวจสอบ signature โดยใช้อัลกอริทึมเดียวกับการเรียก API อื่นๆ

สถานนะทั้งหมดของ Message#

message field value

ค่าตัวแปรคำอธิบาย
Order Timeoutออเดอร์หมดระยะเวลาที่สามารถชำระได้
Order Closedออเดอร์กูกปิด
Order Paidออเดอร์ถูกจ่าย
Order Refundedออเดอร์มีการคืนเงินบางส่วน/เต็มจำนวน

ตัวอย่าง Webhook notification#

URLwebhook address
MethodGET

Request content#

ตัวอย่างในการ Query string#

{https://yoururlwebhooksetup}?code=StatusChange&instance=test_linepay01&message=Order%20Paid&signature=DA0608731FA24D4C8694D839A2D990D4AEDF3A897126C09BE4C9D6B4DB605932&type=Order

ตัวอย่างใน Postman#

webhook_sample_request.png

Endpoint สำหรับการทดสอบ webhook#

webhook จะใช้ได้กับ url ที่สามารถเข้าถึงได้บน internet เท่านั้น localhost จะไม่สามารถทำการทดสอบได้

ในกรณีที่ร้านค้ายังไม่มี public URL แต่ต้องการทดสอบ webhook สามารถทดสอบ กับเว็บไซต์เช่น https://webhook.site

หรือสามารถอ่านข้อมูลเกี่ยวกับ การทดสอบ WebHook ด้วยเว็บไซต์บันทึก log เนื้อหาบทความจาก microsoft