ข้ามไปยังเนื้อหาหลัก
เวอร์ชัน: ล่าสุด

Events API

Events API ให้การเข้าถึงบันทึกกิจกรรมและประวัติ webhook event ในบัญชี Omise ของคุณ Events แสดงถึงการดำเนินการที่เกิดขึ้นในบัญชีของคุณ เช่น การชำระเงินที่สำเร็จ การชำระเงินที่ล้มเหลว การสร้างข้อพิพาท และอื่นๆ

ภาพรวม

Events จะถูกสร้างขึ้นเมื่อมีเหตุการณ์สำคัญเกิดขึ้นในบัญชีของคุณ ซึ่งให้:

  • ประวัติกิจกรรมที่สมบูรณ์ - ติดตามการดำเนินการทั้งหมดในบัญชีของคุณ
  • การดีบัก Webhook - ดูข้อมูลที่ส่งไปยัง webhooks ของคุณอย่างชัดเจน
  • บันทึกการตรวจสอบ - ตรวจสอบกิจกรรมบัญชีเพื่อการปฏิบัติตามข้อกำหนด
  • การทดสอบการเชื่อมต่อ - ตรวจสอบตรรกะการจัดการ webhook ของคุณ
  • การตรวจสอบแบบเรียลไทม์ - ติดตามขั้นตอนการชำระเงินและ system events

วิธีการทำงานของ Events

  1. การสร้าง Event - Omise สร้าง event เมื่อมีการดำเนินการเกิดขึ้น (เช่น การชำระเงินสำเร็จ)
  2. การจัดเก็บ Event - Events ถูกจัดเก็บและพร้อมใช้งานผ่าน Events API
  3. การส่ง Webhook - Events ถูกส่งไปยัง webhook endpoints ที่กำหนดค่าไว้
  4. การดึง Event - คุณสามารถดึง events ผ่าน API เพื่อการดีบักและตรวจสอบ

โครงสร้างของ Event

แต่ละ event ประกอบด้วย:

  • ประเภท Event - เกิดอะไรขึ้น (เช่น charge.create, charge.complete)
  • ข้อมูล Event - อ็อบเจกต์ที่สมบูรณ์ที่มีการเปลี่ยนแปลง (charge, refund, dispute ฯลฯ)
  • Timestamp - เวลาที่ event เกิดขึ้น
  • สถานะ Webhook - webhooks ถูกส่งสำเร็จหรือไม่

ประเภท Event ที่พบบ่อย

Charge Events

  • charge.create - สร้าง charge ใหม่แล้ว
  • charge.complete - charge สำเร็จ
  • charge.update - charge ถูกอัปเดต (เช่น captured)

Refund Events

  • refund.create - ประมวลผลการคืนเงินแล้ว

Customer Events

  • customer.create - สร้างลูกค้าใหม่แล้ว
  • customer.update - อัปเดตข้อมูลลูกค้าแล้ว
  • customer.destroy - ลบลูกค้าแล้ว

Transfer Events

  • transfer.create - เริ่มการโอนเงินแล้ว
  • transfer.update - อัปเดตการโอนเงินแล้ว
  • transfer.destroy - การโอนเงินล้มเหลวหรือถูกยกเลิก

Dispute Events

  • charge.dispute.create - มีการยื่นข้อพิพาทต่อ charge
  • charge.dispute.update - สถานะข้อพิพาทเปลี่ยนแปลง
  • charge.dispute.close - ข้อพิพาทได้รับการแก้ไข (ชนะหรือแพ้)

Source Events

  • source.create - สร้างแหล่งการชำระเงินแล้ว (PromptPay, TrueMoney ฯลฯ)
  • source.update - อัปเดตสถานะ source แล้ว (เช่น pending → successful)
  • source.failed - การชำระเงินจาก source ล้มเหลว
  • source.successful - การชำระเงินจาก source สำเร็จ
  • link.create - สร้างลิงก์การชำระเงินแล้ว
  • link.payment.create - มีการชำระเงินผ่านลิงก์
  • link.payment.complete - การชำระเงินผ่านลิงก์เสร็จสมบูรณ์

