Payment Gateway กับ API เช็คสลิป ต่างกันยังไง?

ทำระบบรับเงินในเว็บหรือแอปของตัวเอง มีสองทางที่คนไทยใช้กันมาก ทางแรกคือต่อ payment gateway ให้ลูกค้าจ่ายผ่านหน้าชำระเงินของผู้ให้บริการ ทางที่สองคือให้ลูกค้าโอนเข้าบัญชีของร้านตรงๆ แล้วระบบของร้านเช็คสลิปกับธนาคารผ่าน API บทความนี้เทียบสองทางนี้จากมุมคนเขียนโค้ด
สองแบบนี้ทำงานต่างกันยังไง?
Payment gateway: ลูกค้าจ่ายผ่านหน้าชำระเงินของผู้ให้บริการ (บัตร พร้อมเพย์ หรือช่องทางอื่นที่ผู้ให้บริการเปิดให้) ผู้ให้บริการรับเงินไว้ก่อน แจ้งสถานะการชำระกลับมาที่ระบบของร้าน แล้วโอนเงินให้ร้านตามรอบที่ตกลงกัน
รับโอนเข้าบัญชี + API เช็คสลิป: ลูกค้าโอนจากแอปธนาคารเข้าบัญชีของร้านเอง แล้วส่งสลิปมาในหน้าชำระเงิน ระบบของร้านส่ง QR บนสลิปหรือรูปสลิปไปที่ Checkslip API ซึ่งดึงข้อมูลรายการจากธนาคารต้นทาง ณ เวลาที่ถาม แล้วตอบกลับว่าพบรายการหรือไม่พบรายการ พร้อมยอดเงิน วันเวลา และบัญชีผู้รับ 4 หลักท้าย ระบบของร้านเอาข้อมูลนี้ไปเทียบกับออเดอร์เอง

