การ ตรวจสลิปซ้ำ ด้วย isDuplicate คือการตรวจสอบว่าหลักฐานการโอนเงินรายการหนึ่งเคยถูกส่งเข้ามาตรวจสอบในระบบแล้วหรือไม่ ช่วยลดความเสี่ยงที่ลูกค้าจะนำสลิปเดิมมาใช้ยืนยันการชำระเงินหลายออเดอร์ โดยเฉพาะร้านค้าออนไลน์ เว็บไซต์ E-commerce และธุรกิจที่ต้องตรวจสอบยอดโอนจำนวนมาก
Thunder API มีฟังก์ชันตรวจจับสลิปซ้ำ โดย API v2 รองรับพารามิเตอร์ checkDuplicate สำหรับเปิดใช้การตรวจสอบ และสามารถนำผลลัพธ์อย่าง isDuplicate ไปกำหนดเงื่อนไขการยืนยันออเดอร์ได้ อย่างไรก็ตาม การตรวจสลิปซ้ำควรทำงานร่วมกับการตรวจสอบยอดเงินและบัญชีผู้รับ เพื่อให้ระบบรับชำระเงินมีความรัดกุมมากขึ้น
isDuplicate คืออะไร? ทำไมระบบรับเงินต้องตรวจสลิปซ้ำ
isDuplicate คือฟิลด์ในผลลัพธ์ API ที่ใช้ระบุว่าสลิปนั้นเป็นรายการที่เคยตรวจสอบแล้วหรือไม่ โดยทั่วไปค่าจะเป็น Boolean ได้แก่ true และ false
- isDuplicate: true หมายถึงระบบตรวจพบว่าสลิปเคยถูกตรวจสอบแล้ว
- isDuplicate: false หมายถึงระบบไม่พบว่าสลิปเป็นรายการซ้ำตามเงื่อนไขการตรวจสอบ
การตรวจพบสลิปซ้ำไม่ได้แปลว่าการโอนเงินครั้งแรกเป็นรายการปลอม แต่หมายความว่าระบบควรตรวจสอบประวัติรายการเดิมก่อนอนุมัติออเดอร์ใหม่ ตัวอย่างเช่น ลูกค้าสั่งซื้อสินค้า A มูลค่า 1,500 บาทและส่งสลิปเพื่อยืนยันการชำระเงิน ต่อมาลูกค้านำภาพสลิปเดียวกันมาใช้ยืนยันสินค้า B ระบบที่มีการตรวจสลิปซ้ำสามารถใช้ผลลัพธ์ดังกล่าวเป็นสัญญาณให้หยุดการยืนยันอัตโนมัติและตรวจสอบเพิ่มเติมได้

วิธีตรวจสลิปซ้ำด้วย Thunder API
Thunder Solution มีบริการ Slip Verification API สำหรับเชื่อมต่อระบบตรวจสอบสลิปกับเว็บไซต์ แอปพลิเคชัน และซอฟต์แวร์ของธุรกิจ โดยเอกสาร API ระบุวิธีส่งข้อมูลได้หลายรูปแบบ เช่น QR Payload รูปภาพ Base64 และ URL ของรูปภาพ
1. เปิดใช้การตรวจจับสลิปซ้ำ
สำหรับ API v1 สามารถส่งพารามิเตอร์ checkDuplicate: true เพื่อเปิดใช้การตรวจสอบสลิปซ้ำได้ ส่วน API v2 มีตัวเลือกนี้ใน endpoint ตรวจสอบสลิปธนาคารเช่นกัน
ตัวอย่าง Request สำหรับ API v1:
curl -X POST https://api.thunder.in.th/v1/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payload": "YOUR_QR_PAYLOAD",
"checkDuplicate": true
}'
ตัวอย่างนี้ใช้แสดงแนวทางการเรียก API เท่านั้น ต้องแทนที่ YOUR_API_KEY และ YOUR_QR_PAYLOAD ด้วยข้อมูลจริงตามรูปแบบที่ API รองรับ และควรตรวจสอบเอกสารของเวอร์ชันที่ใช้งานก่อนนำไปพัฒนา

