POST /v1/slips/verify
ตรวจสลิปโอนเงิน
จาก server ของร้านคุณ
ส่งรูปสลิปมาพร้อมเลขออเดอร์ ระบบจะเช็กรายการกับช่องทางของสถาบันการเงิน ดูว่ายอดและบัญชีผู้รับตรงกับร้าน แล้วล็อกเลขอ้างอิงไว้ สลิปใบเดิมจึงเอาไปใช้กับออเดอร์อื่นไม่ได้
ระบบตรวจอะไรบ้าง
ทุกคำขอผ่านการตรวจตามลำดับนี้ ข้อไหนไม่ผ่าน ระบบจะหยุดตรงนั้นแล้วตอบรหัสของข้อนั้นกลับไป
- 01
อ่าน QR บนสลิป
หารหัสธนาคารต้นทางและเลขอ้างอิงจาก QR ถ้ารูปเบลอหรือไม่มี QR จะได้ HTTP 422
HTTP 422 - 02
สลิปยังไม่เคยถูกใช้
เลขอ้างอิงที่ล็อกไปแล้ว ไม่ว่าจากออเดอร์ไหน จะถูกปฏิเสธตั้งแต่ขั้นนี้
DUPLICATE_REF - 03
แพ็กเกจยังใช้ได้
บัญชียังไม่หมดอายุและยังมีโควตาสลิปเหลือ ถ้าหมดแล้วระบบหยุดก่อนไปถามช่องทางยืนยัน
HTTP 402 - 04
รายการมีอยู่จริง
ยืนยันเลขอ้างอิงและยอดกับช่องทางตรวจสอบของสถาบันการเงิน
SLIP_NOT_FOUND - 05
ยอดเงินตรง
เทียบกับ amount ที่ส่งมา ถ้าไม่ได้ส่ง ระบบอ่านยอดจากรูปแล้วรับเฉพาะยอดที่ยืนยันได้
AMOUNT_MISMATCH - 06
ผู้รับเป็นบัญชีของร้าน
ชื่อ เลขบัญชี และธนาคารผู้รับต้องตรงกับที่ร้านตั้งค่าไว้
RECEIVER_MISMATCH - 07
เวลาโอนอยู่ในช่วงที่รับ
สลิปที่เก่ากว่าเวลาที่ร้านกำหนด (ค่าเริ่มต้น 15 นาที สูงสุด 60 นาที) จะไม่ผ่าน
SLIP_EXPIRED - 08
ล็อกเลขอ้างอิง
ผ่านทุกข้อแล้วระบบล็อกสลิปใบนี้ทันที และนับ 1 ในโควตาของแพ็กเกจ
VERIFIED
เชื่อมกับระบบของคุณ
ใช้ endpoint เดียวกับทุกออเดอร์ ผลการตรวจทุกแบบตอบเป็น HTTP 200 ให้ตัดสินจากฟิลด์ success และ code
- 1
สมัครสมาชิก สร้างร้าน แล้วสร้าง API Key ใน Dashboard เก็บ Key ไว้ฝั่ง server เช่นใน .env อย่าใส่ไว้ในโค้ดหน้าเว็บหรือแอป
- 2
ตั้งชื่อ เลขบัญชี และธนาคารของบัญชีรับเงิน สลิปที่โอนเข้าบัญชีอื่นจะถูกปฏิเสธ
- 3
ส่งรูปสลิปพร้อมเลขออเดอร์ แล้วส่งของเมื่อได้ code เป็น VERIFIED
Shell
curl -X POST "https://slip.nxy.wtf/v1/slips/verify" \
-H "X-API-Key: $SLIP_API_KEY" \
-F "image=@slip.jpg" \
-F "amount=499.00" \
-F "customer_id=order-2026-0001"HTTP 200 · VERIFIED
{
"success": true,
"code": "VERIFIED",
"code_id": 0,
"message": "Slip verified successfully",
"data": {
"ref_id": "ABC123",
"bank_code": "004",
"bank_name": "KBANK",
"amount": 499.0,
"receiver_name": "บริษัท ตัวอย่าง จำกัด",
"txn_at": "2026-10-09T10:30:00+07:00",
"consumed": true,
"idempotent_replay": false
}
}รายละเอียดที่ควรรู้ก่อนเปิดใช้
- สลิปหนึ่งใบล็อกได้ครั้งเดียว
- เลขอ้างอิงของสลิปถูกล็อกแบบ unique ทั้งระบบ ถ้าสองคำขอส่งสลิปใบเดียวกันเข้ามาพร้อมกัน จะผ่านแค่คำขอเดียว
- ส่งสลิปเดิมซ้ำได้ถ้าเน็ตหลุด
- ส่งสลิปใบเดิมพร้อมเลขออเดอร์เดิมอีกครั้ง ถ้ารอบแรกผ่านไปแล้ว ระบบจะคืนผลเดิมกลับมาและไม่นับโควตาซ้ำ
- นับโควตาเฉพาะสลิปที่ผ่าน
- สลิปปลอม สลิปซ้ำ ยอดไม่ตรง หรือโอนผิดบัญชีไม่ถูกนับ ร้านทุกร้านในบัญชีเดียวกันใช้โควตาของแพ็กเกจร่วมกัน
- ตั้งบัญชีรับเงินจากรายการธนาคาร
- เลือกธนาคาร แล้วกรอกชื่อ นามสกุล และเลขบัญชี ระบบตัดคำนำหน้าอย่าง นาย หรือ นางสาว ออกก่อนเทียบชื่อ
- ไม่ส่งยอดเงินมาก็ได้
- ระบบอ่านยอดจากรูปแล้วรับเฉพาะยอดที่ยืนยันกลับมาได้ ใช้กับการเติมเงินแบบไม่กำหนดยอด ถ้าออเดอร์มีราคาแน่นอน ควรส่ง amount มาด้วย
- กำหนดอายุสลิปเองได้
- แต่ละร้านตั้งได้ว่าจะรับสลิปที่โอนมาแล้วไม่เกินกี่นาที สูงสุด 60 นาที ค่าเริ่มต้นคือ 15 นาที
- ไม่เก็บรูปสลิป
- ระบบเก็บแค่เลขอ้างอิงกับรายละเอียดของรายการที่ล็อกแล้ว และลบทิ้งอัตโนมัติเมื่อครบระยะเวลาเก็บข้อมูลที่ตั้งไว้
- Key เก็บเป็นค่า hash
- ตัว API Key แสดงให้เห็นครั้งเดียวตอนสร้าง ถ้าทำหายต้องสร้างใหม่ ส่วนการเรียกถี่เกินโควตาจะได้ HTTP 429
ธนาคารที่รองรับ
ระบบรู้จักรหัสธนาคาร 32 รายการจาก QR บนสลิป ผลการตรวจยังขึ้นกับว่าช่องทางยืนยันของสถาบันการเงินพร้อมให้บริการในตอนนั้นหรือไม่
กสิกรไทย
ไทยพาณิชย์
กรุงไทย
กรุงเทพ
ทีทีบี
กรุงศรีอยุธยา
ออมสิน
ธ.ก.ส.
อาคารสงเคราะห์
ยูโอบี
ซีไอเอ็มบี ไทย
เกียรตินาคินภัทร
ทิสโก้
แลนด์ แอนด์ เฮ้าส์
ไทยเครดิต
ไอซีบีซี (ไทย)
อิสลามแห่งประเทศไทย
สแตนดาร์ดชาร์เตอร์ด
- และอื่น ๆ
คำถามที่พบบ่อย
ตรวจหนึ่งสลิปใช้เวลานานแค่ไหน?
ขึ้นกับว่าช่องทางยืนยันของสถาบันการเงินตอบเร็วแค่ไหนในตอนนั้น ถ้ารอเกิน 60 วินาที ระบบจะตอบ UPSTREAM_UNAVAILABLE ฝั่งคุณควรตั้ง timeout ไว้ราว 90 วินาที
สลิปแบบไหนถูกนับโควตา?
นับเฉพาะสลิปที่ตรวจผ่านและล็อกแล้ว (VERIFIED) สลิปปลอม สลิปซ้ำ ยอดไม่ตรง หรือโอนผิดบัญชีไม่ถูกนับ ส่งสลิปใบเดิมซ้ำด้วยเลขออเดอร์เดิมก็ไม่นับซ้ำ
แพ็กเกจเดียวใช้กับหลายร้านได้ไหม?
ได้ แต่ละร้านมี API Key และบัญชีรับเงินของตัวเอง แต่ใช้โควตาสลิปของแพ็กเกจร่วมกัน จำนวนร้านสูงสุดขึ้นกับแพ็กเกจที่ซื้อ
ลูกค้าส่งสลิปใบเดียวกันมาสองออเดอร์จะเป็นอย่างไร?
ออเดอร์ที่ล็อกได้ก่อนจะได้ VERIFIED ส่วนออเดอร์ที่สองจะได้ DUPLICATE_REF
เรียก API จากหน้าเว็บหรือแอปมือถือโดยตรงได้ไหม?
ไม่ควร เพราะใครก็เปิดดู API Key จากโค้ดฝั่งผู้ใช้ได้ ให้หน้าเว็บส่งรูปไปที่ server ของคุณก่อน แล้วให้ server เป็นคนเรียก API
รองรับสลิปจากแอป MAKE by KBank ไหม?
รองรับ สลิปจาก MAKE ใช้รหัสธนาคารเดียวกับกสิกรไทย ถ้าสลิปไม่มีเลขบัญชีผู้รับเต็ม ระบบจะเทียบชื่อและธนาคารผู้รับแบบตรงตัวแทน
เริ่มจากคู่มือ API
มีตัวอย่างโค้ดสี่ภาษาและความหมายของรหัสผลลัพธ์ทุกตัว