เทียบทีละเรื่อง
เรื่อง | Payment gateway | รับโอนเข้าบัญชี + API เช็คสลิป |
|---|---|---|
เงินไปไหน | ผ่านผู้ให้บริการก่อน แล้วโอนให้ร้านตามรอบ | เข้าบัญชีร้านทันทีที่ลูกค้าโอน |
ช่องทางจ่าย | บัตรและช่องทางอื่นตามที่ผู้ให้บริการเปิด | โอนจากแอปธนาคารเท่านั้น ไม่รับบัตร |
ค่าใช้จ่าย | ตามสัญญาของผู้ให้บริการ มักคิดเป็นเปอร์เซ็นต์ของยอด | Checkslip หัก 1 เครดิตต่อสลิปที่พบรายการ ไม่ขึ้นกับยอดเงิน |
ลูกค้าต้องทำอะไร | กรอกข้อมูลหรือสแกนในหน้าชำระเงิน | โอนเงิน แล้วอัปโหลดสลิป |
ระบบร้านได้อะไรกลับมา | สถานะการชำระจากผู้ให้บริการ | ข้อมูลรายการจากธนาคาร ณ เวลาที่ถาม ร้านเทียบยอดและบัญชีผู้รับเอง |
งานของโปรแกรมเมอร์ | ต่อหน้าชำระเงิน รับ webhook จากผู้ให้บริการ | รับรูปสลิป เรียก API เทียบกับออเดอร์ กันสลิปซ้ำ |
ค่าใช้จ่ายคิดต่างกันยังไง?
ค่าธรรมเนียมของ payment gateway แต่ละเจ้าไม่เท่ากัน และมักคิดตามยอดเงินที่รับ ออเดอร์ยิ่งยอดสูง ค่าธรรมเนียมยิ่งสูงตาม ให้ดูจากสัญญาของผู้ให้บริการที่จะใช้
Checkslip คิดต่อสลิป ไม่ใช่ต่อยอดเงิน หัก 1 เครดิตเฉพาะเมื่อธนาคารพบรายการ ผลอื่น เช่น ไม่พบรายการ สลิปซ้ำ หรือรอธนาคาร ไม่หัก สลิป 100 บาทกับสลิป 50,000 บาทใช้เครดิตเท่ากัน ดูราคาเครดิตได้ที่หน้าแรกของ checkslip.com
ระบบของร้านต้องเช็คอะไรเพิ่มเมื่อรับโอนเอง?
API บอกว่าธนาคารพบรายการนี้หรือไม่ การตัดสินว่าออเดอร์ไหนจ่ายแล้วเป็นงานของระบบร้าน อย่างน้อยต้องเช็ค 3 เรื่องนี้
1. ยอดเงิน ตรงกับยอดของออเดอร์
2. บัญชีผู้รับ 4 หลักท้ายตรงกับบัญชีของร้าน กันลูกค้าส่งสลิปที่โอนเข้าบัญชีอื่น
3. สลิปซ้ำ สลิปเดิมใช้ปิดได้แค่ออเดอร์เดียว Checkslip ตอบผล ซ้ำ เมื่อสลิปนี้เคยถูกเช็คในบัญชีของร้านแล้ว
ถ้าธนาคารยังไม่แสดงรายการ ผลจะเป็น รอธนาคาร ระบบตรวจซ้ำให้แล้วส่งผลสุดท้ายทาง webhook ส่วนเน็ตหลุดกลางทางแล้วส่งคำขอเดิมซ้ำ ให้ใช้ Idempotency-Key เดิม จะได้คำตอบเดิมและไม่หักเครดิตซ้ำ ความหมายของผลทุกแบบอยู่ที่ ผลตรวจและการหักเครดิต
แบบไหนเหมาะกับงานไหน?
เลือก payment gateway เมื่อ
- ต้องรับบัตรเครดิตหรือเดบิต
- ลูกค้าจ่ายแล้วต้องไม่ต้องทำอะไรต่อ ไม่อยากให้ลูกค้าอัปโหลดสลิป
- ขายให้ลูกค้าต่างประเทศ
เลือกรับโอนเข้าบัญชี + API เช็คสลิป เมื่อ
- ลูกค้าส่วนใหญ่โอนจากแอปธนาคารอยู่แล้ว เช่น ร้านใน LINE OA เว็บเติมเงิน หรือระบบสมาชิก
- อยากให้เงินเข้าบัญชีร้านเลย ไม่รอรอบโอน
- ยอดต่อออเดอร์สูง ค่าธรรมเนียมแบบเปอร์เซ็นต์กินกำไรมาก
- ตอนนี้มีคนนั่งเปิดสลิปเทียบกับแอปธนาคารทีละใบ แล้วอยากให้ระบบทำแทน
หลายร้านใช้ทั้งสองแบบ ให้ลูกค้าเลือกจ่ายบัตรผ่าน gateway หรือโอนเข้าบัญชีแล้วแนบสลิป
เริ่มต่อ API เช็คสลิปยังไง?
ส่งคำขอเดียวไปที่ POST https://api.checkslip.com/api/slips/lookup พร้อม API key ใส่ข้อความ QR ที่สแกนจากสลิป หรือแนบรูปสลิป (JPEG, PNG, WebP) แล้วอ่านผลที่ตอบกลับ
- อ่านภาพรวมการทำงานที่ API เช็คสลิปคืออะไร ทำงานยังไง
- ตัวอย่างโค้ด PHP ที่ เช็คสลิปด้วย PHP
- ทำบอทใน LINE OA ที่ ทำบอทเช็คสลิปใน LINE OA
- เอกสาร API ฉบับเต็มที่ เอกสาร API
คำถามที่พบบ่อย
ใช้ API เช็คสลิปแทน payment gateway ได้ทั้งหมดไหม?
ไม่ได้ทั้งหมด API เช็คสลิปใช้กับการโอนจากแอปธนาคารเท่านั้น ไม่รับบัตร และไม่ได้รับหรือถือเงินแทนร้าน ถ้าต้องรับบัตร ยังต้องใช้ payment gateway
Checkslip รับเงินแทนร้านไหม?
ไม่ เงินที่ลูกค้าโอนเข้าบัญชีของร้านตรงๆ Checkslip ดึงข้อมูลรายการจากธนาคารมาให้ระบบของร้านเทียบเท่านั้น
ผลพบรายการ แปลว่าออเดอร์นี้จ่ายแล้วใช่ไหม?
แปลว่าธนาคารพบรายการตามข้อมูลบนสลิป ณ เวลาที่ถาม ระบบของร้านต้องเทียบยอดเงินและบัญชีผู้รับกับออเดอร์ และกันสลิปซ้ำก่อนปิดออเดอร์