การจับคู่การชำระเงินและยอดเงินไม่ตรงกัน
ส่วนนี้อธิบายกฎที่บริการใช้จับคู่ธุรกรรม on-chain ขาเข้ากับใบแจ้งหนี้ที่ออกไว้ สิ่งที่เกิดขึ้นเมื่อจำนวนเงินต่างกัน และสิ่งที่ร้านค้าทำได้ในกรณีนั้น
สถานะของใบแจ้งหนี้ กำหนดเวลา และการเปลี่ยนสถานะอธิบายไว้ในวงจรชีวิตของใบแจ้งหนี้
กฎการจับคู่จำนวนเงิน
ตอนสร้างใบแจ้งหนี้ บริการแปลงจำนวนเงินเฟียตเป็นคริปโตและล็อกจำนวนที่ได้ไว้สำหรับใบแจ้งหนี้ จำนวนเหล่านี้กลายเป็นตัวระบุของการชำระเงิน: ลูกค้าเห็นบนฟอร์มชำระเงิน และบริการค้นหาธุรกรรมจำนวนตรงตามนั้นแบบ on-chain
จำนวนเงินที่ชำระต้องตรงกับจำนวนของใบแจ้งหนี้ทุกประการ ไม่มีค่าเผื่อใด ๆ จำนวนที่ต้องชำระถูกกำหนดด้วยทศนิยม 2 ตำแหน่งสำหรับ Stablecoin อย่าง USDT และ USDC และ 8 ตำแหน่งสำหรับสกุลเงินคริปโตอื่น แล้วนำการชำระเงินขาเข้ามาเทียบอย่างแม่นยำ ความคลาดเคลื่อนใด ๆ — ชำระไม่ครบหรือชำระเกิน ไม่ว่าจะน้อยเพียงใด — หมายความว่าจะไม่มีการจับคู่อัตโนมัติ
ตัวอย่าง ใบแจ้งหนี้ 100.00 USD ถูกออกด้วยจำนวนที่ล็อกไว้ 100.12 USDT
| จำนวนเงินชำระขาเข้า | ผลลัพธ์ |
|---|---|
| 100.12 USDT | ใบแจ้งหนี้เปลี่ยนเป็นชำระแล้ว (Paid) โดยอัตโนมัติ |
| 100.11 USDT | ไม่มีการจับคู่อัตโนมัติ |
| 100.50 USDT | ไม่มีการจับคู่อัตโนมัติ |
หากมีการออกใบแจ้งหนี้หลายใบด้วยจำนวนเงินเฟียตเท่ากันไปยังที่อยู่เดียวกันในเวลาเดียวกัน บริการจะกำหนดจำนวนคริปโตให้แต่ละใบต่างกันเล็กน้อย ความไม่ซ้ำถูกตรวจสอบทั่วทั้งใบแจ้งหนี้ที่ยังไม่ชำระของคุณบนกระเป๋าเงินนั้น ดังนั้นที่อยู่เดียวจึงใช้ในหลายโปรเจกต์ของคุณได้อย่างปลอดภัย — จำนวนเงินจะไม่ชนกัน
สาเหตุที่พบบ่อยที่สุดของยอดไม่ตรงคือลูกค้าปัดเศษจำนวนเงินด้วยตนเอง หรือค่าธรรมเนียมเครือข่ายถูกหักตอนถอนจากแพลตฟอร์มซื้อขาย เตือนลูกค้าให้โอนตรงตามจำนวนที่แสดงบนฟอร์มชำระเงิน
สิ่งที่เกิดขึ้นเมื่อยอดเงินไม่ตรงกัน
บริการบันทึกว่าเงินมาถึงแล้ว แต่ไม่ดำเนินการใด ๆ กับใบแจ้งหนี้:
- ใบแจ้งหนี้ไม่เปลี่ยนสถานะ ยังคงไม่ถูกชำระจนถึงกำหนดเวลาชำระเงิน ลูกค้ายังปิดใบแจ้งหนี้ด้วยจำนวนที่ถูกต้องได้ตราบที่หน้าต่างค้นหายังเปิดอยู่
- ไม่มีการส่ง Webhook การแจ้งเตือนไปยัง Webhook URL จะออกเฉพาะตอนที่ใบแจ้งหนี้เปลี่ยนเป็นชำระแล้วเท่านั้น
- ไม่มีการติดตามการชำระบางส่วน บริการไม่รับรู้การชำระไม่ครบ และไม่เก็บยอดคงค้างของใบแจ้งหนี้
- การชำระเงินไม่ถูกนำมารวมกัน หากลูกค้าชำระไม่ครบแล้วโอนครั้งที่สองเป็นส่วนต่างที่ขาด การชำระทั้งสองจะไม่ถูกบวกรวม ทั้งคู่ยังคงเป็นการชำระเงินแยกกันที่ไม่ได้จับคู่
- การชำระเกินไม่ถูกคืนอัตโนมัติ เงินเข้ากระเป๋าเงินของคุณโดยตรง การคืนส่วนต่างให้ลูกค้าต้องจัดการนอกบริการ
ในบริการไม่มีสถานะกลางอย่างชำระบางส่วนหรือชำระเกิน
ร้านค้ารู้ถึงปัญหาได้อย่างไร
หากเปิดการแจ้งเตือนในการตั้งค่าโปรเจกต์ ร้านค้าจะได้รับอีเมลและข้อความจากบอท Telegram สำหรับการชำระเงินขาเข้าทุกครั้ง — ไม่ว่าจะจับคู่กับใบแจ้งหนี้ได้หรือไม่
จึงได้กฎวินิจฉัยง่าย ๆ: หากการแจ้งเตือนการชำระเงินขาเข้ามาถึงแต่ไม่มีการแจ้งเตือนใบแจ้งหนี้ชำระแล้วตามมา แปลว่าการชำระเงินไม่ถูกจับคู่เพราะยอดเงินไม่ตรงกัน และต้องจัดการด้วยตนเอง
กฎนี้ใช้ได้เฉพาะภายในหน้าต่างค้นหา บริการเฝ้าดูกระเป๋าเงินเฉพาะช่วงที่ยังมีใบแจ้งหนี้อย่างน้อยหนึ่งใบที่การค้นหายังทำงานอยู่ หากลูกค้าชำระตอนที่ไม่มีใบแจ้งหนี้แบบนั้นเลย การชำระเงินจะไม่เข้าสู่ระบบเลย — ไม่มีการแจ้งเตือน และไม่มีทางจับคู่ด้วยตนเอง
คุณยังค้นหาการชำระเงินที่ไม่ได้จับคู่ผ่านโปรแกรมได้ด้วย เมธอด payments/list คืนการชำระเงินจากกระเป๋าเงินทั้งหมดของคุณ และการชำระเงินที่ไม่ได้จับคู่กับใบแจ้งหนี้จะไม่มีบล็อก invoice ในการตอบกลับ เหล่านี้คือตัวเลือกสำหรับการจับคู่ด้วยตนเอง: เทียบจำนวนเงินและเวลากับใบแจ้งหนี้ที่คาดไว้ แล้วเรียก invoices/bindPayment
การจับคู่การชำระเงินด้วยตนเอง
หากคุณแน่ใจว่าการชำระเงินใดตรงกับใบแจ้งหนี้ใด ให้จับคู่ด้วยตนเอง — ในแดชบอร์ดบนหน้าใบแจ้งหนี้หรือในรายการการชำระเงิน หรือผ่าน API ด้วยเมธอด invoices/bindPayment
เงื่อนไขการจับคู่
การจับคู่ทำได้เมื่อเงื่อนไขทั้งหมดเป็นจริงพร้อมกันเท่านั้น:
- ใบแจ้งหนี้อยู่ในสถานะยังไม่ชำระ (Unpaid) หรือหมดอายุ (Expired) ใบที่ยกเลิก (Canceled) และใบที่ชำระแล้วจับคู่ไม่ได้
- การชำระเงินยังไม่ถูกจับคู่กับใบแจ้งหนี้อื่น การชำระเงินหนึ่งรายการผูกได้กับใบแจ้งหนี้เดียวเท่านั้น
- การชำระเงินมาถึงกระเป๋าเงินที่เกี่ยวข้องกับใบแจ้งหนี้นี้
- การชำระเงินอยู่ภายในหน้าต่างการชำระที่ใช้ได้ — 24 ชั่วโมงก่อนและ 24 ชั่วโมงหลังการสร้างใบแจ้งหนี้
หน้าต่างนี้กว้างกว่าอายุของใบแจ้งหนี้ ซึ่งเปิดความเป็นไปได้สองทาง: จับคู่การชำระเงินกับใบแจ้งหนี้ที่หมดอายุแล้วก็ได้ และจับคู่ใบแจ้งหนี้กับการชำระเงินที่มาถึงก่อนใบแจ้งหนี้ถูกสร้างก็ได้ แบบหลังมีประโยชน์เมื่อลูกค้าส่งเงินมาเอง แล้วใบแจ้งหนี้ถูกออกหลังจากเงินมาถึง
สิ่งที่เกิดขึ้นหลังการจับคู่
- ใบแจ้งหนี้เปลี่ยนเป็นชำระแล้ว — เช่นเดียวกับการจับคู่อัตโนมัติ
- Webhook ถูกส่งเสมอ การแจ้งเตือนออกทุกครั้งที่มีการเปลี่ยนเป็นชำระแล้ว ไม่ว่าการจับคู่เกิดขึ้นด้วยวิธีใด
- จำนวนเงินของใบแจ้งหนี้ในสกุล USD ถูกคำนวณใหม่จากการชำระจริง ฟิลด์
amountFiatUSDถูกเขียนทับด้วยจำนวนที่ได้รับจริง ตามอัตราแลกเปลี่ยน ณ เวลาจับคู่ ส่วนจำนวนดั้งเดิมในamountFiatไม่เปลี่ยนแปลง - ค่าธรรมเนียมถูกคำนวณใหม่จากจำนวนจริง โดยคิดตามอัตราค่าธรรมเนียมของโปรเจกต์จากจำนวนที่คุณได้รับ