กรณีที่ระบบ EWA ต้องหยุดธุรกรรมเพื่อตรวจสอบ
EWA ควรหยุดหรือพักธุรกรรมจนกว่าจะยืนยันพนักงาน เวลาทำงาน ยอดเงิน บัญชี และการไม่ซ้ำได้ หลักความปลอดภัยคือ fail-closed: ข้อมูลสำคัญไม่ชัดต้องไม่คาดเดา
การหยุดธุรกรรมไม่ใช่ความผิดพลาด
ควรหยุดเมื่อข้อมูลเวลาทำงานขัดแย้งหรือแก้โดยยังไม่อนุมัติใหม่ บัญชีรอตรวจสอบ ยอดเปลี่ยน รายการเดิมค้าง มีสัญญาณซ้ำ สถานะธนาคารไม่ชัด หรือแหล่งข้อมูลสำคัญล่ม
เป้าหมายคือไม่ให้ความไม่แน่นอนกลายเป็นความเสียหายทางการเงิน
กลุ่ม 1: ข้อมูลเวลาทำงานไม่น่าเชื่อถือพอ
หยุดเมื่อไม่มีเวลาที่อนุมัติ มีการแก้ แหล่งข้อมูลไม่ตรง ระเบียนอาจซ้ำ รหัสลงเวลาไม่ตรง กะหรือวันที่ไม่ชัด หรือ assignment หลังย้ายงานยังไม่แน่นอน
กลุ่ม 2: ยอดที่ขอไม่ตรงกับเซิร์ฟเวอร์
เวลาทำงาน รายการอื่น ยอดรับในรอบ รุ่นนโยบาย หรือยอดกันสำรองอาจเปลี่ยน เซิร์ฟเวอร์ต้องคำนวณใหม่และไม่ใช้ยอดเก่า
กลุ่ม 3: บัญชีผู้รับไม่เข้าเงื่อนไข
หยุดเมื่อบัญชีรอตรวจสอบ ชื่อไม่ตรง เพิ่งเปลี่ยน การยืนยันตัวตนค้าง หรือบัญชีไม่ใช้งาน การจ่ายก่อนอาจส่งเงินผิดคน
กลุ่ม 4: รายการก่อนหน้ายังประมวลผล
เมื่อมูลค่าเดียวกันมี processing, pending หรือ unknown ต้องล็อกไว้ ใช้การควบคุมพร้อมกันและ idempotency ป้องกันการใช้ซ้ำ
กลุ่ม 5: Timeout หรือสถานะธนาคารไม่ชัด
Timeout ไม่ใช่ความล้มเหลว ธนาคารอาจทำรายการแล้ว
- คงสถานะรอ
- ไม่สร้างเลขใหม่
- ไม่ปล่อยมูลค่า
- ตรวจสอบ
- ใช้หลักฐานอิสระ
- สรุปเมื่อข้อมูลพอ
ห้ามส่งเงินซ้ำเพื่อทดลอง
กลุ่ม 6: สัญญาณธุรกรรมซ้ำ
หยุดเมื่อ request ID หรือ idempotency key ซ้ำ คนและยอดเดียวกันเกิดใกล้ผิดปกติ สองกระบวนการกันมูลค่าเดียวกัน หรือส่งคำสั่งที่จบแล้วซ้ำ
สัญญาณซ้ำไม่พิสูจน์ทุจริตแต่ต้องตรวจสอบ
กลุ่ม 7: ระบุรุ่นนโยบายไม่ได้
Eligibility Engine ต้องรู้นโยบายลูกค้า วันที่มีผล วงเงิน ยอดกัน และสิทธิ์ใช้ ห้ามใช้ค่าเริ่มต้นที่ยังไม่ยืนยัน
กลุ่ม 8: พนักงานไม่อยู่ในสถานะที่เข้าเงื่อนไข
หยุดเมื่อออกงาน assignment หมดอายุ ย้ายงานไม่เสร็จ โปรไฟล์ถูกล็อก หรือรอบเงินเดือนปิด โดยใช้สถานะที่มีผลตามเวลา
กลุ่ม 9: ระบบต้นทางสำคัญขัดข้อง
เมื่อข้อมูลเวลา Eligibility Engine, Payment Orchestration, การตรวจบัญชี หรือข้อมูลธนาคารมีปัญหา ให้หยุดเฉพาะขอบเขตที่กระทบ
กลุ่ม 10: เปิดหยุดฉุกเฉิน
ความเสี่ยงจ่ายซ้ำวงกว้าง ผู้รับผิดคน คำนวณผิด เหตุความปลอดภัย หรือสถานะไม่ชัดอาจต้องกันคำสั่งใหม่ สิทธิ์ต้องจำกัด มีบันทึก อนุมัติ และเกณฑ์เปิดใหม่
การหยุด การพัก และการปฏิเสธต่างกันอย่างไร
| ผลลัพธ์ | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| ปฏิเสธ | ไม่ผ่านชัดเจน | ไม่มีเวลาที่อนุมัติ |
| พัก | หลักฐานไม่พอ | ธนาคาร Timeout |
| หยุดกระบวนการ | ความเสี่ยงกว้าง | สงสัยซ้ำวงกว้าง |
| แก้ข้อมูล | ต้นทางผิด | รหัสลงเวลาผิด |
| ยืนยันใหม่ | ตัวตนหรือบัญชีไม่ชัด | เปลี่ยนบัญชี |
ไม่ควรเรียกทุกกรณีว่าธุรกรรมล้มเหลว
พนักงานควรเห็นข้อความใด
แจ้งสถานะจริง เลขอ้างอิง และขั้นตอนถัดไป โดยไม่ให้ส่งซ้ำระหว่างรอ เช่น “กำลังตรวจสอบคำขอ โปรดอย่าสร้างคำขอยอดเดียวกันก่อนทราบผล”
ใครข้ามเงื่อนไขหยุดได้
ข้อยกเว้นต้องมีสิทธิ์สูง เหตุผล ผู้อนุมัติ บันทึก ขอบเขตจำกัด และหลักฐานภายหลัง หลีกเลี่ยง superadmin ที่ข้ามได้ทั้งหมด
แดชบอร์ดควรติดตามอะไร
ติดตามจำนวนและเหตุผลที่พัก อายุรายการ pending สัญญาณซ้ำ บัญชีรอตรวจ เวลาแก้หลังอนุมัติ การข้าม หยุดฉุกเฉิน และเวลาเปิดใหม่
สรุป
ข้อมูลเวลาไม่แน่นอน ยอดเปลี่ยน บัญชีรอตรวจ รายการเดิมค้าง สัญญาณซ้ำ สถานะธนาคารไม่ชัด และระบบขัดข้อง คือเงื่อนไขสำคัญ Fail-closed ทำให้เงินออกเมื่อข้อมูลแน่นอนพอเท่านั้น.
ผู้เขียน: Do Huy Le — Tổng Giám Đốc, Nhan Kiet Manpower Supply Co., Ltd.
คำปรึกษา EWA สำหรับธุรกิจ: Hotline 0937.022.655 · Email info@nhankiet.vn · ดูข้อมูล EWA สำหรับธุรกิจ
คำถามที่พบบ่อย
การหยุดทำให้ประสบการณ์แย่หรือไม่
อาจเพิ่มเวลารอ แต่ดีกว่าจ่ายผิดหรือซ้ำ
Timeout เป็นความล้มเหลวหรือไม่
ไม่ ต้องพักและตรวจสอบ
ข้อผิดพลาด API ทุกครั้งหยุดทั้งระบบหรือไม่
ไม่ ให้แยกบริการ ลูกค้า หรือฟังก์ชันที่กระทบ
ใครเปิดระบบหลังหยุดฉุกเฉินได้
บทบาทที่ได้รับอนุมัติพร้อมบันทึกและหลักฐานตรวจสอบ