กลับไปหน้าคู่มือ
การชำระเงิน

กระทบยอดการชำระเงิน

ภาพรวม

หน้า กระทบยอด /merchant/payments/reconciliation ช่วยตรวจสอบว่าเงินที่เก็บได้ตรงกับยอดคำสั่งซื้อหรือไม่ เหมาะสำหรับปิดบัญชีรายวัน/รายเดือน

ตัวชี้วัดหลัก

4 การ์ดสรุป

  • รับสุทธิ — ยอดรวมหลังหักคืนเงิน
  • คืนเงิน — ยอดคืนทั้งหมด
  • รอดำเนินการ — Payment ที่ status = pending
  • ล้มเหลว — Payment ที่ status = failed

สรุปตามสถานะ

แสดงจำนวน + ยอดรวมแยกตาม:

  • completed (สำเร็จ)
  • partially_refunded (คืนบางส่วน)
  • refunded (คืนเต็ม)
  • pending (รอดำเนินการ)
  • failed (ล้มเหลว)

สรุปตามช่องทาง

แยกตาม: เงินสด, โอน, QR, บัตร, เครดิต, Wallet

สรุปตาม Gateway

ถ้าใช้ gateway เช่น Omise / 2C2P จะแสดงแยกให้

การตรวจจับความไม่ตรงกัน

ระบบจะเทียบ:

ยอดสินค้าของ Order  vs  ยอดชำระสุทธิ (หักคืนเงินแล้ว)

ถ้าไม่ตรงกัน จะแสดงในตาราง "คำสั่งซื้อที่ยอดไม่ตรง" พร้อมส่วนต่าง

สาเหตุที่พบบ่อย

ส่วนต่างสาเหตุ
+ (ยังขาด)ลูกค้ายังชำระไม่ครบ
+ (ขาดมาก)ยังไม่ได้บันทึก payment
- (เกิน)คืนเงินผิดจำนวน
- (เกินเล็กน้อย)ปัดเศษ (tolerance 0.01)

การคืนเงิน

ไปที่ /merchant/payments → เลือกรายการ → คืนเงิน

คืนเต็มจำนวน vs คืนบางส่วน

  • เต็มจำนวน — คืนเท่ากับยอดชำระ
  • บางส่วน — ระบุจำนวนได้ (ห้ามเกินยอดที่เหลือ)

ระบบจะ:

  1. สร้าง PaymentRefund record
  2. อัพเดต Payment.refundedAmount
  3. เปลี่ยน status เป็น partially_refunded หรือ refunded
  4. Log event สำหรับ audit

Retry Payment

ถ้า Payment status = failed หรือ pending สามารถกด "ลองใหม่" ได้

ระบบจะ:

  • เพิ่ม retryCount
  • คำนวณ nextRetryAt ด้วย exponential backoff (1, 2, 5, 15, 30 นาที)
  • สูงสุด 5 ครั้ง ต่อรายการ

Export

กดปุ่ม Export CSV เพื่อดาวน์โหลดข้อมูลไปทำต่อใน Excel