ข้อจำกัดและความผิดพลาดที่อาจจะเกิดขึ้นในการเชื่อม Payment Gateway

เมื่อลูกค้า ใช้บริการ BookingX ร่วมกับ Payment Gateway นั่นจะหมายถึง มี party หรือ ระบบภายนอกเข้ามาเกี่ยวข้อง ในการสื่อสาร และ ด้วยการที่ระหว่างการทำรายการเช่น การชำระเงิน นั้นเป็นการสื่อสารระหว่าง ของระบบ ความผิดพลาดย่อมเกิดขึ้นได้ ถึงแม้ว่า แต่ละระบบเองนั้นจะมีออกแบบมารองรับ ความผิดพลาดหรือ Exception ขึ้นแล้วก็ตาม วันนี้เราจึงขออธิบายว่า สิ่งที่ลูกค้า “อาจจะ” ต้องเผชิญในการนำของ BookingX ไปใช้สื่อสารกับบริการใดๆ ก็ตามซึ่งไม่ได้อยู่ในความรับผิดชอบ หรือ การควบคุมของเรา และ ความผิดพลาดดังกล่าว เป็นเรื่องที่เกิดขึ้นได้ และ ลูกค้าอาจจะต้องทำการแก้ไขด้วยระบบ manual ในบางครั้ง

1. ความผิดพลาดในระบบเครือข่าย หรือ การเชื่อมต่อ
– Timeout : หรือหมดเวลาการสื่อสาร เช่นเมื่อระบบ BookingX ทำการ redirect ไปยังระบบ Payment Gateway แล้วปลายทางเกิดปัญหา Timeout
– Connection Dropped : การเชื่อมต่อถูกตัด ด้วยเหตุผลใดๆ
– DNS : เช่นการ resolve hostname ซึ่งเกิดจาก DNS Server ที่ลูกค้าใช้อยู่มีปัญหา

2. ความผิดพลาดที่เกิดขึ้นในระดับแอปพลิเคชัน
– เรียกกลับช้า : ซึ่งเกิดขึ้นอยู่เนืองๆ สำหรับปัญหานี้ ทั้งนี้เพราะว่า บางครั้งแล้ว Payment Gateway แต่ละเจ้าก็มีการพ่วงไปยัง ระบบอีกหลายๆ ระบบภายใต้การทำงานของเขา เพราะฉะนั้น การเรียกกลับมายืนยันยอดช้า จึงเกิดขึ้นได้
– ยืนยันยอดแล้ว แต่ไม่ตอบกลับ : ตัดเงินลูกค้าแล้ว แต่ Payment Gateway ไม่ยืนยันกลับมาหา BookingX
– ชาร์จซ้ำ : เกิดจากบางครั้งลูกค้ากด Reload หน้าเว็บจาก ของรของ Payment Gateway

3. ความผิดพลาดที่เกิดจากระบบป้องกันตนเองของ Payment Gateway
– ระบบการจำกัดการเข้าถึง : ซึ่งกลไกดังกล่าว เป็นระบบการป้องกันตนเอง เพื่อไม่ให้ใช้งานเยอะเกิดไป ซึ่งทำมาเพื่อป้องกันการจู่โจม (DOS/DDOS)
– token หมดอายุ : ปล่อยหน้าชำระเงินไว้นานเกิดไป ไม่ทำรายการ
– การเปลี่ยนความเข้ากันได้ของ API

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

Scroll to Top