คู่มือการเชื่อมต่อนักพัฒนา (Developer Guide)

เชื่อมต่อระบบตรวจสอบสลิปธนาคารเข้ากับเว็บไซต์ แอป POS หรือระบบตะกร้าสินค้าของคุณได้ง่าย ๆ ภายในไม่กี่ขั้นตอน

1. การเปิดใช้งานตรวจสอบสลิปผ่าน LINE Bot

ผูกกลุ่มแชตไลน์ของคุณเข้ากับบอทหลักเพื่อตรวจสลิปให้คนในกลุ่มอัตโนมัติ โดยไม่ต้องเขียนโค้ดต่อ API

ขั้นตอนการเชื่อมต่อบอทไลน์สำเร็จรูปของระบบ

LINE QR Code @112zrlhl
เพิ่มเพื่อน LINE Bot "@112zrlhl" (ตรวจสลิปด่วน)

สแกน QR Code ด้านข้าง หรือคลิกปุ่มแอดไลน์ด้านล่าง เพื่อเพิ่มเพื่อนกับบอทตรวจสลิปอย่างเป็นทางการของระบบ

1เชิญบอทกลางเข้าร่วมกลุ่มแชต

หลังจากเพิ่มเพื่อนบอทกลาง "ตรวจสลิปด่วน" (@112zrlhl) แล้ว ให้เชิญบอทเข้าในกลุ่มแชตไลน์ของร้านค้าที่คุณต้องการใช้งานตรวจสลิป

2สร้างรหัสชั่วคราวแล้วส่งในกลุ่ม

เปิด Dashboard → LINE Bot กดสร้างรหัส แล้วคัดลอกคำสั่งส่งในกลุ่มที่ต้องการ รหัสมีอายุ 5 นาที:/link <รหัสชั่วคราวจากเว็บ>

3ตรวจสลิปอัตโนมัติ

นำรหัสยืนยัน 8 หลักที่บอทตอบในกลุ่มกลับมากรอกในเว็บ ตรวจชื่อร้านและกลุ่มแล้วกดยืนยัน เมื่อเชื่อมต่อสำเร็จจึงส่งรูปสลิปได้

หมายเหตุด้านความปลอดภัย

การเชื่อม LINE ไม่ต้องส่ง API Key ลงกลุ่ม ใช้รหัสชั่วคราวและยืนยันจากหน้าเว็บ กลุ่มที่เชื่อมไว้แล้วใช้งานต่อได้ตามเดิม ส่วน API Key ให้เก็บไว้เฉพาะในระบบของร้าน

2. การเรียกตรวจสอบรูปสลิป (Verify API)

ส่งไฟล์ภาพสลิปที่ลูกค้าอัปโหลดมาวิเคราะห์ผ่าน HTTP POST Request

HTTP Endpoint:

POST/v1/verify

ข้อมูลส่วนหัวที่จำเป็น (Headers):

  • X-Tenant-ID: รหัส Tenant ID ของคุณ
  • Authorization: Bearer your_api_key
  • Content-Type: multipart/form-data

ข้อมูลฟอร์มส่งข้อมูล (Form Data):

  • image: ไฟล์ภาพสลิป (JPEG, PNG, WEBP)

คำอธิบายเพิ่มเติม:

ระบบจะทำการวิเคราะห์สลิปแบบอะซิงโครนัส (Asynchronous) โดยจะส่งผลลัพธ์ ID ของสลิปกลับไปทันที จากนั้นลูกค้าสามารถดึงข้อมูลผลลัพธ์หรือรอรับ Webhook แจ้งเตือนเมื่อวิเคราะห์สแกนเสร็จสิ้นได้

curl -X POST https://api.checkslips.com/v1/verify \
  -H "X-Tenant-ID: your-tenant-id" \
  -H "Authorization: Bearer your-api-key" \
  -F "image=@/path/to/slip.jpg"

3. การตรวจสอบลายเซ็น Webhook (Signature Verification)

ตรวจสอบความน่าเชื่อถือของ Webhook Payload ว่าส่งมาจาก SlipVerify จริง ไม่ถูกปลอมแปลง

ความสำคัญความปลอดภัย:

เนื่องจาก Webhook นำผลตรวจสลิปไปอัปเดตสถานะออเดอร์หรือยอดชำระเงินของร้านค้า เพื่อป้องกันบุคคลภายนอกส่งข้อมูลเท็จ (Spoofing) เข้ามาหลอกระบบ คุณต้องตรวจสอบความถูกต้องของหัวข้อ X-Webhook-Signature

ขั้นตอนการตรวจสอบ:

  1. รับข้อมูลดิบ (Raw Request Body) แบบข้อความปกติ
  2. ใช้คีย์ความลับ Signing Secret ของ webhook ที่ได้ใน Dashboard
  3. เข้ารหัส HMAC-SHA256 ข้อมูลข้อความดิบด้วยคีย์นั้น
  4. เปรียบเทียบผลลัพธ์แฮช (Hex format) กับค่าใน Header X-Webhook-Signature แบบคงค่าเวลา (Time-safe comparison)
เมื่อยืนยันความถูกต้องผ่านแล้ว ระบบจึงค่อยอัปเดตยอดชำระเงิน ยืนยันคำสั่งซื้อ หรือปล่อยสินค้าได้อย่างปลอดภัย
const express = require('express');
const crypto = require('crypto');
const app = express();

// Use express.raw() to access the raw request body for signature verification
app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
  const signature = req.headers['x-webhook-signature'];
  const signingSecret = 'your-webhook-signing-secret';

  // Compute HMAC SHA256 signature
  const expectedSignature = crypto
    .createHmac('sha256', signingSecret)
    .update(req.body)
    .digest('hex');

  // Secure comparison
  const isValid = crypto.timingSafeEqual(
    Buffer.from(signature, 'hex'),
    Buffer.from(expectedSignature, 'hex')
  );

  if (!isValid) {
    return res.status(401).send('Invalid webhook signature');
  }

  // Parse payload and process event
  const payload = JSON.parse(req.body.toString());
  console.log('Event Received:', payload.event);
  
  res.status(200).send('OK');
});

ต้องการดูรายละเอียด API Reference ทั้งหมดใช่หรือไม่?

เข้าถึง Swagger UI เพื่อทดสอบส่ง Request บนระบบแบบเรียลไทม์ ตรวจสอบชนิดข้อมูลขารับและขาส่งทั้งหมดในที่เดียว

เปิดหน้าคู่มือ Swagger Ref
ติดต่อเรา / แอดบอทไลน์ @112zrlhl