ข้ามไปยังเนื้อหาหลัก

ทั่วไป

Response

โครงสร้างผลลัพธ์ รหัสทั้งหมด และเงื่อนไขการหักโทเคนของแต่ละรหัส

โครงสร้างผลลัพธ์

ทุก endpoint ตอบกลับเป็น JSON โครงสร้างเดียวกันเสมอ ประกอบด้วย code message และ data

โครงสร้างผลลัพธ์
{
  "code": "200200",
  "message": "Slip is valid",
  "data": { }
}

ผลลัพธ์ทางธุรกิจทุกกรณีเป็น HTTP 200

ไม่ว่าจะเป็นสลิปถูกต้อง สลิปปลอม สลิปซ้ำ หรือไม่พบสลิป ระบบจะตอบกลับ ด้วย HTTP 200 เสมอ ให้แยกผลจากฟิลด์ code เท่านั้น ส่วนความผิดพลาดด้านสิทธิ์และข้อมูลนำเข้าจึงจะใช้รหัส HTTP อื่นที่ไม่ใช่ 200

รหัสผลลัพธ์ทั้งหมด

รหัสผลลัพธ์ ข้อความ คำอธิบาย และการหักโทเคน
รหัสข้อความคำอธิบายหักโทเคน
200000Slip foundค้นเจอสลิปและดึงข้อมูลได้ ใช้กับกรณีที่ไม่ได้ส่ง checkCondition มาด้วยหักโทเคน
200001Get Info Successดึงข้อมูลสำเร็จ ใช้กับ endpoint ที่ไม่ได้ตรวจสลิป เช่น ข้อมูลบัญชี ประวัติ และการสร้าง PromptPay QRไม่หักโทเคน
200200Slip is validสลิปถูกต้องและผ่านครบทุกเงื่อนไขที่ส่งมาใน checkConditionหักโทเคน
200401Recipient Account Not Matchบัญชีผู้รับบนสลิปไม่ตรงกับรายการใดใน checkReceiver เลย ส่วนสลิปที่ส่งเข้ามาทางช่องทางแชท ระบบจะเทียบกับบัญชีธนาคารที่ร้านค้าลงทะเบียนไว้ตามสาขาของช่องทางนั้นหักโทเคน
200402Transfer Amount Not Matchยอดเงินบนสลิปไม่ตรงตามเงื่อนไข checkAmount ที่กำหนดหักโทเคน
200403Transfer Date Not Matchวันเวลาที่โอนไม่ตรงตามเงื่อนไข checkDate ที่กำหนดหักโทเคน
200404Slip not foundไม่พบสลิปนี้ในระบบธนาคาร มักเกิดจากภาพไม่ชัด QR อ่านไม่ออก หรือไม่ใช่สลิปจริงไม่หักโทเคน
200405Receiver Account Not Configuredร้านค้ายังไม่ได้ตั้งค่าบัญชีรับเงินที่ใช้ตรวจสลิป เกิดเฉพาะกับสลิปที่ส่งเข้ามาทางช่องทางแชท ไม่เกิดกับ REST APIไม่หักโทเคน
200500Slip is fraudตรวจพบว่าเป็นสลิปปลอมหรือถูกดัดแปลงหักโทเคน
200501Slip is Duplicatedสลิปนี้เคยถูกตรวจในร้านค้าเดียวกันมาแล้ว ตรวจพบเมื่อเปิด checkDuplicateหักโทเคน
200502Bank error, Please try againระบบธนาคารขัดข้องชั่วคราว ให้ลองเรียกใหม่อีกครั้งไม่หักโทเคน

จำนวนโทเคนที่หักต่อครั้งเป็นไปตามอัตราของร้านค้า ตรวจสอบได้จาก ข้อมูลบัญชีและโทเคน ที่ฟิลด์ rate.api

รหัสที่เกิดเฉพาะกับช่องทางแชท

สลิปที่ส่งเข้ามาทาง LINE หรือ Facebook ที่เชื่อมต่อไว้ จะถูกเทียบผู้รับเงินกับบัญชีธนาคารที่ร้านค้าลงทะเบียนไว้เสมอ ตามที่สาขาของช่องทางนั้นเลือกไว้ จึงได้รหัส 200401 เมื่อสลิปไม่ได้โอนเข้าบัญชีของร้าน และได้รหัส 200405 เมื่อยังไม่มีบัญชีให้เทียบเลย ส่วน REST API ไม่เปลี่ยนแปลง ยังตรวจตามเงื่อนไขใน checkCondition ที่ส่งมาเท่านั้น และจะไม่ได้รับรหัส 200405

รหัส HTTP ที่ไม่ใช่ 200

ใช้เฉพาะกรณีที่คำขอไปไม่ถึงขั้นตอนตรวจสลิป ได้แก่ การยืนยันตัวตน สิทธิ์ การเข้าถึง โควตา และความถูกต้องของข้อมูลนำเข้า กรณีเหล่านี้ไม่หักโทเคน

  • 400

    ข้อมูลที่ส่งมาไม่ถูกต้อง

    เนื้อหาคำขอไม่ครบหรือผิดรูปแบบ เช่น ไม่มี payload.qrCode ไม่มีไฟล์ file หรือส่ง accountType ที่ไม่มีในระบบ

  • 401

    ไม่ได้แนบ Authorization หรือ Secret ไม่ถูกต้อง

    ไม่มี header Authorization ค่า Secret ว่าง หรือคีย์ถูกเพิกถอนไปแล้ว

  • 402

    แพ็กเกจหมดอายุหรือโทเคนไม่พอ

    แพ็กเกจของร้านค้าหมดอายุ หรือโทเคนคงเหลือไม่พอสำหรับการตรวจครั้งนี้

  • 403

    IP ไม่ได้รับอนุญาต

    IP ของผู้เรียกไม่อยู่ใน IP Whitelist ของ API Key ที่ใช้

ตัวอย่างผลลัพธ์เมื่อยืนยันตัวตนไม่ผ่าน
{
  "code": "401000",
  "message": "Missing Authorization header",
  "data": null
}

ดูวิธีแนบ API Secret และตั้งค่า IP Whitelist ได้ที่หน้า Authentication