2. อ่านผลลัพธ์ isDuplicate
หลังส่งข้อมูลให้ API ตรวจสอบ ให้นำผลลัพธ์ที่ได้รับมาประกอบกับเงื่อนไขของระบบ เช่น
- ถ้า isDuplicate เป็น true ให้ตรวจสอบประวัติธุรกรรมเดิมก่อน ไม่ควรยืนยันออเดอร์ใหม่โดยอัตโนมัติ
- ถ้า isDuplicate เป็น false ให้ตรวจสอบต่อว่ายอดเงินและบัญชีผู้รับตรงกับออเดอร์หรือไม่
- ถ้าการตรวจสอบไม่สำเร็จ ให้จัดการตามสถานะหรือ Error Code ที่ API ส่งกลับ ไม่ควรตีความว่าเป็นการชำระเงินสำเร็จ
ทั้งนี้ ควรยึดชื่อฟิลด์และรูปแบบ Response ตาม API เวอร์ชันที่ใช้งานจริง เพราะรายละเอียดของแต่ละเวอร์ชันอาจแตกต่างกัน
3. ตรวจสอบประวัติธุรกรรมก่อนยืนยันออเดอร์
การป้องกันสลิปซ้ำไม่ได้จบแค่การอ่านค่า isDuplicate เท่านั้น ระบบควรบันทึกข้อมูลธุรกรรมที่ผ่านการตรวจสอบแล้ว เช่น เลขอ้างอิงธุรกรรม (transRef) ยอดเงิน วันเวลา และรหัสออเดอร์ที่เกี่ยวข้อง เพื่อใช้ตรวจสอบย้อนหลังและป้องกันการนำธุรกรรมเดียวไปผูกกับหลายคำสั่งซื้อ ควรออกแบบให้การตรวจสอบและบันทึกผลมีความปลอดภัยต่อกรณีที่มีการส่งคำขอพร้อมกันหลายครั้งด้วย เพื่อไม่ให้สองออเดอร์ได้รับการยืนยันจากรายการชำระเงินเดียวกัน
4 วิธีลดความเสี่ยงจากการใช้สลิปเดิม
- เปิดใช้ระบบตรวจสลิปซ้ำ เลือกใช้ API ที่รองรับการตรวจจับสลิปซ้ำ และตรวจสอบว่ามีการเปิดใช้งานพารามิเตอร์ที่เกี่ยวข้องแล้วจริง
- ตรวจสอบยอดเงินให้ตรงกับออเดอร์ เปรียบเทียบยอดเงินจากผลตรวจสอบกับยอดที่ระบบคาดหวัง เช่น ใช้ amountInSlip เทียบกับ amountInOrder หรือใช้ฟังก์ชันตรวจสอบยอดเงินของ API ตามเวอร์ชันที่ใช้งาน
- ตรวจสอบบัญชีผู้รับเงิน หากระบบรองรับ Account Matching ควรตรวจสอบว่าบัญชีผู้รับตรงกับบัญชีที่ธุรกิจลงทะเบียนไว้ด้วย เพราะการพบสลิปที่ไม่ซ้ำเพียงอย่างเดียวไม่ได้ยืนยันว่าผู้รับเงินถูกต้องตามออเดอร์
- เก็บประวัติและจัดการข้อผิดพลาดอย่างเหมาะสม บันทึกผลตรวจสอบและความสัมพันธ์ระหว่างธุรกรรมกับออเดอร์ พร้อมกำหนดขั้นตอนตรวจสอบโดยเจ้าหน้าที่เมื่อพบข้อมูลซ้ำ ยอดเงินไม่ตรง หรือ API ตอบกลับด้วยข้อผิดพลาด
Thunder API ช่วยธุรกิจตรวจสลิปซ้ำได้อย่างไร
Thunder Solution ให้บริการ Slip Verification API ที่ออกแบบมาเพื่อช่วยธุรกิจตรวจสอบสลิปโอนเงินแบบอัตโนมัติและเชื่อมต่อกับระบบที่มีอยู่ได้ โดยเอกสารสำหรับนักพัฒนาระบุการตรวจจับสลิปซ้ำและความสามารถในการตรวจสอบข้อมูลบัญชีผู้รับและยอดเงินตามฟังก์ชันของ API ที่เลือกใช้ ธุรกิจสามารถเริ่มจากการทดลองเชื่อมต่อ API แล้วทดสอบกรณีสลิปใหม่ สลิปซ้ำ ยอดเงินไม่ตรง และบัญชีผู้รับไม่ตรง ก่อนเปิดใช้งานจริง เพื่อให้แน่ใจว่าระบบจัดการแต่ละสถานการณ์ได้ตามที่ต้องการ
สรุป
การตรวจสลิปซ้ำด้วย isDuplicate เป็นหนึ่งในกลไกสำคัญที่ช่วยลดความเสี่ยงจากการใช้หลักฐานการโอนเงินเดิมเพื่อยืนยันหลายออเดอร์ แต่ไม่ควรใช้เป็นเงื่อนไขเดียวในการอนุมัติชำระเงิน ธุรกิจควรตรวจสอบยอดเงิน บัญชีผู้รับ และประวัติธุรกรรมควบคู่กัน พร้อมออกแบบการบันทึกข้อมูลให้รองรับคำขอที่เกิดขึ้นพร้อมกัน หากต้องการลดภาระการตรวจสลิปด้วยคน สามารถศึกษาและทดลองใช้ Thunder API เพื่อประเมินว่าฟังก์ชันตรวจสอบสลิปเหมาะกับระบบรับชำระเงินของธุรกิจหรือไม่
คำถามที่พบบ่อย (FAQ)
Q1: isDuplicate คืออะไร?
isDuplicate คือฟิลด์ในผลลัพธ์ API ที่บอกว่าสลิปถูกตรวจสอบซ้ำหรือไม่ โดย true หมายถึงตรวจพบรายการซ้ำ และ false หมายถึงไม่พบรายการซ้ำตามเงื่อนไขของระบบ
Q2: isDuplicate: false หมายความว่าได้รับเงินแล้วหรือไม่?
ไม่จำเป็น ค่านี้ไม่ได้ยืนยันว่าการชำระเงินถูกต้องครบถ้วน ควรตรวจสอบผลการยืนยันธุรกรรม ยอดเงิน บัญชีผู้รับ และข้อมูลออเดอร์ร่วมด้วย
Q3: จะเปิดใช้การตรวจสลิปซ้ำใน Thunder API ได้อย่างไร?
ใน API v1 สามารถส่ง checkDuplicate: true ไปกับคำขอตรวจสอบสลิป ส่วน API v2 มีตัวเลือกสำหรับตรวจจับสลิปซ้ำเช่นกัน ควรอ้างอิงเอกสารของเวอร์ชันที่ใช้งานจริง
Q4: หากพบสลิปซ้ำ ควรให้ระบบทำอย่างไร?
ควรหยุดการยืนยันออเดอร์ใหม่โดยอัตโนมัติ ตรวจสอบประวัติธุรกรรมที่เกี่ยวข้อง และแจ้งผู้ดูแลหากจำเป็น ไม่ควรปฏิเสธทุกกรณีโดยไม่ตรวจสอบบริบท เพราะอาจมีการส่งคำขอตรวจสอบซ้ำจากระบบเอง
ลดความเสี่ยงจากสลิปซ้ำ ด้วยระบบตรวจสอบอัตโนมัติ
ให้ Thunder API ช่วยตรวจสอบสลิปและส่งผลกลับไปยังระบบของคุณ ลดภาระการตรวจสอบด้วยคน พร้อมนำผลตรวจไปใช้ร่วมกับเงื่อนไขยืนยันออเดอร์ได้อย่างเป็นระบบ เริ่มต้นทดลองแพ็กเกจ TEST ฟรี 100 ครั้ง นาน 15 วัน หรือเลือกแพ็กเกจ MINI ราคา 159 บาท/เดือน สำหรับ 400 ครั้ง ตามข้อมูลแพ็กเกจที่ตรวจสอบได้