Recipient Events

  • recipient.create - สร้างผู้รับเงินแล้ว
  • recipient.update - อัปเดตรายละเอียดผู้รับเงินแล้ว (การยืนยัน, บัญชีธนาคาร)
  • recipient.verify - ผู้รับเงินได้รับการยืนยันและพร้อมรับการโอนเงิน
  • recipient.destroy - ลบผู้รับเงินแล้ว

Schedule Events

  • schedule.create - สร้างกำหนดการที่เกิดซ้ำแล้ว
  • schedule.suspend - กำหนดการถูกหยุดชั่วคราว
  • schedule.activate - กำหนดการถูกเปิดใช้งานอีกครั้ง
  • schedule.destroy - ลบกำหนดการแล้ว

Occurrence Events (การทำงานของ Schedule)

  • schedule.occurrence.scheduled - occurrence ถูกจัดคิวให้ทำงาน
  • schedule.occurrence.successful - การดำเนินการตามกำหนดสำเร็จ
  • schedule.occurrence.failed - การดำเนินการตามกำหนดล้มเหลว

Webhook Delivery Events

  • webhooks.deliver - มีการพยายามส่ง webhook
  • webhooks.retry - มีการลองส่ง webhook อีกครั้ง

กรณีการใช้งานหลัก

การดีบัก Webhook

ดึง events เพื่อดูข้อมูลที่ส่งไปยัง webhooks ของคุณอย่างแม่นยำและแก้ไขปัญหาการส่ง

การตรวจสอบกิจกรรม

แสดงรายการ events ล่าสุดเพื่อตรวจสอบกิจกรรมบัญชีและตรวจจับรูปแบบที่ผิดปกติ

การทดสอบการเชื่อมต่อ

ตรวจสอบว่าแอปพลิเคชันของคุณจัดการประเภท event ต่างๆ ได้อย่างถูกต้องก่อนใช้งานจริง

บันทึกการตรวจสอบ

รักษาบันทึกการตรวจสอบที่สมบูรณ์ของธุรกรรมและการเปลี่ยนแปลงบัญชีทั้งหมด

Endpoints ที่ใช้ได้

การเก็บรักษา Event

  • Events จะถูกเก็บรักษาไว้ 90 วัน
  • Events ที่เก่ากว่าจะถูกลบโดยอัตโนมัติ
  • ส่งออก events เป็นประจำหากคุณต้องการเก็บรักษานานกว่านี้

แนวทางปฏิบัติที่ดี

ควรทำ

  • ใช้ webhooks สำหรับการจัดการ event แบบเรียลไทม์แทนการ polling
  • ตรวจสอบลายเซ็น webhook เพื่อให้แน่ใจว่า events มาจาก Omise
  • จัดการ events ที่ซ้ำกัน - webhooks อาจถูกส่งหลายครั้ง
  • บันทึก event IDs เพื่อติดตามว่า events ใดที่คุณประมวลผลแล้ว
  • ใช้งาน idempotency ตาม event IDs
  • ตรวจสอบความล้มเหลวของ webhook ผ่าน Events API

ไม่ควรทำ

  • อย่า poll events บ่อยๆ - ใช้ webhooks แทน
  • อย่าสมมติลำดับของ event - events อาจมาถึงไม่เรียงลำดับ
  • อย่าข้ามการตรวจสอบลายเซ็น - ตรวจสอบความถูกต้องของ webhook เสมอ
  • อย่าประมวลผล events ซ้ำ - ตรวจสอบ event IDs ก่อนประมวลผล

แหล่งข้อมูลที่เกี่ยวข้อง


ต้องการความช่วยเหลือ? ตรวจสอบ คู่มือ Webhooks หรือติดต่อ support@omise.co